/[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

--- trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs	2012/06/19 07:56:36	378
+++ trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs	2013/06/03 07:13:44	471
@@ -4,10 +4,12 @@
 using System.Text;
 using System.Diagnostics;
 using RomCheater.PluginFramework.Core;
+using RomCheater.PluginFramework.Events;
+using WeifenLuo.WinFormsUI.Docking;
 
 namespace RomCheater.PluginFramework.Interfaces
 {
-    #region IPluginBase  
+    #region IPluginBase
     public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }
     #region IPluginBase SubMembers
     public interface IToString { string ToString();    }
@@ -18,7 +20,7 @@
     #endregion
     #endregion
     #region IConfigPlugin
-    public interface IConfigPlugin : IPluginBase
+    public interface IConfigPlugin : IPluginBase, IAcceptsReadOnlyMemoryRange, ISearchInProgress, IAcceptsMemorySearch
     {
         List<ProcContainer> ValidProcessesForPlugin { get; }
     }
@@ -33,6 +35,15 @@
     {
     }
     #endregion
+    #region IUserControlPlugin
+    public interface IUserControlPlugin : IPluginBase
+    {
+        void Show();
+        void Show(DockPanel dockPanel);
+        void Show(DockPanel dockPanel, DockState dockState);
+        void Config();
+    }
+    #endregion
     #region IPluginLoader
     public interface IPluginLoader
     {
@@ -41,7 +52,8 @@
         List<IConfigPlugin> LoadedConfigPlugins { get; }
         List<IInputPlugin> LoadedInputPlugins { get; }
         List<IWindowPlugin> LoadedWindowPlugins { get; }
-        
+        List<IUserControlPlugin> LoadedUserControlPlugins { get; }
+
         IConfigPlugin GetConfigPlugin(string t);
         IInputPlugin GetInputPlugin(string t);
         IWindowPlugin GetWindowPlugin(string t);
@@ -56,15 +68,25 @@
         TPlugin AcceptedPlugin { get; set; }
     }
     public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
-    public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }
-    public interface IAcceptsProcess<TProcess>
-        where TProcess : Process
-    {
-        TProcess AcceptedProcess { get; set; }
-    }
+    public interface IAcceptsProcess : IAcceptsProcessPID    {    }
     #endregion
-    public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
     public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
+
+    public class AcceptedProcessAndConfig : IAcceptsProcessAndConfig
+    {
+        public AcceptedProcessAndConfig() : this(null, 0) { }
+        public AcceptedProcessAndConfig(IConfigPlugin config, int pid) { AcceptedPlugin = config; ProcessPID = pid; }
+   
+
+        #region IAcceptsPlugin<IConfigPlugin> Members
+        public IConfigPlugin AcceptedPlugin { get; set; }
+        #endregion
+
+        #region IAcceptsProcess Members
+        public int ProcessPID { get; set; }
+        #endregion
+    }
+
     public interface IAcceptsProcessPID
     {
         int ProcessPID { get; set; }
@@ -74,6 +96,15 @@
         uint MemoryRangeStart { get; set; }
         uint MemoryRangeSize { get; set; }
     }
+    public interface IAcceptsReadOnlyMemoryRange
+    {
+        uint MemoryRangeStart { get; }
+        uint MemoryRangeSize { get; }
+    }
     public interface IOutputsData<TData> { TData Data { get; } }
-    public interface ISearchInProgress { bool SearchInProgess { get; } }
+    public interface ISearchInProgress 
+    {
+        bool SearchInProgess { get; }
+        Guid SearchGuid { get; }
+    }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22