/[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 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();    }
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<TPlugin>      public interface IAcceptsPlugin<TPlugin>
66          where TPlugin : IPluginBase          where TPlugin : IPluginBase
67      {      {
68          TPlugin AcceptedPlugin { get; set; }          TPlugin AcceptedPlugin { get; set; }
69      }      }
70  #endregion      public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
71      public interface IProcessConfig : IAcceptsPlugin<IConfigPlugin>      public interface IAcceptsProcess : IAcceptsProcessPID    {    }
72        #endregion
73        public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
74    
75        public class AcceptedProcessAndConfig : IAcceptsProcessAndConfig
76      {      {
77          Process AcceptedProcess { get; set; }          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; }
93      }      }
94      public interface IAcceptsMemoryRange      public interface IAcceptsMemoryRange
95      {      {
96          uint MemoryStart { get; set; }          uint MemoryRangeStart { get; set; }
97          uint MemorySize { 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.228  
changed lines
  Added in v.471

  ViewVC Help
Powered by ViewVC 1.1.22