/[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 437 by william, Tue May 28 18:08:23 2013 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 33  namespace RomCheater.PluginFramework.Int Line 34  namespace RomCheater.PluginFramework.Int
34      {      {
35      }      }
36      #endregion      #endregion
37        #region IUserControlPlugin
38        public interface IUserControlPlugin : IPluginBase
39        {
40        }
41        #endregion
42      #region IPluginLoader      #region IPluginLoader
43      public interface IPluginLoader      public interface IPluginLoader
44      {      {
45          void LoadPlugins();          void LoadPlugins();
46            void LoadPlugins(bool silent);
47          List<IConfigPlugin> LoadedConfigPlugins { get; }          List<IConfigPlugin> LoadedConfigPlugins { get; }
48          List<IInputPlugin> LoadedInputPlugins { get; }          List<IInputPlugin> LoadedInputPlugins { get; }
49          List<IWindowPlugin> LoadedWindowPlugins { get; }          List<IWindowPlugin> LoadedWindowPlugins { get; }
50                    List<IUserControlPlugin> LoadedUserControlPlugins { get; }
51    
52          IConfigPlugin GetConfigPlugin(string t);          IConfigPlugin GetConfigPlugin(string t);
53          IInputPlugin GetInputPlugin(string t);          IInputPlugin GetInputPlugin(string t);
54          IWindowPlugin GetWindowPlugin(string t);          IWindowPlugin GetWindowPlugin(string t);
# Line 48  namespace RomCheater.PluginFramework.Int Line 56  namespace RomCheater.PluginFramework.Int
56          string ToString();          string ToString();
57      }      }
58      #endregion      #endregion
59  #region AcceptsPlugin      #region AcceptsPlugin
60      public interface IAcceptsPlugin<TPlugin>      public interface IAcceptsPlugin<TPlugin>
61          where TPlugin : IPluginBase          where TPlugin : IPluginBase
62      {      {
63          TPlugin AcceptedPlugin { get; set; }          TPlugin AcceptedPlugin { get; set; }
64      }      }
65  #endregion      public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
66      public interface IProcessConfig : IAcceptsPlugin<IConfigPlugin>      public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }
67        public interface IAcceptsProcess<TProcess>
68            where TProcess : Process
69        {
70            TProcess AcceptedProcess { get; set; }
71        }
72        #endregion
73        public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
74        public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
75    
76        public class AcceptedProcessAndConfig<TProcess> : IAcceptsProcessAndConfig<TProcess> where TProcess : Process
77        {
78            public AcceptedProcessAndConfig() : this(null, default(TProcess)) { }
79            public AcceptedProcessAndConfig(IConfigPlugin config, TProcess process) { AcceptedPlugin = config; AcceptedProcess = process; }
80            #region IAcceptsProcessAndConfig<TProcess> members
81            #endregion
82    
83            #region IAcceptsPlugin<IConfigPlugin> Members
84            public IConfigPlugin AcceptedPlugin { get; set; }
85            #endregion
86    
87            #region IAcceptsProcess<TProcess> Members
88            public TProcess AcceptedProcess { get; set; }
89            #endregion
90        }
91        public class AcceptedProcessAndConfig : IAcceptsProcessAndConfig
92      {      {
93          Process AcceptedProcess { get; set; }          public AcceptedProcessAndConfig() : this(null, null) { }
94            public AcceptedProcessAndConfig(IConfigPlugin config, Process process) { AcceptedPlugin = config; AcceptedProcess = process; }
95    
96            #region IAcceptsProcess<Process> Members
97            public Process AcceptedProcess { get; set; }
98            #endregion
99            #region IAcceptsPlugin<IConfigPlugin> Members
100            public IConfigPlugin AcceptedPlugin { get; set; }
101            #endregion
102      }      }
103    
104      public interface IAcceptsProcessPID      public interface IAcceptsProcessPID
105      {      {
106          int ProcessPID { get; set; }          int ProcessPID { get; set; }
107      }      }
108      public interface IAcceptsMemoryRange      public interface IAcceptsMemoryRange
109      {      {
110          uint MemoryStart { get; set; }          uint MemoryRangeStart { get; set; }
111          uint MemorySize { get; set; }          uint MemoryRangeSize { get; set; }
112        }
113        public interface IAcceptsReadOnlyMemoryRange
114        {
115            uint MemoryRangeStart { get; }
116            uint MemoryRangeSize { get; }
117      }      }
118      public interface IOutputsData<TData> { TData Data { get; } }      public interface IOutputsData<TData> { TData Data { get; } }
119      public interface ISearchInProgress { bool SearchInProgess { get; } }      public interface ISearchInProgress { bool SearchInProgess { get; } }

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

  ViewVC Help
Powered by ViewVC 1.1.22