/[RomCheater]/trunk/RomCheater.PluginFramework/Core/PluginLoader.cs
ViewVC logotype

Diff of /trunk/RomCheater.PluginFramework/Core/PluginLoader.cs

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

--- trunk/RomCheater.PluginFramework/Core/PluginLoader.cs	2012/05/09 18:13:51	85
+++ trunk/RomCheater.PluginFramework/Core/PluginLoader.cs	2012/05/27 23:33:54	148
@@ -44,6 +44,18 @@
 
                 logger.Info.WriteLine("Plugins Loaded.");
             }
+            catch (ReflectionTypeLoadException ex)
+            {
+                StringBuilder builder = new StringBuilder();
+                if (ex.LoaderExceptions.Count() > 0)
+                {
+                    foreach (Exception c in ex.LoaderExceptions)
+                    {
+                        builder.AppendLine(c.ToString());
+                    }
+                }
+                logger.Error.WriteLine("Failed to load one or more plugins{0}Possible Reason:{0}{1}", System.Environment.NewLine, builder.ToString());
+            }
             catch (Exception ex)
             {
                 logger.Error.WriteLine("Failed to load one or more plugins{0}Possible Reason:{0}{1}", System.Environment.NewLine, ex.ToString());
@@ -52,6 +64,37 @@
         public List<IConfigPlugin> LoadedConfigPlugins { get; private set; }
         public List<IInputPlugin> LoadedInputPlugins { get; private set; }
         public List<IWindowPlugin> LoadedWindowPlugins { get; private set; }
+
+        public IConfigPlugin GetConfigPlugin(string t)
+        {
+            foreach (IConfigPlugin c in LoadedConfigPlugins) { if (c.ToString().ToLower() == t.ToLower()) { return c; } }
+            return GetGenericConfigPlugin();
+        }
+        private IConfigPlugin GetGenericConfigPlugin()
+        {
+            foreach (IConfigPlugin c in LoadedConfigPlugins) { if (c.ID.ToString().ToLower() == "478e225b-c3e8-9280-57ca-384b884fc4cc".ToLower()) { return c; } }
+            return null;
+        }
+        public IInputPlugin GetInputPlugin(string t)
+        {
+            foreach (IInputPlugin c in LoadedInputPlugins) { if (c.ToString().ToLower() == t.ToLower()) { return c; } }
+            return GetGenericInputPlugin();
+        }
+        private IInputPlugin GetGenericInputPlugin()
+        {
+            foreach (IInputPlugin c in LoadedInputPlugins) { }
+            return null;
+        }
+        public IWindowPlugin GetWindowPlugin(string t)
+        {
+            foreach (IWindowPlugin c in LoadedWindowPlugins) { if (c.ToString().ToLower() == t.ToLower()) { return c; } }
+            return GetGenericWindowPlugin();
+        }
+        private IWindowPlugin GetGenericWindowPlugin()
+        {
+            foreach (IWindowPlugin c in LoadedWindowPlugins) { }
+            return null;
+        }
         #endregion
 
         private void GetConfigPluginsFromDll(FileInfo dll)

 

  ViewVC Help
Powered by ViewVC 1.1.22