1 |
using System; |
2 |
using System.Collections.Generic; |
3 |
using System.Linq; |
4 |
using System.Text; |
5 |
using System.Diagnostics; |
6 |
using RomCheater.PluginFramework.Core; |
7 |
|
8 |
namespace RomCheater.PluginFramework.Interfaces |
9 |
{ |
10 |
#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 |
#endregion |
19 |
#endregion |
20 |
#region IConfigPlugin |
21 |
public interface IConfigPlugin : IPluginBase |
22 |
{ |
23 |
List<ProcContainer> ValidProcessesForPlugin { get; } |
24 |
} |
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 |
|
44 |
IConfigPlugin GetConfigPlugin(string t); |
45 |
IInputPlugin GetInputPlugin(string t); |
46 |
IWindowPlugin GetWindowPlugin(string t); |
47 |
|
48 |
string ToString(); |
49 |
} |
50 |
#endregion |
51 |
#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 |
} |