using RGB.NET.Core;
namespace RGB.NET.Devices.Logitech
{
///
///
/// Represents a generic information for a Logitech-.
///
public class LogitechRGBDeviceInfo : IRGBDeviceInfo
{
#region Properties & Fields
///
public RGBDeviceType DeviceType { get; }
///
public string DeviceName { get; }
///
public string Manufacturer => "Logitech";
///
public string Model { get; }
public object? LayoutMetadata { get; set; }
///
/// Gets a flag that describes device capabilities. ()
///
public LogitechDeviceCaps DeviceCaps { get; }
///
/// Gets the amount of zones the is able to control (0 for single-color and per-key devices)
///
public int Zones { get; }
#endregion
#region Constructors
///
/// Internal constructor of managed .
///
/// The type of the .
/// The represented device model.
/// The lighting-capabilities of the device.
/// The amount of zones the device is able to control.
/// The layout used to decide which images to load.
/// The path/name of the layout-file.
internal LogitechRGBDeviceInfo(RGBDeviceType deviceType, string model, LogitechDeviceCaps deviceCaps, int zones)
{
this.DeviceType = deviceType;
this.Model = model;
this.DeviceCaps = deviceCaps;
this.Zones = zones;
DeviceName = DeviceHelper.CreateDeviceName(Manufacturer, Model);
}
#endregion
}
}