/[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 153 by william, Mon May 28 02:20:29 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();    }
16      public interface IPluginName { string Name { get; } }      public interface IPluginName { string Name { get; } }
17      public interface IPluginDescription { string Description { get; } }      public interface IPluginDescription { string Description { get; } }
18      public interface IPluginID { Guid ID { get; } }      public interface IPluginID { Guid ID { get; } }
19      public interface IPluginRefresh { void Reload();    }      public interface IPluginRefresh { void Reload(); void Reload(bool silent);   }
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 48  namespace RomCheater.PluginFramework.Int Line 61  namespace RomCheater.PluginFramework.Int
61          string ToString();          string ToString();
62      }      }
63      #endregion      #endregion
64  #region AcceptsPlugin      #region AcceptsPlugin
65      public interface IAcceptsPlugin<PLUGIN_TYPE>      public interface IAcceptsPlugin<TPlugin>
66          where PLUGIN_TYPE : IPluginBase          where TPlugin : IPluginBase
67        {
68            TPlugin AcceptedPlugin { get; set; }
69        }
70        public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
71        public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }
72        public interface IAcceptsProcess<TProcess>
73            where TProcess : Process
74        {
75            TProcess AcceptedProcess { get; set; }
76        }
77        #endregion
78        public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
79        public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
80    
81        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
110        {
111            int ProcessPID { get; set; }
112        }
113        public interface IAcceptsMemoryRange
114      {      {
115          PLUGIN_TYPE AcceptedPlugin { get; set; }          uint MemoryRangeStart { get; set; }
116            uint MemoryRangeSize { get; set; }
117      }      }
118  #endregion      public interface IAcceptsReadOnlyMemoryRange
     public interface IProcessConfig : IAcceptsPlugin<IConfigPlugin>  
119      {      {
120          Process AcceptedProcess { get; set; }          uint MemoryRangeStart { get; }
121            uint MemoryRangeSize { get; }
122      }      }
123        public interface IOutputsData<TData> { TData Data { get; } }
124        public interface ISearchInProgress { bool SearchInProgess { get; } }
125  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.22