Beispiel #1
0
        /// <summary>Load utility add-ins</summary>
        public void LoadUtilityAddins()
        {
            Mono.Addins.ExtensionNodeList nodes = Mono.Addins.AddinManager.GetExtensionNodes(ExtensionPath.Utility);
            foreach (Mono.Addins.ExtensionNode node in nodes)
            {
                Mono.Addins.TypeExtensionNode typeNode = node as Mono.Addins.TypeExtensionNode;

                try
                {
                    UtilityAddin utility = typeNode.CreateInstance() as UtilityAddin;

                    LoadUtilityAddin(utility, typeNode.Id, typeNode.TypeName);
                }
                catch (Exception ex)
                {
                    Log.Error("Couldn't create UtilityAddin: " + ex.Message);
                }
            }
        }
Beispiel #2
0
        /// <summary>
        ///   Load UtilityAddin and store in memory
        /// </summary>
        /// <param name="addin"></param>
        private void LoadUtilityAddin(UtilityAddin addin, string addinId, string addinTypeName)
        {
            try
            {
                // Removed for now until needed
                // addin.Initialize();

                // TODO: Add add-in to managed list for later callings
                if (addin.IsInitialized)
                {
                    addin.Execute();
                }
                else
                {
                    Log.Debug("Add-in not initialized; not executing.");
                }
            }
            catch (Exception ex)
            {
                Log.Error($"Error while attempting to initialize UtilityAddin, Id: '{addinId}', TypeName: '{addinTypeName}': {ex.Message}");
            }
        }