/// <summary> /// Unloads the plug-in. /// </summary> public void Unload() { IsLoaded = false; _player.IfNotNull(i => i.DataReceived -= Player_DataReceived); _player = null; PluginUnloaded.IfNotNull(i => i(this)); }
private static void CheckDependencies() { var indexesOfPluginsWithUnresolvedDeps = new HashSet <int>(); for (int i = 0; i < _pluginContainers.Count; i++) { if (_pluginContainers[i].Plugin is IPlugin3 plugin2 && plugin2.Dependencies != null) { foreach (string dep in plugin2.Dependencies) { if (!_pluginContainers.Select(l => l.Plugin.Name).Contains(dep)) { indexesOfPluginsWithUnresolvedDeps.Add(i); } } } } foreach (int indexOfPluginWithUnresolvedDeps in indexesOfPluginsWithUnresolvedDeps) { var plugin2 = _pluginContainers[indexOfPluginWithUnresolvedDeps].Plugin; _pluginContainers.RemoveAt(indexOfPluginWithUnresolvedDeps); PluginUnloaded?.Invoke(plugin2); Notify.SmartNotify("Plug-in error", $"Plug-in {plugin2.Name} requires {string.Join(", ", plugin2.Dependencies)}", NotifyUserType.Error, true); } }
/// <summary> /// Unloads the plug-in. /// </summary> public virtual void Unload() { try { Mainsail.ActivateTrigger -= new EventHandler <TriggerEventArgs>(Mainsail_ActivateTrigger); Mainsail.DeactivateTrigger -= new EventHandler <TriggerEventArgs>(Mainsail_DeactivateTrigger); Mainsail.TriggerEvaluationFailed -= new EventHandler <TriggerFailureEventArgs>(Mainsail_TriggerEvaluationFailed); Mainsail.Dispose(); if (Mainsail.MastInterface is IDisposable) { ((IDisposable)Mainsail.MastInterface).Dispose(); } Mainsail = null; Source = null; StopRetrievingMarkers(); player = null; IsLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); SendLogEntry(LogEntryTypes.Unloaded, message: MastMarkerProviderResources.MastMarkerProviderUnloadedLogMessage); } catch (Exception ex) { PluginUnloadFailed.IfNotNull(i => i(this, ex)); } }
/// <summary> /// Unloads the plug-in. /// </summary> public void Unload() { IsLoaded = false; Source = null; StopRetrievingMarkers(); _previousMarkers.Clear(); PluginUnloaded.IfNotNull(i => i(this)); SendLogEntry(KnownLogEntryTypes.TimedTextMarkerProviderUnloaded, message: TimedTextMediaPluginResources.TimedTextMediaPluginUnloadedLogMessage); }
/// <summary> /// Unloads the plugin /// </summary> public void Unload() { try { IsLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); } catch (Exception err) { PluginUnloadFailed.IfNotNull(i => i(this, err)); } }
public void Unload() { if (_player != null) { _player.DataReceived -= Player_DataReceived; _player.MediaOpened -= Player_MediaOpened; _player.Captions.Remove(_captionRegion); } IsLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); }
/// <summary> /// Unloads the plug-in. /// </summary> public void Unload() { try { _syncManager.SuspendSync(); _syncManager = null; IsLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); } catch (Exception err) { PluginUnloadFailed.IfNotNull(i => i(this, err)); } }
/// <summary> /// Unloads a plug-in for progressive download media. /// </summary> public void Unload() { try { IsLoaded = false; DestroyProgressiveMediaElement(); PluginUnloaded.IfNotNull(i => i(this)); SendLogEntry(KnownLogEntryTypes.ProgressiveMediaPluginUnloaded, message: ProgressiveMediaPluginResources.ProgressiveMediaPluginUnloadedLogMessage); } catch (Exception ex) { PluginUnloadFailed.IfNotNull(i => i(this, ex)); } }
private static void InvokeDeinitialize(Plugin plugin) { try { Debug.Write(LogType.Log, "Unloading plugin " + plugin); PluginUnloading?.Invoke(plugin); plugin.Deinitialize(); PluginUnloaded?.Invoke(plugin); } catch (Exception ex) { Debug.LogException(ex); Debug.LogErrorFormat("Failed to deinitialize plugin {0}. {1}", plugin, ex.Message); } }
public virtual void Unload() { try { foreach (var creative in VpaidController.ActiveCreatives.ToList()) { CancelCreative(creative); } VpaidController.AdIsLinear -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdIsLinear); VpaidController.AdIsNotLinear -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdIsNotLinear); VpaidController.Log -= new EventHandler <ActiveCreativeLogEventArgs>(vPaidController_Log); VpaidController.TrackingFailed -= new EventHandler <VpaidController.TrackingFailureEventArgs>(vPaidController_TrackingFailed); VpaidController.AdLoaded -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdLoaded); VpaidController.AdStopped -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdStopped); VpaidController.AdStarted -= new EventHandler <ActiveCreativeEventArgs>(VpaidController_AdStarted); // Note: all 3 events can use the same handler VpaidController.AdFailed -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdFailed); VpaidController.AdLoadFailed -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdFailed); VpaidController.AdStartFailed -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdFailed); VpaidController.AdRemoved -= new EventHandler <ActiveCreativeEventArgs>(vPaidController_AdCompleted); VpaidController.AdProgressChanged -= new EventHandler <ActiveCreativeEventArgs>(VpaidController_AdProgressChanged); VpaidController.AdPaused -= new EventHandler <ActiveCreativeEventArgs>(VpaidController_AdPaused); VpaidController.AdResumed -= new EventHandler <ActiveCreativeEventArgs>(VpaidController_AdResumed); VpaidController = null; AdHost = null; isLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); } catch (Exception e) { PluginUnloadFailed.IfNotNull(i => i(this, e)); } }
public void Unload() { IsLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); }
/// <summary> /// Unloads the given plugin. /// </summary> /// <param name="plugin">The plugin to unload.</param> public static void Unload(RPlugin plugin) { PluginUnloaded?.Invoke(_plugins[plugin]); plugin.Unload(); _plugins.Remove(plugin); }
protected virtual void OnPluginUnloaded(PluginEventArgs e) { PluginUnloaded?.Invoke(this, e); }
public virtual void Unload() { isLoaded = false; PluginUnloaded.IfNotNull(i => i(this)); }
/// <summary> /// Raises the <see cref="PluginUnloaded" /> event. /// </summary> /// <seealso cref="EventArgs" /> protected virtual void OnPluginUnloaded() { PluginUnloaded?.Invoke(this, EventArgs.Empty); }
internal async void OnPluginUnloaded(IPluginContainer container) { await _taskFactory.StartNew(() => PluginUnloaded?.Invoke(this, new PluginEventArgs(container))).ConfigureAwait(false); }
private void PluginHostProxyDisposed(object sender, EventArgs e) { PluginUnloaded?.Invoke(this, new PluginUnloadedEventArgs(((PluginHostProxy)sender).RemoteView)); }