From b13ca818bb2d1b23295c31364d011f6876d155f2 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Thu, 14 Aug 2025 10:02:46 -0500 Subject: [PATCH] Store name in MSIOptixController to avoid setting it in detector --- .../MSIOptixController/MSIOptixController.cpp | 18 +++++++++--------- .../MSIOptixController/MSIOptixController.h | 8 ++++---- .../MSIOptixControllerDetect.cpp | 4 ++-- .../RGBController_MSIOptix.cpp | 5 ++--- 4 files changed, 17 insertions(+), 18 deletions(-) diff --git a/Controllers/MSIOptixController/MSIOptixController.cpp b/Controllers/MSIOptixController/MSIOptixController.cpp index 4eb24e80..68f4e097 100644 --- a/Controllers/MSIOptixController/MSIOptixController.cpp +++ b/Controllers/MSIOptixController/MSIOptixController.cpp @@ -13,11 +13,11 @@ #include "MSIOptixController.h" #include "StringUtils.h" -MSIOptixController::MSIOptixController(hid_device* dev_handle, const hid_device_info& info) +MSIOptixController::MSIOptixController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name) { - dev = dev_handle; - location = info.path; - version = ""; + dev = dev_handle; + location = info.path; + name = dev_name; } MSIOptixController::~MSIOptixController() @@ -30,6 +30,11 @@ std::string MSIOptixController::GetDeviceLocation() return("HID: " + location); } +std::string MSIOptixController::GetNameString() +{ + return(name); +} + std::string MSIOptixController::GetSerialString() { wchar_t serial_string[128]; @@ -43,11 +48,6 @@ std::string MSIOptixController::GetSerialString() return(StringUtils::wstring_to_string(serial_string)); } -std::string MSIOptixController::GetFirmwareVersion() -{ - return(version); -} - unsigned char MSIOptixController::GetMysteriousFlag(unsigned char mode_value) { switch(mode_value) diff --git a/Controllers/MSIOptixController/MSIOptixController.h b/Controllers/MSIOptixController/MSIOptixController.h index 54e208a4..9d84dde4 100644 --- a/Controllers/MSIOptixController/MSIOptixController.h +++ b/Controllers/MSIOptixController/MSIOptixController.h @@ -67,12 +67,12 @@ enum class MSIOptixController { public: - MSIOptixController(hid_device* dev_handle, const hid_device_info& info); + MSIOptixController(hid_device* dev_handle, const hid_device_info& info, std::string dev_name); ~MSIOptixController(); - std::string GetSerialString(); std::string GetDeviceLocation(); - std::string GetFirmwareVersion(); + std::string GetNameString(); + std::string GetSerialString(); void SetDirect(std::vector colors, unsigned char brightness); void SetMode(std::vector colors, unsigned char brightness, unsigned char speed, unsigned char mode_value, unsigned int mode_flags); @@ -82,7 +82,7 @@ protected: private: std::string location; - std::string version; + std::string name; unsigned char GetMysteriousFlag(unsigned char mode_value); }; diff --git a/Controllers/MSIOptixController/MSIOptixControllerDetect.cpp b/Controllers/MSIOptixController/MSIOptixControllerDetect.cpp index 37979c44..5172720c 100644 --- a/Controllers/MSIOptixController/MSIOptixControllerDetect.cpp +++ b/Controllers/MSIOptixController/MSIOptixControllerDetect.cpp @@ -29,9 +29,9 @@ void DetectMSIOptixControllers(hid_device_info* info, const std::string& name) if(dev) { - MSIOptixController* controller = new MSIOptixController(dev, *info); + MSIOptixController* controller = new MSIOptixController(dev, *info, name); RGBController_MSIOptix* rgb_controller = new RGBController_MSIOptix(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } } diff --git a/Controllers/MSIOptixController/RGBController_MSIOptix.cpp b/Controllers/MSIOptixController/RGBController_MSIOptix.cpp index 0e1a7572..3fdc0933 100644 --- a/Controllers/MSIOptixController/RGBController_MSIOptix.cpp +++ b/Controllers/MSIOptixController/RGBController_MSIOptix.cpp @@ -27,13 +27,12 @@ RGBController_MSIOptix::RGBController_MSIOptix(MSIOptixController* controller_ptr) { controller = controller_ptr; - name = "MSI Optix USB Device"; + name = controller->GetNameString(); vendor = "MSI"; type = DEVICE_TYPE_LEDSTRIP; - description = name; + description = "MSI Optix USB Device"; location = controller->GetDeviceLocation(); serial = controller->GetSerialString(); - version = controller->GetFirmwareVersion(); mode Direct; Direct.name = "Direct";