/[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 17:48:15	83
+++ trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs	2012/06/19 07:56:36	378
@@ -3,20 +3,24 @@
 using System.Linq;
 using System.Text;
 using System.Diagnostics;
+using RomCheater.PluginFramework.Core;
 
 namespace RomCheater.PluginFramework.Interfaces
 {
-    #region IPluginBase
-    public interface IPluginBase
-    {
-        string Name { get;}
-        string Description { get; }
-    }
+    #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(); void Reload(bool silent);   }
+    #endregion
     #endregion
     #region IConfigPlugin
     public interface IConfigPlugin : IPluginBase
     {
-        List<Process> ValidProcessesForPlugin { get; }
+        List<ProcContainer> ValidProcessesForPlugin { get; }
     }
     #endregion
     #region IInputPlugin
@@ -33,9 +37,43 @@
     public interface IPluginLoader
     {
         void LoadPlugins();
+        void LoadPlugins(bool silent);
         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; }
+    }
+    public interface IAcceptsConfig : IAcceptsPlugin<IConfigPlugin> { }
+    public interface IAcceptsProcess : IAcceptsProcess<Process>    {    }
+    public interface IAcceptsProcess<TProcess>
+        where TProcess : Process
+    {
+        TProcess AcceptedProcess { get; set; }
+    }
+    #endregion
+    public interface IAcceptsProcessAndConfig<TProcess> : IAcceptsConfig, IAcceptsProcess<TProcess> where TProcess : Process { }
+    public interface IAcceptsProcessAndConfig : IAcceptsProcess, IAcceptsConfig { }
+    public interface IAcceptsProcessPID
+    {
+        int ProcessPID { get; set; }
+    }
+    public interface IAcceptsMemoryRange
+    {
+        uint MemoryRangeStart { get; set; }
+        uint MemoryRangeSize { get; set; }
+    }
+    public interface IOutputsData<TData> { TData Data { get; } }
+    public interface ISearchInProgress { bool SearchInProgess { get; } }
 }

 

  ViewVC Help
Powered by ViewVC 1.1.22