diff --git a/RGB.NET.Devices.Msi/Generic/IMsiRGBDevice.cs b/RGB.NET.Devices.Msi/Generic/IMsiRGBDevice.cs
index f8b35a8..13caa17 100644
--- a/RGB.NET.Devices.Msi/Generic/IMsiRGBDevice.cs
+++ b/RGB.NET.Devices.Msi/Generic/IMsiRGBDevice.cs
@@ -3,10 +3,10 @@
namespace RGB.NET.Devices.Msi
{
///
- /// Represents a msi RGB-device.
+ /// Represents a MSI RGB-device.
///
internal interface IMsiRGBDevice : IRGBDevice
{
- void Initialize();
+ void Initialize(MsiDeviceUpdateQueue updateQueue);
}
}
diff --git a/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs b/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs
new file mode 100644
index 0000000..b2dffc0
--- /dev/null
+++ b/RGB.NET.Devices.Msi/Generic/MsiDeviceUpdateQueue.cs
@@ -0,0 +1,45 @@
+using System.Collections.Generic;
+using RGB.NET.Core;
+using RGB.NET.Devices.Msi.Native;
+
+namespace RGB.NET.Devices.Msi
+{
+ ///
+ ///
+ /// Represents the update-queue performing updates for MSI devices.
+ ///
+ public class MsiDeviceUpdateQueue : UpdateQueue
+ {
+ #region Properties & Fields
+
+ private string _deviceType;
+
+ #endregion
+
+ #region Constructors
+
+ ///
+ /// Initializes a new instance of the class.
+ ///
+ /// The update trigger used by this queue.
+ /// The device-type used to identify the device.
+ public MsiDeviceUpdateQueue(IDeviceUpdateTrigger updateTrigger, string deviceType)
+ : base(updateTrigger)
+ {
+ this._deviceType = deviceType;
+ }
+
+ #endregion
+
+ #region Methods
+
+ ///
+ protected override void Update(Dictionary