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 |
} |