Store name in MSIOptixController to avoid setting it in detector

This commit is contained in:
Adam Honse 2025-08-14 10:02:46 -05:00
parent 2dd013a0a0
commit b13ca818bb
4 changed files with 17 additions and 18 deletions

View file

@ -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)

View file

@ -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<RGBColor> colors, unsigned char brightness);
void SetMode(std::vector<RGBColor> 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);
};

View file

@ -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);
}
}

View file

@ -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";