From 2b546fce9fa4bd70a185b64066abe805e27a8c28 Mon Sep 17 00:00:00 2001 From: Adam Honse Date: Tue, 5 Aug 2025 20:50:38 -0500 Subject: [PATCH] Store name in CorsairHydroPlatinumController to avoid setting it in detector --- .../CorsairHydroPlatinumController.cpp | 18 ++++++++++++------ .../CorsairHydroPlatinumController.h | 4 +++- .../CorsairHydroPlatinumControllerDetect.cpp | 4 ++-- .../RGBController_CorsairHydroPlatinum.cpp | 2 +- 4 files changed, 18 insertions(+), 10 deletions(-) diff --git a/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.cpp b/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.cpp index dca14d77..af0800a3 100644 --- a/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.cpp +++ b/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.cpp @@ -85,11 +85,12 @@ static const uint8_t MAGIC_3[61] = 0xff, 0xff, 0xff, 0xff, 0xff }; -CorsairHydroPlatinumController::CorsairHydroPlatinumController(hid_device* dev_handle, const char* path) +CorsairHydroPlatinumController::CorsairHydroPlatinumController(hid_device* dev_handle, const char* path, std::string dev_name) { - dev = dev_handle; - location = path; - guard_manager_ptr = new DeviceGuardManager(new CorsairDeviceGuard()); + dev = dev_handle; + location = path; + name = dev_name; + guard_manager_ptr = new DeviceGuardManager(new CorsairDeviceGuard()); SendMagic(MAGIC_1, CORSAIR_HYDRO_PLATINUM_MAGIC_1); SendMagic(MAGIC_2, CORSAIR_HYDRO_PLATINUM_MAGIC_2); @@ -104,12 +105,17 @@ CorsairHydroPlatinumController::~CorsairHydroPlatinumController() std::string CorsairHydroPlatinumController::GetLocation() { - return ("HID: " + location); + return("HID: " + location); } std::string CorsairHydroPlatinumController::GetFirmwareString() { - return firmware_version; + return(firmware_version); +} + +std::string CorsairHydroPlatinumController::GetName() +{ + return(name); } void CorsairHydroPlatinumController::SetupColors(std::vector colors) diff --git a/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.h b/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.h index 681a0836..f59ab245 100644 --- a/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.h +++ b/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumController.h @@ -34,17 +34,19 @@ enum class CorsairHydroPlatinumController { public: - CorsairHydroPlatinumController(hid_device* dev_handle, const char* path); + CorsairHydroPlatinumController(hid_device* dev_handle, const char* path, std::string dev_name); ~CorsairHydroPlatinumController(); std::string GetLocation(); std::string GetFirmwareString(); + std::string GetName(); void SetupColors(std::vector colors); private: hid_device* dev; std::string location; std::string firmware_version; + std::string name; std::atomic sequence_number; DeviceGuardManager* guard_manager_ptr; diff --git a/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumControllerDetect.cpp b/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumControllerDetect.cpp index 18021fe2..bbc1055e 100644 --- a/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumControllerDetect.cpp +++ b/Controllers/CorsairHydroPlatinumController/CorsairHydroPlatinumControllerDetect.cpp @@ -38,9 +38,9 @@ void DetectCorsairHydroPlatinumControllers(hid_device_info* info, const std::str if(dev) { - CorsairHydroPlatinumController* controller = new CorsairHydroPlatinumController(dev, info->path); + CorsairHydroPlatinumController* controller = new CorsairHydroPlatinumController(dev, info->path, name); RGBController_CorsairHydroPlatinum* rgb_controller = new RGBController_CorsairHydroPlatinum(controller); - rgb_controller->name = name; + ResourceManager::get()->RegisterRGBController(rgb_controller); } } diff --git a/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp b/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp index d946667f..7cc081c4 100644 --- a/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp +++ b/Controllers/CorsairHydroPlatinumController/RGBController_CorsairHydroPlatinum.cpp @@ -36,7 +36,7 @@ RGBController_CorsairHydroPlatinum::RGBController_CorsairHydroPlatinum(CorsairHy { controller = controller_ptr; - name = "Corsair Hydro Platinum Series Device"; + name = controller->GetName(); vendor = "Corsair"; description = "Corsair Hydro Platinum Series Device"; type = DEVICE_TYPE_COOLER;