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<TPlugin> |
53 |
where TPlugin : IPluginBase |
54 |
{ |
55 |
TPlugin AcceptedPlugin { get; set; } |
56 |
} |
57 |
public interface IAcceptsProcess<TProcess> |
58 |
where TProcess : Process |
59 |
{ |
60 |
TProcess AcceptedProcess { get; set; } |
61 |
} |
62 |
#endregion |
63 |
public interface IAcceptsProcessAndConfig<TPlugin, TProcess> : IAcceptsPlugin<TPlugin>, IAcceptsProcess<TProcess> |
64 |
where TPlugin : IPluginBase |
65 |
where TProcess : Process { } |
66 |
public interface IAcceptsProcessAndConfig : IAcceptsProcessAndConfig<IConfigPlugin,Process> { } |
67 |
public interface IAcceptsProcessPID |
68 |
{ |
69 |
int ProcessPID { get; set; } |
70 |
} |
71 |
public interface IAcceptsMemoryRange |
72 |
{ |
73 |
uint MemoryStart { get; set; } |
74 |
uint MemorySize { get; set; } |
75 |
} |
76 |
public interface IOutputsData<TData> { TData Data { get; } } |
77 |
public interface ISearchInProgress { bool SearchInProgess { get; } } |
78 |
} |