Binboo.Core.Application.InitializePlugins C# (CSharp) Method

InitializePlugins() private method

private InitializePlugins ( System.ComponentModel.Composition.Primitives.ComposablePartCatalog catalog ) : void
catalog System.ComponentModel.Composition.Primitives.ComposablePartCatalog
return void
        private void InitializePlugins(ComposablePartCatalog catalog)
        {
            var pluginManager = PluginManagerFactory.Create(catalog);
            _plugins = pluginManager.Plugins;

            foreach (var plugin in Plugins)
            {
                _log.InfoFormat("Initializing plugin '{0}'.", plugin.Name);
                try
                {
                    plugin.Initialize();
                    _log.InfoFormat("'{0}' initialized successfuly", plugin.Name);
                }
                catch(Exception ex)
                {
                    _log.ErrorFormat("Plugin '{0}' failed to initialize and will be disabled. See next entry for more details.", plugin.Name);
                    _log.Error(ex);

                    plugin.Enabled = false;
                }
            }
        }