// ReSharper disable MemberCanBePrivate.Global using System; using System.Collections.Generic; using System.Linq; using HidSharp; using HidSharp.Reports; using RGB.NET.Core; using RGB.NET.HID; namespace RGB.NET.Devices.HIDLampArray; /// /// /// Represents a device provider responsible for PicoPi-devices. /// // ReSharper disable once InconsistentNaming public sealed class HIDLampArrayDeviceProvider : AbstractRGBDeviceProvider { #region Properties & Fields private static HIDLampArrayDeviceProvider? _instance; /// /// Gets the singleton instance. /// public static HIDLampArrayDeviceProvider Instance => _instance ?? new HIDLampArrayDeviceProvider(); #endregion #region Constructors /// /// Initializes a new instance of the class. /// /// Thrown if this constructor is called even if there is already an instance of this class. public HIDLampArrayDeviceProvider() { if (_instance != null) throw new InvalidOperationException($"There can be only one instance of type {nameof(HIDLampArrayDeviceProvider)}"); _instance = this; } #endregion #region Methods protected override void InitializeSDK() { } protected override IEnumerable LoadDevices() { foreach (HidDevice? device in DeviceList.Local.GetHidDevices()) { } yield break; } #endregion }