Beispiel #1
0
        /// <summary>
        /// Goes through all plugins and applies appropriate action.
        /// </summary>
        public void ProcessPlugins()
        {
            if (!addins.AddinCollection.Any())
            {
                return;
            }

            foreach (var addin in addins.AddinCollection)
            {
                switch (addin.ToolLoadType)
                {
                case LoadType.Never:
                    RemovePlugin(addin);
                    break;

                case LoadType.ThisSessionOnly:
                    foreach (var addinPath in addin.AddInPaths)
                    {
                        try
                        {
                            m_app.LoadAddIn(addinPath);
                        }
                        catch (Exception e)
                        {
                            Log.AppendLog(LogMessageType.EXCEPTION, e.Message);
                        }
                    }
                    break;

                case LoadType.Always:
                    AddPlugin(addin);
                    break;
                }
            }
        }
Beispiel #2
0
 public static void LoadAddin(string addinPath)
 {
     //string asspath = Path.GetDirectoryName(path);
     //string addinPath = Path.Combine(asspath, addin);
     try
     {
         g_controlledUIApp.LoadAddIn(addinPath);
     }
     catch (Exception ex)
     {
         Metrics.AppendLog("Error loading addin: " + addinPath + " could already be loaded.");
     }
 }
Beispiel #3
0
        public static bool LoadAddin(string addin, bool loaded)
        {
            if (loaded)
            {
                return(true);
            }

            string asspath = Path.GetDirectoryName(Utils.g_mainAssemblyPath);
            string path    = Path.Combine(asspath, addin);

            try
            {
                g_controlledUIApp.LoadAddIn(path);
            }
            catch
            {
                Metrics.AppendLog("Error loading addin: " + addin);
            }

            return(true);
        }