using System; using System.Collections.Generic; namespace RGB.NET.Core { /// /// Represents a generic device provider. /// public interface IRGBDeviceProvider : IDisposable { #region Properties & Fields /// /// Indicates if the used SDK is initialized and ready to use. /// bool IsInitialized { get; } /// /// Gets a list of loaded by this . /// IEnumerable Devices { get; } /// /// Gets whether the application has exclusive access to devices or not. /// bool HasExclusiveAccess { get; } #endregion #region Methods /// /// Initializes the if not already happened or reloads it if it is already initialized. /// /// Specifies which types of devices to load. /// Specifies whether the application should request exclusive access of possible or not. /// Specifies whether exception during the initialization sequence should be thrown or not. /// bool Initialize(RGBDeviceType loadFilter = RGBDeviceType.All, bool exclusiveAccessIfPossible = false, bool throwExceptions = false); /// /// Resets all handled back top default. /// void ResetDevices(); #endregion } }