using System;
using RGB.NET.Core;
namespace RGB.NET.Devices.Asus
{
///
///
/// Represents a generic information for a Corsair-.
///
public abstract class AsusRGBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
///
public RGBDeviceType DeviceType { get; }
///
public string DeviceName { get; }
///
public string Manufacturer { get; }
///
public string Model { get; }
///
public Uri Image { get; set; }
///
public RGBDeviceLighting Lighting => RGBDeviceLighting.Key;
///
public abstract bool SupportsSyncBack { get; }
///
/// Gets the index of the .
///
internal IntPtr Handle { get; }
#endregion
#region Constructors
///
/// Internal constructor of managed .
///
/// The type of the .
/// The handle of the .
/// The manufacturer-name of the .
/// The model-name of the .
internal AsusRGBDeviceInfo(RGBDeviceType deviceType, IntPtr handle, string model = "Generic Asus-Device", string manufacturer = "Asus")
{
this.DeviceType = deviceType;
this.Handle = handle;
this.Model = model;
this.Manufacturer = manufacturer;
DeviceName = $"{Manufacturer} {Model}";
}
#endregion
}
}