/[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 329 by william, Thu Jun 7 19:18:31 2012 UTC revision 440 by william, Tue May 28 19:10:10 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    using WeifenLuo.WinFormsUI.Docking;
9    
10  namespace RomCheater.PluginFramework.Interfaces  namespace RomCheater.PluginFramework.Interfaces
11  {  {
12      #region IPluginBase        #region IPluginBase
13      public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }      public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }
14      #region IPluginBase SubMembers      #region IPluginBase SubMembers
15      public interface IToString { string ToString();    }      public interface IToString { string ToString();    }
# Line 18  namespace RomCheater.PluginFramework.Int Line 20  namespace RomCheater.PluginFramework.Int
20      #endregion      #endregion
21      #endregion      #endregion
22      #region IConfigPlugin      #region IConfigPlugin
23      public interface IConfigPlugin : IPluginBase      public interface IConfigPlugin : IPluginBase, IAcceptsReadOnlyMemoryRange, ISearchInProgress, IAcceptsMemorySearch
24      {      {
25          List<ProcContainer> ValidProcessesForPlugin { get; }          List<ProcContainer> ValidProcessesForPlugin { get; }
26      }      }
# Line 33  namespace RomCheater.PluginFramework.Int Line 35  namespace RomCheater.PluginFramework.Int
35      {      {
36      }      }
37      #endregion      #endregion
38        #region IUserControlPlugin
39        public interface IUserControlPlugin : IPluginBase
40        {
41            void Show();
42            void Show(DockPanel dockPanel);
43            void Show(DockPanel dockPanel, DockState dockState);
44            void Config();
45        }
46        #endregion
47      #region IPluginLoader      #region IPluginLoader
48      public interface IPluginLoader      public interface IPluginLoader
49      {      {
50          void LoadPlugins();          void LoadPlugins();
51            void LoadPlugins(bool silent);
52          List<IConfigPlugin> LoadedConfigPlugins { get; }          List<IConfigPlugin> LoadedConfigPlugins { get; }
53          List<IInputPlugin> LoadedInputPlugins { get; }          List<IInputPlugin> LoadedInputPlugins { get; }
54          List<IWindowPlugin> LoadedWindowPlugins { get; }          List<IWindowPlugin> LoadedWindowPlugins { get; }
55                    List<IUserControlPlugin> LoadedUserControlPlugins { get; }
56    
57          IConfigPlugin GetConfigPlugin(string t);          IConfigPlugin GetConfigPlugin(string t);
58          IInputPlugin GetInputPlugin(string t);          IInputPlugin GetInputPlugin(string t);
59          IWindowPlugin GetWindowPlugin(string t);          IWindowPlugin GetWindowPlugin(string t);
# Line 54  namespace RomCheater.PluginFramework.Int Line 67  namespace RomCheater.PluginFramework.Int
67      {      {
68          TPlugin AcceptedPlugin { get; set; }          TPlugin AcceptedPlugin { get; set; }
69      }      }
70        public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
71        public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }
72      public interface IAcceptsProcess<TProcess>      public interface IAcceptsProcess<TProcess>
73          where TProcess : Process          where TProcess : Process
74      {      {
75          TProcess AcceptedProcess { get; set; }          TProcess AcceptedProcess { get; set; }
76      }      }
77      #endregion      #endregion
78      public interface IAcceptsProcessAndConfig<TPlugin, TProcess> : IAcceptsPlugin<TPlugin>, IAcceptsProcess<TProcess>      public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
79          where TPlugin : IPluginBase      public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
80          where TProcess : Process { }  
81      public interface IAcceptsProcessAndConfig : IAcceptsProcessAndConfig<IConfigPlugin,Process> { }      public class AcceptedProcessAndConfig<TProcess> : IAcceptsProcessAndConfig<TProcess> where TProcess : Process
82        {
83            public AcceptedProcessAndConfig() : this(null, default(TProcess)) { }
84            public AcceptedProcessAndConfig(IConfigPlugin config, TProcess process) { AcceptedPlugin = config; AcceptedProcess = process; }
85            #region IAcceptsProcessAndConfig<TProcess> members
86            #endregion
87    
88            #region IAcceptsPlugin<IConfigPlugin> Members
89            public IConfigPlugin AcceptedPlugin { get; set; }
90            #endregion
91    
92            #region IAcceptsProcess<TProcess> Members
93            public TProcess AcceptedProcess { get; set; }
94            #endregion
95        }
96        public class AcceptedProcessAndConfig : IAcceptsProcessAndConfig
97        {
98            public AcceptedProcessAndConfig() : this(null, null) { }
99            public AcceptedProcessAndConfig(IConfigPlugin config, Process process) { AcceptedPlugin = config; AcceptedProcess = process; }
100    
101            #region IAcceptsProcess<Process> Members
102            public Process AcceptedProcess { get; set; }
103            #endregion
104            #region IAcceptsPlugin<IConfigPlugin> Members
105            public IConfigPlugin AcceptedPlugin { get; set; }
106            #endregion
107        }
108    
109      public interface IAcceptsProcessPID      public interface IAcceptsProcessPID
110      {      {
111          int ProcessPID { get; set; }          int ProcessPID { get; set; }
112      }      }
113      public interface IAcceptsMemoryRange      public interface IAcceptsMemoryRange
114      {      {
115          int MemoryRangeStart { get; set; }          uint MemoryRangeStart { get; set; }
116          uint MemoryRangeSize { get; set; }          uint MemoryRangeSize { get; set; }
117      }      }
118        public interface IAcceptsReadOnlyMemoryRange
119        {
120            uint MemoryRangeStart { get; }
121            uint MemoryRangeSize { get; }
122        }
123      public interface IOutputsData<TData> { TData Data { get; } }      public interface IOutputsData<TData> { TData Data { get; } }
124      public interface ISearchInProgress { bool SearchInProgess { get; } }      public interface ISearchInProgress { bool SearchInProgess { get; } }
125  }  }

Legend:
Removed from v.329  
changed lines
  Added in v.440

  ViewVC Help
Powered by ViewVC 1.1.22