/[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 378 by william, Tue Jun 19 07:56:36 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();    }
# Line 18  namespace RomCheater.PluginFramework.Int Line 19  namespace RomCheater.PluginFramework.Int
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      {      {
# Line 41  namespace RomCheater.PluginFramework.Int Line 47  namespace RomCheater.PluginFramework.Int
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 65  namespace RomCheater.PluginFramework.Int Line 72  namespace RomCheater.PluginFramework.Int
72      #endregion      #endregion
73      public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }      public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
74      public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }      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            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; }
# Line 74  namespace RomCheater.PluginFramework.Int Line 110  namespace RomCheater.PluginFramework.Int
110          uint MemoryRangeStart { get; set; }          uint MemoryRangeStart { get; set; }
111          uint MemoryRangeSize { 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; } }
120  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.22