ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs
Revision: 153
Committed: Mon May 28 02:20:29 2012 UTC (11 years, 4 months ago) by william
File size: 1908 byte(s)
Log Message:

File Contents

# User Rev Content
1 william 83 using System;
2     using System.Collections.Generic;
3     using System.Linq;
4     using System.Text;
5     using System.Diagnostics;
6 william 88 using RomCheater.PluginFramework.Core;
7 william 83
8     namespace RomCheater.PluginFramework.Interfaces
9     {
10 william 94 #region IPluginBase
11     public interface IPluginBase : IPluginName, IPluginDescription, IPluginID, IToString, IPluginRefresh { }
12     #region IPluginBase SubMembers
13     public interface IToString { string ToString(); }
14     public interface IPluginName { string Name { get; } }
15     public interface IPluginDescription { string Description { get; } }
16     public interface IPluginID { Guid ID { get; } }
17     public interface IPluginRefresh { void Reload(); }
18 william 83 #endregion
19 william 94 #endregion
20 william 83 #region IConfigPlugin
21     public interface IConfigPlugin : IPluginBase
22     {
23 william 88 List<ProcContainer> ValidProcessesForPlugin { get; }
24 william 83 }
25     #endregion
26     #region IInputPlugin
27     public interface IInputPlugin : IPluginBase
28     {
29     }
30     #endregion
31     #region IWindowPlugin
32     public interface IWindowPlugin : IPluginBase
33     {
34     }
35     #endregion
36     #region IPluginLoader
37     public interface IPluginLoader
38     {
39     void LoadPlugins();
40     List<IConfigPlugin> LoadedConfigPlugins { get; }
41     List<IInputPlugin> LoadedInputPlugins { get; }
42     List<IWindowPlugin> LoadedWindowPlugins { get; }
43 william 87
44     IConfigPlugin GetConfigPlugin(string t);
45     IInputPlugin GetInputPlugin(string t);
46     IWindowPlugin GetWindowPlugin(string t);
47    
48 william 86 string ToString();
49 william 83 }
50     #endregion
51 william 153 #region AcceptsPlugin
52     public interface IAcceptsPlugin<PLUGIN_TYPE>
53     where PLUGIN_TYPE : IPluginBase
54     {
55     PLUGIN_TYPE AcceptedPlugin { get; set; }
56     }
57     #endregion
58     public interface IProcessConfig : IAcceptsPlugin<IConfigPlugin>
59     {
60     Process AcceptedProcess { get; set; }
61     }
62 william 83 }