public override bool Init(Main Main, System.Diagnostics.Stopwatch swInit) { if (!Main.EventMgr.PluginExists <Events.Power>()) { this.Log.LogLine("Task \"LogPowerEvents\" is missing EventPlugin \"Power\"!", Log.Type.Error); return(false); } this.Main = Main; this.Log = Main.Log; swInit.Stop(); Events.Power pwrEvents = Main.EventMgr.GetPlugin <Events.Power>(new object[] { Main }, true); swInit.Start(); pwrEvents.PowerModeChanged += new Events.EventPlugin.EventValue <PowerModes>(pwrEvents_PowerModeChanged); pwrEvents.Suspend += new Events.EventPlugin.Event(pwrEvents_Suspend); pwrEvents.Resume += new Events.EventPlugin.Event(pwrEvents_Resume); pwrEvents.PowerLineStatusChanged += new Events.EventPlugin.EventValues <PowerLineStatus>(pwrEvents_PowerLineStatusChanged); pwrEvents.BatteryAvailabilityChanged += new Events.EventPlugin.EventValue <bool?>(pwrEvents_BatteryAvailabilityChanged); pwrEvents.BatteryStatusChanged += new Events.EventPlugin.EventValues <BatteryChargeStatus>(pwrEvents_BatteryStatusChanged); pwrEvents.PowerSchemeChanged += new Events.EventPlugin.EventValues <PowerScheme>(pwrEvents_PowerSchemeChanged); return(true); }
public override void Dispose() { Events.Power pwrEvents = Main.EventMgr.GetPlugin <Events.Power>(new object[] { Main }, true); pwrEvents.PowerModeChanged -= new Events.EventPlugin.EventValue <PowerModes>(pwrEvents_PowerModeChanged); pwrEvents.Suspend -= new Events.EventPlugin.Event(pwrEvents_Suspend); pwrEvents.Resume -= new Events.EventPlugin.Event(pwrEvents_Resume); pwrEvents.PowerLineStatusChanged -= new Events.EventPlugin.EventValues <PowerLineStatus>(pwrEvents_PowerLineStatusChanged); pwrEvents.BatteryAvailabilityChanged -= new Events.EventPlugin.EventValue <bool?>(pwrEvents_BatteryAvailabilityChanged); pwrEvents.BatteryStatusChanged -= new Events.EventPlugin.EventValues <BatteryChargeStatus>(pwrEvents_BatteryStatusChanged); pwrEvents.PowerSchemeChanged -= new Events.EventPlugin.EventValues <PowerScheme>(pwrEvents_PowerSchemeChanged); }