using System;
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 Manufacturer => "Logitech";
///
public string Model { get; }
///
public Uri Image { get; protected set; }
///
public RGBDeviceLighting Lighting
{
get
{
if (DeviceCaps.HasFlag(LogitechDeviceCaps.PerKeyRGB))
return RGBDeviceLighting.Key;
if (DeviceCaps.HasFlag(LogitechDeviceCaps.DeviceRGB))
return RGBDeviceLighting.Keyboard;
return RGBDeviceLighting.None;
}
}
///
/// Gets a flag that describes device capabilities. ()
///
public LogitechDeviceCaps DeviceCaps { get; }
#endregion
#region Constructors
///
/// Internal constructor of managed .
///
/// The type of the .
/// The represented device model.
/// The lighting-capabilities of the device.
internal LogitechRGBDeviceInfo(RGBDeviceType deviceType, string model, LogitechDeviceCaps deviceCaps)
{
this.DeviceType = deviceType;
this.Model = model;
this.DeviceCaps = deviceCaps;
}
#endregion
}
}