Пример #1
0
        public LoadedPlugin(PluginDefinition pluginDefinition, IEnumerable<Assembly> assemblies)
        {
            Require.NotNull(pluginDefinition, "pluginDefinition");
            Require.NotNull(assemblies, "assemblies");

            Assemblies = assemblies;
            PluginDefinition = pluginDefinition;
        }
Пример #2
0
 public PluginLifecycleContext(PluginDefinition plugin)
 {
     Plugin = plugin;
 }
Пример #3
0
        static void Startup(PluginDefinition plugin, bool reinitNhSessionManager)
        {
            Require.NotNull(plugin, "plugin");

            var loadedPlugin = _loadedPlugins.Find(plugin.Name);

            EventEnvironment.HandlerRegistry.RegisterHandlers(plugin.Name, loadedPlugin.Assemblies);

            if (plugin.PluginType != null)
            {
                var pluginImpl = (IPlugin)Activator.CreateInstance(plugin.PluginType);
                pluginImpl.OnStartup(new PluginLifecycleContext(plugin));
            }

            if (reinitNhSessionManager && NhMappingProviders.HasMappingProvider(plugin.Name))
            {
                Database.Initialize();
            }

            if (PluginStartedup != null)
                PluginStartedup(null, EventArgs.Empty);
        }
Пример #4
0
        static void MarkUninstalled(PluginDefinition plugin)
        {
            var service = InstalledPluginServices.Current();

            if (service.Contains(plugin.Name))
            {
                service.Remove(plugin.Name);
                service.SaveChanges();

                _loadedPlugins.Find(plugin.Name).MarkNotInstalled();
            }
        }
Пример #5
0
        static void MarkInstalled(PluginDefinition plugin)
        {
            var service = InstalledPluginServices.Current();

            if (!service.Contains(plugin.Name))
            {
                service.Add(plugin.Name, false);
                service.SaveChanges();

                _loadedPlugins.Find(plugin.Name).MarkInstalled();
            }
        }
Пример #6
0
 public static void Startup(PluginDefinition plugin)
 {
     Startup(plugin, true);
 }