protected AbstractRGBNetDevice(IRGBDeviceProvider deviceProvider, AuroraRGBNetBrush brush = null) { this._deviceProvider = deviceProvider; _surface = RGBSurface.Instance; _brush = brush ?? new AuroraRGBNetBrush(); }
public void AddDeviceProvider(IRGBDeviceProvider deviceProvider) { try { Surface.LoadDevices(deviceProvider, RGBDeviceType.All, false, true); } catch (Exception e) { _logger.Error(e, "Exception during device loading for device provider {deviceProvider}", deviceProvider.GetType().Name); throw e; } if (deviceProvider.Devices == null || !deviceProvider.Devices.Any()) { _logger.Warning("Device provider {deviceProvider} has no devices", deviceProvider.GetType().Name); return; } foreach (IRGBDevice surfaceDevice in deviceProvider.Devices) { _logger.Debug("Device provider {deviceProvider} added {deviceName}", deviceProvider.GetType().Name, surfaceDevice.DeviceInfo?.DeviceName); if (!_loadedDevices.Contains(surfaceDevice)) { _loadedDevices.Add(surfaceDevice); OnDeviceLoaded(new DeviceEventArgs(surfaceDevice)); } else { OnDeviceReloaded(new DeviceEventArgs(surfaceDevice)); } } }
/// <summary> /// Loads all devices the given <see cref="IRGBDeviceProvider"/> is able to provide. /// </summary> /// <param name="deviceProvider">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(IRGBDeviceProvider deviceProvider, RGBDeviceType loadFilter = RGBDeviceType.All, bool exclusiveAccessIfPossible = false, bool throwExceptions = false) { if (_deviceProvider.Contains(deviceProvider) || _deviceProvider.Any(x => x.GetType() == deviceProvider.GetType())) { return; } List <IRGBDevice> addedDevices = new List <IRGBDevice>(); if (deviceProvider.IsInitialized || deviceProvider.Initialize(loadFilter, exclusiveAccessIfPossible, throwExceptions)) { _deviceProvider.Add(deviceProvider); foreach (IRGBDevice device in deviceProvider.Devices) { if (_devices.Contains(device)) { continue; } addedDevices.Add(device); device.PropertyChanged += DeviceOnPropertyChanged; _devices.Add(device); } } if (addedDevices.Any()) { UpdateSurfaceRectangle(); SurfaceLayoutChanged?.Invoke(new SurfaceLayoutChangedEventArgs(addedDevices, true, false)); } }
public void AddDeviceProvider(IRGBDeviceProvider deviceProvider) { Surface.LoadDevices(deviceProvider); if (deviceProvider.Devices == null) { _logger.Warning("Device provider {deviceProvider} has no devices", deviceProvider.GetType().Name); return; } lock (_loadedDevices) { foreach (var surfaceDevice in deviceProvider.Devices) { if (!_loadedDevices.Contains(surfaceDevice)) { _loadedDevices.Add(surfaceDevice); OnDeviceLoaded(new DeviceEventArgs(surfaceDevice)); } else { OnDeviceReloaded(new DeviceEventArgs(surfaceDevice)); } } } }
protected void LoadDevices(RGBSurface surface, IRGBDeviceProvider deviceProvider) { surface.LoadDevices(deviceProvider, RGBDeviceType.Keyboard | RGBDeviceType.LedMatrix | RGBDeviceType.Mousepad | RGBDeviceType.LedStripe | RGBDeviceType.Mouse | RGBDeviceType.Headset | RGBDeviceType.HeadsetStand); }
private void LoadDevices(RGBSurface surface, IRGBDeviceProvider deviceProvider) { surface.LoadDevices(deviceProvider, RGBDeviceType.Keyboard | RGBDeviceType.LedMatrix | RGBDeviceType.Mousepad | RGBDeviceType.LedStripe | RGBDeviceType.Mouse // | RGBDeviceType.Headset | RGBDeviceType.HeadsetStand //| RGBDeviceType.GraphicsCard //| RGBDeviceType.DRAM | RGBDeviceType.LedMatrix //| RGBDeviceType.LedStripe | RGBDeviceType.Keypad //| RGBDeviceType.Mainboard ); }
/// <summary> /// Creates a new instance of the <see cref="DeviceProvider" /> class /// </summary> /// <param name="rgbDeviceProvider"></param> protected DeviceProvider(IRGBDeviceProvider rgbDeviceProvider) { RgbDeviceProvider = rgbDeviceProvider ?? throw new ArgumentNullException(nameof(rgbDeviceProvider)); }
protected DeviceProvider(PluginInfo pluginInfo, IRGBDeviceProvider rgbDeviceProvider) : base(pluginInfo) { RgbDeviceProvider = rgbDeviceProvider ?? throw new ArgumentNullException(nameof(rgbDeviceProvider)); }
public void LoadDevices(IRGBDeviceProvider provider) { providers.Add(provider); }