/[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/05/09 19:41:06	86
+++ trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs	2012/06/02 16:02:01	228
@@ -3,22 +3,24 @@
 using System.Linq;
 using System.Text;
 using System.Diagnostics;
+using RomCheater.PluginFramework.Core;
 
 namespace RomCheater.PluginFramework.Interfaces
 {
-    #region IPluginBase
-    public interface IPluginBase
-    {
-        Guid Id { get; }
-        string Name { get;}
-        string Description { get; }
-        string ToString();
-    }
+    #region IPluginBase  
+    public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }
+    #region IPluginBase SubMembers
+    public interface IToString { string ToString();    }
+    public interface IPluginName { string Name { get; } }
+    public interface IPluginDescription { string Description { get; } }
+    public interface IPluginID { Guid ID { get; } }
+    public interface IPluginRefresh { void Reload();    }
+    #endregion
     #endregion
     #region IConfigPlugin
     public interface IConfigPlugin : IPluginBase
     {
-        List<Process> ValidProcessesForPlugin { get; }
+        List<ProcContainer> ValidProcessesForPlugin { get; }
     }
     #endregion
     #region IInputPlugin
@@ -38,7 +40,34 @@
         List<IConfigPlugin> LoadedConfigPlugins { get; }
         List<IInputPlugin> LoadedInputPlugins { get; }
         List<IWindowPlugin> LoadedWindowPlugins { get; }
+        
+        IConfigPlugin GetConfigPlugin(string t);
+        IInputPlugin GetInputPlugin(string t);
+        IWindowPlugin GetWindowPlugin(string t);
+
         string ToString();
     }
     #endregion
+#region AcceptsPlugin
+    public interface IAcceptsPlugin<TPlugin>
+        where TPlugin : IPluginBase
+    {
+        TPlugin AcceptedPlugin { get; set; }
+    }
+#endregion
+    public interface IProcessConfig : IAcceptsPlugin<IConfigPlugin>
+    {
+        Process AcceptedProcess { get; set; }
+    }
+    public interface IAcceptsProcessPID
+    {
+        int ProcessPID { get; set; }
+    }
+    public interface IAcceptsMemoryRange
+    {
+        uint MemoryStart { get; set; }
+        uint MemorySize { get; set; }
+    }
+    public interface IOutputsData<TData> { TData Data { get; } }
+    public interface ISearchInProgress { bool SearchInProgess { get; } }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22