/[RomCheater]/trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs
ViewVC logotype

Diff of /trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 228 by william, Sat Jun 2 16:02:01 2012 UTC revision 399 by william, Wed Jun 20 13:24:49 2012 UTC
# Line 4  using System.Linq; Line 4  using System.Linq;
4  using System.Text;  using System.Text;
5  using System.Diagnostics;  using System.Diagnostics;
6  using RomCheater.PluginFramework.Core;  using RomCheater.PluginFramework.Core;
7    using RomCheater.PluginFramework.Events;
8    
9  namespace RomCheater.PluginFramework.Interfaces  namespace RomCheater.PluginFramework.Interfaces
10  {  {
11      #region IPluginBase        #region IPluginBase
12      public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }      public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }
13      #region IPluginBase SubMembers      #region IPluginBase SubMembers
14      public interface IToString { string ToString();    }      public interface IToString { string ToString();    }
15      public interface IPluginName { string Name { get; } }      public interface IPluginName { string Name { get; } }
16      public interface IPluginDescription { string Description { get; } }      public interface IPluginDescription { string Description { get; } }
17      public interface IPluginID { Guid ID { get; } }      public interface IPluginID { Guid ID { get; } }
18      public interface IPluginRefresh { void Reload();    }      public interface IPluginRefresh { void Reload(); void Reload(bool silent);   }
19      #endregion      #endregion
20      #endregion      #endregion
21      #region IConfigPlugin      #region IConfigPlugin
22      public interface IConfigPlugin : IPluginBase      public interface IConfigPlugin : IPluginBase, IAcceptsReadOnlyMemoryRange, ISearchInProgress, IAcceptsMemorySearch
23      {      {
24          List<ProcContainer> ValidProcessesForPlugin { get; }          List<ProcContainer> ValidProcessesForPlugin { get; }
25      }      }
# Line 37  namespace RomCheater.PluginFramework.Int Line 38  namespace RomCheater.PluginFramework.Int
38      public interface IPluginLoader      public interface IPluginLoader
39      {      {
40          void LoadPlugins();          void LoadPlugins();
41            void LoadPlugins(bool silent);
42          List<IConfigPlugin> LoadedConfigPlugins { get; }          List<IConfigPlugin> LoadedConfigPlugins { get; }
43          List<IInputPlugin> LoadedInputPlugins { get; }          List<IInputPlugin> LoadedInputPlugins { get; }
44          List<IWindowPlugin> LoadedWindowPlugins { get; }          List<IWindowPlugin> LoadedWindowPlugins { get; }
# Line 48  namespace RomCheater.PluginFramework.Int Line 50  namespace RomCheater.PluginFramework.Int
50          string ToString();          string ToString();
51      }      }
52      #endregion      #endregion
53  #region AcceptsPlugin      #region AcceptsPlugin
54      public interface IAcceptsPlugin<TPlugin>      public interface IAcceptsPlugin<TPlugin>
55          where TPlugin : IPluginBase          where TPlugin : IPluginBase
56      {      {
57          TPlugin AcceptedPlugin { get; set; }          TPlugin AcceptedPlugin { get; set; }
58      }      }
59  #endregion      public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
60      public interface IProcessConfig : IAcceptsPlugin<IConfigPlugin>      public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }
61        public interface IAcceptsProcess<TProcess>
62            where TProcess : Process
63      {      {
64          Process AcceptedProcess { get; set; }          TProcess AcceptedProcess { get; set; }
65      }      }
66        #endregion
67        public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
68        public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
69    
70        public class AcceptedProcessAndConfig<TProcess> : IAcceptsProcessAndConfig<TProcess> where TProcess : Process
71        {
72            public AcceptedProcessAndConfig() : this(null, default(TProcess)) { }
73            public AcceptedProcessAndConfig(IConfigPlugin config, TProcess process) { AcceptedPlugin = config; AcceptedProcess = process; }
74            #region IAcceptsProcessAndConfig<TProcess> members
75            #endregion
76    
77            #region IAcceptsPlugin<IConfigPlugin> Members
78            public IConfigPlugin AcceptedPlugin { get; set; }
79            #endregion
80    
81            #region IAcceptsProcess<TProcess> Members
82            public TProcess AcceptedProcess { get; set; }
83            #endregion
84        }
85        public class AcceptedProcessAndConfig : IAcceptsProcessAndConfig
86        {
87            public AcceptedProcessAndConfig() : this(null, null) { }
88            public AcceptedProcessAndConfig(IConfigPlugin config, Process process) { AcceptedPlugin = config; AcceptedProcess = process; }
89    
90            #region IAcceptsProcess<Process> Members
91            public Process AcceptedProcess { get; set; }
92            #endregion
93            #region IAcceptsPlugin<IConfigPlugin> Members
94            public IConfigPlugin AcceptedPlugin { get; set; }
95            #endregion
96        }
97    
98      public interface IAcceptsProcessPID      public interface IAcceptsProcessPID
99      {      {
100          int ProcessPID { get; set; }          int ProcessPID { get; set; }
101      }      }
102      public interface IAcceptsMemoryRange      public interface IAcceptsMemoryRange
103      {      {
104          uint MemoryStart { get; set; }          uint MemoryRangeStart { get; set; }
105          uint MemorySize { get; set; }          uint MemoryRangeSize { get; set; }
106        }
107        public interface IAcceptsReadOnlyMemoryRange
108        {
109            uint MemoryRangeStart { get; }
110            uint MemoryRangeSize { get; }
111      }      }
112      public interface IOutputsData<TData> { TData Data { get; } }      public interface IOutputsData<TData> { TData Data { get; } }
113      public interface ISearchInProgress { bool SearchInProgess { get; } }      public interface ISearchInProgress { bool SearchInProgess { get; } }

Legend:
Removed from v.228  
changed lines
  Added in v.399

  ViewVC Help
Powered by ViewVC 1.1.22