public PowerBroadcasts(PowerSettingsNotification notifications, PowerEventProvider provider) { this.notificationHandles = new Dictionary <PowerSettingsNotification, IntPtr>(); this.provider = provider; this.provider.EventReceived += provider_EventReceived; RegisterNotifications(notifications); }
private void Dispose(bool disposeManagedResources) { if (!disposed) { if (disposeManagedResources) { if (this.provider != null) { this.provider.Dispose(); this.provider = null; } } foreach (IntPtr handle in this.notificationHandles.Values) { NativeMethods.UnregisterPowerSettingNotification(handle); } disposed = true; } }
public PowerBroadcasts(PowerEventProvider provider) : this(PowerSettingsNotification.None, provider) { }