public DefaultPluginManager(FusionContext fusionContext) : base(fusionContext, true, true) { AssemblyName assemblyName = Assembly.GetExecutingAssembly().GetName(); Log.DebuggerWrite(0, LogCategory, "Hyphen Plugin Manager v" + assemblyName.Version.ToString() + " is initializing, please wait..."); FirePrimaryPluginManagerInitializedEvent(this, EventArgs.Empty); Log.DebuggerWrite(0, LogCategory, "Default Plugin Manager initialized."); }
public void LoadPluginManager(FusionContext context) { PluginManagerBase customManager = null; try { string fusionAssemblyName = RuntimeConfiguration.Singleton.CustomFusionAssemblyName; string pluginManagerTypeName = RuntimeConfiguration.Singleton.CustomPluginManagerTypeName; if (!String.IsNullOrEmpty(fusionAssemblyName) && !String.IsNullOrEmpty(pluginManagerTypeName)) customManager = InstantiateRemoteObject<PluginManagerBase>(fusionAssemblyName, pluginManagerTypeName, context); } catch (Exception e) { Log.DebuggerWrite(0, Loader.LogCategory, "Unable to load custom plugin manager (" + e.Message + "), defaulting to the built-in one."); } pluginManager = customManager ?? InstantiateRemoteObject<PluginManagerBase>(GetType().Assembly.FullName, typeof(DefaultPluginManager).FullName, context); }
/// <summary> /// Initializes a fusion context. /// </summary> private void InitializeFusionContext() { FusionContext = new FusionContext(this, IsolatedPluginsSandbox.AssemblyProbe, PluginLink.NativePluginLinkPtr); }