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

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