Add detector names and display them in the progress bar

This commit is contained in:
Adam Honse
2020-08-06 15:18:32 -05:00
parent 75899f973b
commit f716a05947
50 changed files with 80 additions and 56 deletions

View File

@@ -51,4 +51,4 @@ void DetectAMDWraithPrismControllers(std::vector<RGBController*>& rgb_controller
}
}
REGISTER_DETECTOR(DetectAMDWraithPrismControllers);
REGISTER_DETECTOR("AMD Wraith Prism", DetectAMDWraithPrismControllers);

View File

@@ -45,4 +45,4 @@ void DetectAuraCoreControllers(std::vector<RGBController*>& rgb_controllers)
}
}
REGISTER_DETECTOR(DetectAuraCoreControllers);
REGISTER_DETECTOR("ASUS Aura Core", DetectAuraCoreControllers);

View File

@@ -85,4 +85,4 @@ void DetectAuraGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::ve
}
} /* DetectAuraGPUControllers() */
REGISTER_I2C_DETECTOR(DetectAuraGPUControllers);
REGISTER_I2C_DETECTOR("ASUS Aura GPU", DetectAuraGPUControllers);

View File

@@ -190,4 +190,4 @@ void DetectAuraSMBusControllers(std::vector<i2c_smbus_interface*> &busses, std::
} /* DetectAuraSMBusControllers() */
REGISTER_I2C_DETECTOR(DetectAuraSMBusControllers);
REGISTER_I2C_DETECTOR("ASUS Aura SMBus", DetectAuraSMBusControllers);

View File

@@ -77,4 +77,4 @@ void DetectAuraUSBControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectAuraUSBControllers() */
REGISTER_DETECTOR(DetectAuraUSBControllers);
REGISTER_DETECTOR("ASUS Aura USB", DetectAuraUSBControllers);

View File

@@ -66,4 +66,4 @@ void DetectCoolerMasterControllers(std::vector<RGBController*>& rgb_controllers)
hid_free_enumeration(info);
} /* DetectCoolerMasterControllers() */
REGISTER_DETECTOR(DetectCoolerMasterControllers);
REGISTER_DETECTOR("Cooler Master", DetectCoolerMasterControllers);

View File

@@ -79,4 +79,4 @@ void DetectCorsairLightingNodeControllers(std::vector<RGBController*> &rgb_contr
}
} /* DetectCorsairLightingNodeControllers() */
REGISTER_DETECTOR(DetectCorsairLightingNodeControllers);
REGISTER_DETECTOR("Corsair Lighting Node", DetectCorsairLightingNodeControllers);

View File

@@ -160,4 +160,4 @@ void DetectCorsairPeripheralControllers(std::vector<RGBController*>& rgb_control
}
} /* DetectCorsairPeripheralControllers() */
REGISTER_DETECTOR(DetectCorsairPeripheralControllers);
REGISTER_DETECTOR("Corsair Peripheral", DetectCorsairPeripheralControllers);

View File

@@ -125,4 +125,4 @@ void DetectCorsairVengeanceControllers(std::vector<i2c_smbus_interface*> &busses
} /* DetectCorsairVengeanceControllers() */
REGISTER_I2C_DETECTOR(DetectCorsairVengeanceControllers);
REGISTER_I2C_DETECTOR("Corsair Vengeance", DetectCorsairVengeanceControllers);

View File

@@ -133,4 +133,4 @@ void DetectCorsairVengeanceProControllers(std::vector<i2c_smbus_interface*> &bus
} /* DetectCorsairVengeanceProControllers() */
REGISTER_I2C_DETECTOR(DetectCorsairVengeanceProControllers);
REGISTER_I2C_DETECTOR("Corsair Vengeance Pro", DetectCorsairVengeanceProControllers);

View File

@@ -88,4 +88,4 @@ void DetectCrucialControllers(std::vector<i2c_smbus_interface*> &busses, std::ve
} /* DetectCrucialControllers() */
REGISTER_I2C_DETECTOR(DetectCrucialControllers);
REGISTER_I2C_DETECTOR("Crucial", DetectCrucialControllers);

View File

@@ -81,4 +81,4 @@ void DetectDuckyKeyboardControllers(std::vector<RGBController*>& rgb_controllers
}
} /* DetectDuckyKeyboardControllers() */
REGISTER_DETECTOR(DetectDuckyKeyboardControllers);
REGISTER_DETECTOR("Ducky Keyboard", DetectDuckyKeyboardControllers);

View File

@@ -64,4 +64,4 @@ void DetectEKControllers(std::vector<RGBController*>& rgb_controllers)
hid_free_enumeration(info);
} /* DetectEKControllers() */
REGISTER_DETECTOR(DetectEKControllers);
REGISTER_DETECTOR("EK", DetectEKControllers);

View File

@@ -68,4 +68,4 @@ void DetectGalaxGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::v
} /* DetectGalaxGPUControllers() */
REGISTER_I2C_DETECTOR(DetectGalaxGPUControllers);
REGISTER_I2C_DETECTOR("Galax GPU", DetectGalaxGPUControllers);

View File

@@ -60,4 +60,4 @@ void DetectGloriousModelOControllers(std::vector<RGBController*>& rgb_controller
}
} /* DetectGloriousModelOControllers() */
REGISTER_DETECTOR(DetectGloriousModelOControllers);
REGISTER_DETECTOR("Glorious Model O", DetectGloriousModelOControllers);

View File

@@ -86,4 +86,4 @@ void DetectHoltekControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectHoltekControllers() */
REGISTER_DETECTOR(DetectHoltekControllers);
REGISTER_DETECTOR("Holtek", DetectHoltekControllers);

View File

@@ -37,4 +37,4 @@ void DetectHuePlusControllers(std::vector<RGBController*> &rgb_controllers)
}
} /* DetectHuePlusControllers() */
REGISTER_DETECTOR(DetectHuePlusControllers);
REGISTER_DETECTOR("NZXT Hue+", DetectHuePlusControllers);

View File

@@ -95,4 +95,4 @@ void DetectHyperXDRAMControllers(std::vector<i2c_smbus_interface*> &busses, std:
} /* DetectHyperXDRAMControllers() */
REGISTER_I2C_DETECTOR(DetectHyperXDRAMControllers);
REGISTER_I2C_DETECTOR("HyperX DRAM", DetectHyperXDRAMControllers);

View File

@@ -107,4 +107,4 @@ void DetectHyperXKeyboardControllers(std::vector<RGBController*>& rgb_controller
}
} /* DetectHyperXKeyboardControllers() */
REGISTER_DETECTOR(DetectHyperXKeyboardControllers);
REGISTER_DETECTOR("HyperX Keyboard", DetectHyperXKeyboardControllers);

View File

@@ -81,4 +81,4 @@ void DetectHyperXMouseControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectHyperXMouseControllers() */
REGISTER_DETECTOR(DetectHyperXMouseControllers);
REGISTER_DETECTOR("HyperX Mouse", DetectHyperXMouseControllers);

View File

@@ -87,4 +87,4 @@ void DetectLEDStripControllers(std::vector<RGBController*> &rgb_controllers)
} /* DetectLEDStripControllers() */
REGISTER_DETECTOR(DetectLEDStripControllers);
REGISTER_DETECTOR("LED Strip", DetectLEDStripControllers);

View File

@@ -247,4 +247,4 @@ void DetectLogitechControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectLogitechControllers() */
REGISTER_DETECTOR(DetectLogitechControllers);
REGISTER_DETECTOR("Logitech", DetectLogitechControllers);

View File

@@ -36,4 +36,4 @@ void DetectMSI3ZoneControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectMSI3ZoneControllers() */
REGISTER_DETECTOR(DetectMSI3ZoneControllers);
REGISTER_DETECTOR("MSI 3-Zone Laptop", DetectMSI3ZoneControllers);

View File

@@ -113,4 +113,4 @@ void DetectMSIGPUControllers(std::vector<i2c_smbus_interface*> &busses, std::vec
}
} /* DetectMSIGPUControllers() */
REGISTER_I2C_DETECTOR(DetectMSIGPUControllers);
REGISTER_I2C_DETECTOR("MSI GPU", DetectMSIGPUControllers);

View File

@@ -103,4 +103,4 @@ void DetectMSIMysticLightControllers(std::vector<RGBController*> &rgb_controller
// The MSI Mystic Light controller is disabled due to bricking risk
// Uncomment this line to enable. Do so at your own risk.
//REGISTER_DETECTOR(DetectMSIMysticLightControllers);
//REGISTER_DETECTOR("MSI Mystic Light", DetectMSIMysticLightControllers);

View File

@@ -40,4 +40,4 @@ void DetectMSIRGBControllers(std::vector<RGBController*> &rgb_controllers)
}
} /* DetectMSIRGBControllers() */
REGISTER_DETECTOR(DetectMSIRGBControllers);
REGISTER_DETECTOR("MSI-RGB", DetectMSIRGBControllers);

View File

@@ -78,4 +78,4 @@ void DetectNZXTHue2Controllers(std::vector<RGBController*> &rgb_controllers)
}
} /* DetectNZXTHue2Controllers() */
REGISTER_DETECTOR(DetectNZXTHue2Controllers);
REGISTER_DETECTOR("NZXT Hue 2", DetectNZXTHue2Controllers);

View File

@@ -51,4 +51,4 @@ void DetectNZXTKrakenControllers(std::vector<RGBController*> &rgb_controllers)
}
} /* DetectNZXTKrakenControllers() */
REGISTER_DETECTOR(DetectNZXTKrakenControllers);
REGISTER_DETECTOR("NZXT Kraken", DetectNZXTKrakenControllers);

View File

@@ -72,4 +72,4 @@ void DetectPatriotViperControllers(std::vector<i2c_smbus_interface*> &busses, st
} /* DetectPatriotViperControllers() */
REGISTER_I2C_DETECTOR(DetectPatriotViperControllers);
REGISTER_I2C_DETECTOR("Patriot Viper", DetectPatriotViperControllers);

View File

@@ -69,4 +69,4 @@ void DetectPolychromeControllers(std::vector<i2c_smbus_interface*>& busses, std:
} /* DetectPolychromeControllers() */
REGISTER_I2C_DETECTOR(DetectPolychromeControllers);
REGISTER_I2C_DETECTOR("ASRock Polychrome", DetectPolychromeControllers);

View File

@@ -53,4 +53,4 @@ void DetectPoseidonZRGBControllers(std::vector<RGBController*>& rgb_controllers)
} /* DetectPoseidonZRGBControllers() */
REGISTER_DETECTOR(DetectPoseidonZRGBControllers);
REGISTER_DETECTOR("Thermaltake Poseidon Z RGB", DetectPoseidonZRGBControllers);

View File

@@ -68,4 +68,4 @@ void DetectRGBFusion2DRAMControllers(std::vector<i2c_smbus_interface*>& busses,
} /* DetectRGBFusion2DRAMControllers() */
// This detector is disabled as proper detection isn't implemented
//REGISTER_I2C_DETECTOR(DetectRGBFusion2DRAMControllers);
//REGISTER_I2C_DETECTOR("Gigabyte RGB Fusion 2 DRAM", DetectRGBFusion2DRAMControllers);

View File

@@ -74,4 +74,4 @@ void DetectRGBFusion2SMBusControllers(std::vector<i2c_smbus_interface*>& busses,
} /* DetectRGBFusion2SMBusControllers() */
// This detector is disabled as proper detection is not implemented
//REGISTER_DETECTOR(DetectRGBFusion2SMBusControllers);
//REGISTER_DETECTOR("Gigabyte RGB Fusion 2 SMBus", DetectRGBFusion2SMBusControllers);

View File

@@ -70,4 +70,4 @@ void DetectRGBFusion2USBControllers(std::vector<RGBController*> &rgb_controllers
hid_free_enumeration(info);
} /* DetectRGBFusion2USBControllers() */
REGISTER_DETECTOR(DetectRGBFusion2USBControllers);
REGISTER_DETECTOR("Gigabyte RGB Fusion 2 USB", DetectRGBFusion2USBControllers);

View File

@@ -67,4 +67,4 @@ void DetectRGBFusionControllers(std::vector<i2c_smbus_interface*>& busses, std::
} /* DetectRGBFusionControllers() */
REGISTER_I2C_DETECTOR(DetectRGBFusionControllers);
REGISTER_I2C_DETECTOR("Gigabyte RGB Fusion", DetectRGBFusionControllers);

View File

@@ -83,4 +83,4 @@ void DetectRGBFusionGPUControllers(std::vector<i2c_smbus_interface*>& busses, st
} /* DetectRGBFusionGPUControllers() */
REGISTER_I2C_DETECTOR(DetectRGBFusionGPUControllers);
REGISTER_I2C_DETECTOR("Gigabyte RGB Fusion GPU", DetectRGBFusionGPUControllers);

View File

@@ -126,4 +126,4 @@ void DetectRedragonControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectRedragonControllers() */
REGISTER_DETECTOR(DetectRedragonControllers);
REGISTER_DETECTOR("Redragon Peripheral", DetectRedragonControllers);

View File

@@ -60,4 +60,4 @@ void DetectSapphireGPUControllers(std::vector<i2c_smbus_interface*>& busses, std
} /* DetectSapphireGPUControllers() */
// This detector is disabled as it does not properly detect
//REGISTER_I2C_DETECTOR(DetectSapphireGPUControllers);
//REGISTER_I2C_DETECTOR("Sapphire GPU", DetectSapphireGPUControllers);

View File

@@ -158,4 +158,4 @@ void DetectSteelSeriesControllers(std::vector<RGBController*>& rgb_controllers)
}
} /* DetectSteelSeriesControllers() */
REGISTER_DETECTOR(DetectSteelSeriesControllers);
REGISTER_DETECTOR("SteelSeries", DetectSteelSeriesControllers);

View File

@@ -84,4 +84,4 @@ void DetectTecknetControllers(std::vector<RGBController*>& rgb_controllers)
hid_free_enumeration(info);
} /* DetectTecknetControllers) */
REGISTER_DETECTOR(DetectTecknetControllers);
REGISTER_DETECTOR("Tecknet", DetectTecknetControllers);

View File

@@ -56,4 +56,4 @@ void DetectThermaltakeRiingControllers(std::vector<RGBController*>& rgb_controll
}
} /* DetectThermaltakeRiingControllers() */
REGISTER_DETECTOR(DetectThermaltakeRiingControllers);
REGISTER_DETECTOR("Thermaltake Riing", DetectThermaltakeRiingControllers);

View File

@@ -2,6 +2,6 @@
#include "DeviceDetector.h"
#define REGISTER_DETECTOR(func) static DeviceDetector device_detector_obj(func)
#define REGISTER_I2C_DETECTOR(func) static I2CDeviceDetector device_detector_obj(func)
#define REGISTER_DETECTOR(name, func) static DeviceDetector device_detector_obj(name, func)
#define REGISTER_I2C_DETECTOR(name, func) static I2CDeviceDetector device_detector_obj(name, func)
#define REGISTER_I2C_BUS_DETECTOR(func) static I2CBusDetector device_detector_obj(func)

View File

@@ -1,6 +1,7 @@
#pragma once
#include <functional>
#include <string>
#include <vector>
#include "ResourceManager.h"
@@ -8,18 +9,18 @@
class DeviceDetector
{
public:
DeviceDetector(DeviceDetectorFunction detector)
DeviceDetector(std::string name, DeviceDetectorFunction detector)
{
ResourceManager::get()->RegisterDeviceDetector(detector);
ResourceManager::get()->RegisterDeviceDetector(name, detector);
}
};
class I2CDeviceDetector
{
public:
I2CDeviceDetector(I2CDeviceDetectorFunction detector)
I2CDeviceDetector(std::string name, I2CDeviceDetectorFunction detector)
{
ResourceManager::get()->RegisterI2CDeviceDetector(detector);
ResourceManager::get()->RegisterI2CDeviceDetector(name, detector);
}
};

View File

@@ -172,4 +172,4 @@ void DetectE131Controllers(std::vector<RGBController*> &rgb_controllers)
} /* DetectE131Controllers() */
REGISTER_DETECTOR(DetectE131Controllers);
REGISTER_DETECTOR("E1.31", DetectE131Controllers);

View File

@@ -123,4 +123,4 @@ void DetectOpenRazerControllers(std::vector<RGBController*> &rgb_controllers)
} /* DetectOpenRazerControllers() */
REGISTER_DETECTOR(DetectOpenRazerControllers);
REGISTER_DETECTOR("OpenRazer", DetectOpenRazerControllers);

View File

@@ -252,4 +252,4 @@ void DetectOpenRazerControllers(std::vector<RGBController*> &rgb_controllers)
} /* DetectOpenRazerControllers() */
REGISTER_DETECTOR(DetectOpenRazerControllers);
REGISTER_DETECTOR("OpenRazer-Win32", DetectOpenRazerControllers);

View File

@@ -1,5 +1,5 @@
#include "RGBController_Faustus.h"
#include "Detector.h"
#include <dirent.h>
#include <string.h>
@@ -170,4 +170,6 @@ void DetectFaustusControllers(std::vector<RGBController*> &rgb_controllers)
closedir(dir);
if(found != 6) return;
rgb_controllers.push_back(new RGBController_Faustus(base_path));
}
} /* DetectFaustusControllers() */
REGISTER_DETECTOR("Faustus", DetectFaustusControllers);

View File

@@ -53,13 +53,15 @@ void ResourceManager::RegisterI2CBusDetector(I2CBusDetectorFunction detector)
i2c_bus_detectors.push_back(detector);
}
void ResourceManager::RegisterI2CDeviceDetector(I2CDeviceDetectorFunction detector)
void ResourceManager::RegisterI2CDeviceDetector(std::string name, I2CDeviceDetectorFunction detector)
{
i2c_device_detector_strings.push_back(name);
i2c_device_detectors.push_back(detector);
}
void ResourceManager::RegisterDeviceDetector(DeviceDetectorFunction detector)
void ResourceManager::RegisterDeviceDetector(std::string name, DeviceDetectorFunction detector)
{
device_detector_strings.push_back(name);
device_detectors.push_back(detector);
}
@@ -89,6 +91,11 @@ unsigned int ResourceManager::GetDetectionPercent()
return(detection_percent);
}
std::string ResourceManager::GetDetectionString()
{
return(detection_string);
}
void ResourceManager::DetectDevices()
{
/*-------------------------------------------------*\
@@ -122,6 +129,9 @@ void ResourceManager::DetectDevicesThreadFunction()
\*-------------------------------------------------*/
for(int i2c_detector_idx = 0; i2c_detector_idx < i2c_device_detectors.size(); i2c_detector_idx++)
{
detection_string = i2c_device_detector_strings[i2c_detector_idx];
DeviceListChanged();
i2c_device_detectors[i2c_detector_idx](busses, rgb_controllers);
/*-------------------------------------------------*\
@@ -144,6 +154,9 @@ void ResourceManager::DetectDevicesThreadFunction()
\*-------------------------------------------------*/
for(int detector_idx = 0; detector_idx < device_detectors.size(); detector_idx++)
{
detection_string = device_detector_strings[detector_idx];
DeviceListChanged();
device_detectors[detector_idx](rgb_controllers);
/*-------------------------------------------------*\

View File

@@ -4,6 +4,7 @@
#include <vector>
#include <functional>
#include <thread>
#include <string>
#include "i2c_smbus.h"
#include "RGBController.h"
@@ -29,12 +30,13 @@ public:
std::vector<RGBController*> & GetRGBControllers();
void RegisterI2CBusDetector (I2CBusDetectorFunction detector);
void RegisterDeviceDetector (DeviceDetectorFunction detector);
void RegisterI2CDeviceDetector (I2CDeviceDetectorFunction detector);
void RegisterDeviceDetector (std::string name, DeviceDetectorFunction detector);
void RegisterI2CDeviceDetector (std::string name, I2CDeviceDetectorFunction detector);
void RegisterDeviceListChangeCallback(ResourceManagerCallback new_callback, void * new_callback_arg);
unsigned int GetDetectionPercent();
std::string GetDetectionString();
void DeviceListChanged();
@@ -46,12 +48,15 @@ private:
static std::unique_ptr<ResourceManager> instance;
unsigned int detection_percent;
std::string detection_string;
std::vector<i2c_smbus_interface*> busses;
std::vector<RGBController*> rgb_controllers;
std::vector<DeviceDetectorFunction> device_detectors;
std::vector<std::string> device_detector_strings;
std::vector<I2CBusDetectorFunction> i2c_bus_detectors;
std::vector<I2CDeviceDetectorFunction> i2c_device_detectors;
std::vector<std::string> i2c_device_detector_strings;
std::thread * DetectDevicesThread;

View File

@@ -417,6 +417,9 @@ void OpenRGBDialog2::on_ClientListUpdated()
ui->DetectionProgressBar->setRange(0, 100);
ui->DetectionProgressBar->setValue(ResourceManager::get()->GetDetectionPercent());
ui->DetectionProgressBar->setTextVisible(true);
ui->DetectionProgressBar->setFormat("Detecting " + QString::fromStdString(ResourceManager::get()->GetDetectionString()));
ui->DetectionProgressBar->setAlignment(Qt::AlignCenter);
if(ResourceManager::get()->GetDetectionPercent() == 100)
{