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; } /// /// Gets the layout used to decide which images to load. /// internal string ImageLayout { get; } /// /// Gets the path/name of the layout-file. /// internal string LayoutPath { 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, string imageLayout, string layoutPath) { this.DeviceType = deviceType; this.Model = model; this.DeviceCaps = deviceCaps; this.Zones = zones; this.ImageLayout = imageLayout; this.LayoutPath = layoutPath; DeviceName = $"{Manufacturer} {Model}"; } #endregion } }