/[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 471 by william, Mon Jun 3 07:13:44 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      {      {
# Line 41  namespace RomCheater.PluginFramework.Int Line 52  namespace RomCheater.PluginFramework.Int
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 56  namespace RomCheater.PluginFramework.Int Line 68  namespace RomCheater.PluginFramework.Int
68          TPlugin AcceptedPlugin { get; set; }          TPlugin AcceptedPlugin { get; set; }
69      }      }
70      public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }      public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
71      public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }      public interface IAcceptsProcess : IAcceptsProcessPID    {    }
     public interface IAcceptsProcess<TProcess>  
         where TProcess : Process  
     {  
         TProcess AcceptedProcess { get; set; }  
     }  
72      #endregion      #endregion
     public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }  
73      public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }      public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
74    
75        public class AcceptedProcessAndConfig : IAcceptsProcessAndConfig
76        {
77            public AcceptedProcessAndConfig() : this(null, 0) { }
78            public AcceptedProcessAndConfig(IConfigPlugin config, int pid) { AcceptedPlugin = config; ProcessPID = pid; }
79      
80    
81            #region IAcceptsPlugin<IConfigPlugin> Members
82            public IConfigPlugin AcceptedPlugin { get; set; }
83            #endregion
84    
85            #region IAcceptsProcess Members
86            public int ProcessPID { get; set; }
87            #endregion
88        }
89    
90      public interface IAcceptsProcessPID      public interface IAcceptsProcessPID
91      {      {
92          int ProcessPID { get; set; }          int ProcessPID { get; set; }
# Line 74  namespace RomCheater.PluginFramework.Int Line 96  namespace RomCheater.PluginFramework.Int
96          uint MemoryRangeStart { get; set; }          uint MemoryRangeStart { get; set; }
97          uint MemoryRangeSize { get; set; }          uint MemoryRangeSize { get; set; }
98      }      }
99        public interface IAcceptsReadOnlyMemoryRange
100        {
101            uint MemoryRangeStart { get; }
102            uint MemoryRangeSize { get; }
103        }
104      public interface IOutputsData<TData> { TData Data { get; } }      public interface IOutputsData<TData> { TData Data { get; } }
105      public interface ISearchInProgress { bool SearchInProgess { get; } }      public interface ISearchInProgress
106        {
107            bool SearchInProgess { get; }
108            Guid SearchGuid { get; }
109        }
110  }  }

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

  ViewVC Help
Powered by ViewVC 1.1.22