ViewVC Help
View File | Revision Log | Show Annotations | Download File | View Changeset | Root Listing
root/RomCheater/trunk/RomCheater.PluginFramework/Interfaces/PluginInterfaces.cs
Revision: 287
Committed: Tue Jun 5 08:52:07 2012 UTC (10 years, 9 months ago) by william
File size: 2590 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 234 #region AcceptsPlugin
52 william 228 public interface IAcceptsPlugin<TPlugin>
53     where TPlugin : IPluginBase
54 william 153 {
55 william 228 TPlugin AcceptedPlugin { get; set; }
56 william 153 }
57 william 234 public interface IAcceptsProcess<TProcess>
58     where TProcess : Process
59 william 153 {
60 william 234 TProcess AcceptedProcess { get; set; }
61 william 153 }
62 william 234 #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 william 196 public interface IAcceptsProcessPID
68     {
69     int ProcessPID { get; set; }
70     }
71 william 198 public interface IAcceptsMemoryRange
72     {
73 william 287 int MemoryRangeStart { get; set; }
74     uint MemoryRangeSize { get; set; }
75 william 198 }
76 william 228 public interface IOutputsData<TData> { TData Data { get; } }
77     public interface ISearchInProgress { bool SearchInProgess { get; } }
78 william 83 }