public pluginType Type(string pInput) { if (pInput.Length > 0) { IPlugin.IPlugin plugin = GetPlugin(pInput); return(plugin.Type); } else { return(pluginType.none); } }
private IPlugin.IPlugin GetPlugin(string pluginName) { foreach (var dir in Plugins) { IPlugin.IPlugin plugin = dir.Value as IPlugin.IPlugin; if (plugin.Name.ToLower().Equals(pluginName.ToLower())) { return(plugin); } } return(null); }
public pluginHook Hook(string pInput) { if (pInput.Length > 0) { IPlugin.IPlugin plugin = GetPlugin(pInput); return(plugin.Hook); } else { return(pluginHook.none); } }
public string Version(string pInput) { if (pInput.Length > 0) { IPlugin.IPlugin plugin = GetPlugin(pInput); return(plugin.Version); } else { return(""); } }
public string Author(string pInput) { if (pInput.Length > 0) { IPlugin.IPlugin plugin = GetPlugin(pInput); return(plugin.Author); } else { return(""); } }
public string Name(string pInput) { if (pInput.Length > 0) { IPlugin.IPlugin plugin = GetPlugin(pInput); return(plugin.Name); } else { return(""); } }
public Image Icon(string pInput) { if (pInput.Length > 0) { IPlugin.IPlugin plugin = GetPlugin(pInput); return(plugin.Icon()); } else { return(null); } }
public static ICollection <IPlugin.IPlugin> LoadPlugins(string path) { string[] dllFileNames = null; if (Directory.Exists(path)) { dllFileNames = Directory.GetFiles(path, "*.dll"); ICollection <Assembly> assemblies = new List <Assembly>(dllFileNames.Length); foreach (string dllFile in dllFileNames) { AssemblyName an = AssemblyName.GetAssemblyName(dllFile); Assembly assembly = Assembly.Load(an); assemblies.Add(assembly); } Type pluginType = typeof(IPlugin.IPlugin); ICollection <Type> pluginTypes = new List <Type>(); foreach (Assembly assembly in assemblies) { if (assembly != null) { Type[] types = assembly.GetTypes(); foreach (Type type in types) { if (type.IsInterface || type.IsAbstract) { continue; } else if (type.GetInterface(pluginType.FullName) != null) { pluginTypes.Add(type); } } } } ICollection <IPlugin.IPlugin> plugins = new List <IPlugin.IPlugin>(pluginTypes.Count); foreach (Type type in pluginTypes) { IPlugin.IPlugin plugin = (IPlugin.IPlugin)Activator.CreateInstance(type); plugins.Add(plugin); } return(plugins); } return(null); }
public DataTable Process(string pluginName, DataTable Data, String Arg) { IPlugin.IPlugin plugin = GetPlugin(pluginName); Data = plugin.Process(Data, Arg); return(Data); }