1
0
mirror of https://github.com/DarthAffe/RGB.NET.git synced 2025-12-12 17:48:31 +00:00

Removed generic constraint from IDeviceProviderLoader

This commit is contained in:
Darth Affe 2018-06-03 10:03:27 +02:00
parent ce745f0b6e
commit 0b41bb1b02
12 changed files with 16 additions and 17 deletions

View File

@ -2,10 +2,9 @@
{
/// <summary>
/// Represents a generic device provider loaded used to dynamically load devices into an application.
/// This class should always provide an empty public constructor!
/// </summary>
/// <typeparam name="T"></typeparam>
public interface IRGBDeviceProviderLoader<T>
where T : class, IRGBDeviceProviderLoader<T>, new()
public interface IRGBDeviceProviderLoader
{
/// <summary>
/// Indicates if the returned device-provider needs some specific initialization before use.

View File

@ -10,15 +10,15 @@ namespace RGB.NET.Core
// ReSharper disable UnusedMember.Global
/// <summary>
/// Loads all devices the given by the <see cref="IRGBDeviceProvider"/> provided by the give <see cref="IRGBDeviceProviderLoader{T}"/>.
/// Loads all devices the given by the <see cref="IRGBDeviceProvider"/> provided by the give <see cref="IRGBDeviceProviderLoader"/>.
/// </summary>
/// <param name="deviceProviderLoader">The <see cref="IRGBDeviceProviderLoader{T}"/> which provides the <see cref="IRGBDeviceProvider"/> to load the devices from.</param>
/// <param name="deviceProviderLoader">The <see cref="IRGBDeviceProviderLoader"/> which provides the <see cref="IRGBDeviceProvider"/> to load the devices from.</param>
/// <param name="loadFilter">Specifies which types of devices to load.</param>
/// <param name="exclusiveAccessIfPossible">Specifies whether the application should request exclusive access of possible or not.</param>
/// <param name="throwExceptions">Specifies whether exception during the initialization sequence should be thrown or not.</param>
public void LoadDevices<T>(IRGBDeviceProviderLoader<T> deviceProviderLoader, RGBDeviceType loadFilter = RGBDeviceType.All,
public void LoadDevices<T>(IRGBDeviceProviderLoader deviceProviderLoader, RGBDeviceType loadFilter = RGBDeviceType.All,
bool exclusiveAccessIfPossible = false, bool throwExceptions = false)
where T : class, IRGBDeviceProviderLoader<T>, new()
where T : class, IRGBDeviceProviderLoader, new()
=> LoadDevices(deviceProviderLoader.GetDeviceProvider(), loadFilter, exclusiveAccessIfPossible, throwExceptions);
/// <summary>

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Asus
/// <summary>
/// Represents a device provider loaded used to dynamically load asus devices into an application.
/// </summary>
public class AsusDeviceProviderLoader : IRGBDeviceProviderLoader<AsusDeviceProviderLoader>
public class AsusDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.CoolerMaster
/// <summary>
/// Represents a device provider loaded used to dynamically load cooler-master devices into an application.
/// </summary>
public class CoolerMasterDeviceProviderLoader : IRGBDeviceProviderLoader<CoolerMasterDeviceProviderLoader>
public class CoolerMasterDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Corsair
/// <summary>
/// Represents a device provider loaded used to dynamically load corsair devices into an application.
/// </summary>
public class CorsairDeviceProviderLoader : IRGBDeviceProviderLoader<CorsairDeviceProviderLoader>
public class CorsairDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.DMX
/// <summary>
/// Represents a device provider loaded used to dynamically load DMX devices into an application.
/// </summary>
public class DMXDeviceProviderLoader : IRGBDeviceProviderLoader<DMXDeviceProviderLoader>
public class DMXDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Debug
/// <summary>
/// Represents a device provider loaded used to dynamically load debug devices into an application.
/// </summary>
public class DebugDeviceProviderLoader : IRGBDeviceProviderLoader<DebugDeviceProviderLoader>
public class DebugDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Logitech
/// <summary>
/// Represents a device provider loaded used to dynamically load logitech devices into an application.
/// </summary>
public class LogitechDeviceProviderLoader : IRGBDeviceProviderLoader<LogitechDeviceProviderLoader>
public class LogitechDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Msi
/// <summary>
/// Represents a device provider loaded used to dynamically load msi devices into an application.
/// </summary>
public class MsiDeviceProviderLoader : IRGBDeviceProviderLoader<MsiDeviceProviderLoader>
public class MsiDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Novation
/// <summary>
/// Represents a device provider loaded used to dynamically load novation devices into an application.
/// </summary>
public class NovationDeviceProviderLoader : IRGBDeviceProviderLoader<NovationDeviceProviderLoader>
public class NovationDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Razer
/// <summary>
/// Represents a device provider loaded used to dynamically load razer devices into an application.
/// </summary>
public class RazerDeviceProviderLoader : IRGBDeviceProviderLoader<RazerDeviceProviderLoader>
public class RazerDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields

View File

@ -5,7 +5,7 @@ namespace RGB.NET.Devices.Roccat
/// <summary>
/// Represents a device provider loaded used to dynamically load roccat devices into an application.
/// </summary>
public class RoccatDeviceProviderLoader : IRGBDeviceProviderLoader<RoccatDeviceProviderLoader>
public class RoccatDeviceProviderLoader : IRGBDeviceProviderLoader
{
#region Properties & Fields