using System; using RGB.NET.Core; using RGB.NET.Devices.CoolerMaster.Native; namespace RGB.NET.Devices.CoolerMaster; /// /// /// Represents a generic CoolerMaster-device. (keyboard, mouse, headset, mousepad). /// public abstract class CoolerMasterRGBDevice : AbstractRGBDevice, ICoolerMasterRGBDevice where TDeviceInfo : CoolerMasterRGBDeviceInfo { #region Constructors /// /// Initializes a new instance of the class. /// /// The generic information provided by CoolerMaster for the device. /// The update trigger used to update this device. protected CoolerMasterRGBDevice(TDeviceInfo info, IDeviceUpdateTrigger updateTrigger) : base(info, new CoolerMasterUpdateQueue(updateTrigger, info.DeviceIndex)) { } #endregion #region Methods /// /// public override void Dispose() { _CoolerMasterSDK.EnableLedControl(false, DeviceInfo.DeviceIndex); base.Dispose(); } #endregion }