public LoadedPlugin(PluginDefinition pluginDefinition, IEnumerable<Assembly> assemblies) { Require.NotNull(pluginDefinition, "pluginDefinition"); Require.NotNull(assemblies, "assemblies"); Assemblies = assemblies; PluginDefinition = pluginDefinition; }
public PluginLifecycleContext(PluginDefinition plugin) { Plugin = plugin; }
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); }
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(); } }
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(); } }
public static void Startup(PluginDefinition plugin) { Startup(plugin, true); }