diff --git a/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp b/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp index 0f2c88e6..ae136da8 100644 --- a/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp +++ b/Controllers/AMDWraithPrismController/AMDWraithPrismControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "AMDWraithPrismController.h" #include "RGBController.h" #include "RGBController_AMDWraithPrism.h" @@ -49,3 +50,5 @@ void DetectAMDWraithPrismControllers(std::vector& rgb_controller info = info->next; } } + +REGISTER_DETECTOR(DetectAMDWraithPrismControllers); \ No newline at end of file diff --git a/Controllers/AuraCoreController/AuraCoreControllerDetect.cpp b/Controllers/AuraCoreController/AuraCoreControllerDetect.cpp index 92200fa9..4f0fc84a 100644 --- a/Controllers/AuraCoreController/AuraCoreControllerDetect.cpp +++ b/Controllers/AuraCoreController/AuraCoreControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "AuraCoreController.h" #include "RGBController.h" #include "RGBController_AuraCore.h" @@ -43,3 +44,5 @@ void DetectAuraCoreControllers(std::vector& rgb_controllers) } } } + +REGISTER_DETECTOR(DetectAuraCoreControllers); \ No newline at end of file diff --git a/Controllers/AuraGPUController/AuraGPUControllerDetect.cpp b/Controllers/AuraGPUController/AuraGPUControllerDetect.cpp index 3b7431a1..724a760d 100644 --- a/Controllers/AuraGPUController/AuraGPUControllerDetect.cpp +++ b/Controllers/AuraGPUController/AuraGPUControllerDetect.cpp @@ -6,6 +6,7 @@ | Jan Rettig (Klapstuhl) 14.02.2020 | \*-----------------------------------------*/ +#include "Detector.h" #include "AuraGPUController.h" #include "RGBController.h" #include "RGBController_AuraGPU.h" @@ -82,4 +83,6 @@ void DetectAuraGPUControllers(std::vector &busses, std::ve std::this_thread::sleep_for(1ms); } } -} /* DetectAuraGPUControllers() */ \ No newline at end of file +} /* DetectAuraGPUControllers() */ + +REGISTER_I2C_DETECTOR(DetectAuraGPUControllers); \ No newline at end of file diff --git a/Controllers/AuraSMBusController/AuraSMBusControllerDetect.cpp b/Controllers/AuraSMBusController/AuraSMBusControllerDetect.cpp index 96d3b729..25b6c62c 100644 --- a/Controllers/AuraSMBusController/AuraSMBusControllerDetect.cpp +++ b/Controllers/AuraSMBusController/AuraSMBusControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "AuraSMBusController.h" #include "RGBController.h" #include "RGBController_AuraSMBus.h" @@ -188,3 +189,5 @@ void DetectAuraSMBusControllers(std::vector &busses, std:: } } /* DetectAuraSMBusControllers() */ + +REGISTER_I2C_DETECTOR(DetectAuraSMBusControllers); \ No newline at end of file diff --git a/Controllers/AuraUSBController/AuraUSBControllerDetect.cpp b/Controllers/AuraUSBController/AuraUSBControllerDetect.cpp index d1bf143b..5c1a82a3 100644 --- a/Controllers/AuraUSBController/AuraUSBControllerDetect.cpp +++ b/Controllers/AuraUSBController/AuraUSBControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "AuraAddressableController.h" #include "AuraMainboardController.h" #include "RGBController.h" @@ -74,4 +75,6 @@ void DetectAuraUSBControllers(std::vector& rgb_controllers) } } } -} +} /* DetectAuraUSBControllers() */ + +REGISTER_DETECTOR(DetectAuraUSBControllers); \ No newline at end of file diff --git a/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp b/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp index ac3ce50b..c8642dd1 100644 --- a/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp +++ b/Controllers/CoolerMasterController/CoolerMasterControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "CMMP750Controller.h" #include "RGBController.h" #include "RGBController_CMMP750Controller.h" @@ -63,4 +64,6 @@ void DetectCoolerMasterControllers(std::vector& rgb_controllers) info = info->next; } hid_free_enumeration(info); -} +} /* DetectCoolerMasterControllers() */ + +REGISTER_DETECTOR(DetectCoolerMasterControllers); \ No newline at end of file diff --git a/Controllers/CorsairLightingNodeController/CorsairLightingNodeControllerDetect.cpp b/Controllers/CorsairLightingNodeController/CorsairLightingNodeControllerDetect.cpp index 886a61f7..8cf43316 100644 --- a/Controllers/CorsairLightingNodeController/CorsairLightingNodeControllerDetect.cpp +++ b/Controllers/CorsairLightingNodeController/CorsairLightingNodeControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "CorsairLightingNodeController.h" #include "RGBController.h" #include "RGBController_CorsairLightingNode.h" @@ -77,3 +78,5 @@ void DetectCorsairLightingNodeControllers(std::vector &rgb_contr } } } /* DetectCorsairLightingNodeControllers() */ + +REGISTER_DETECTOR(DetectCorsairLightingNodeControllers); \ No newline at end of file diff --git a/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp b/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp index 86493f90..f01f5d18 100644 --- a/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp +++ b/Controllers/CorsairPeripheralController/CorsairPeripheralControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "CorsairPeripheralController.h" #include "RGBController.h" #include "RGBController_CorsairPeripheral.h" @@ -157,4 +158,6 @@ void DetectCorsairPeripheralControllers(std::vector& rgb_control info = info->next; } } -} +} /* DetectCorsairPeripheralControllers() */ + +REGISTER_DETECTOR(DetectCorsairPeripheralControllers); \ No newline at end of file diff --git a/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp b/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp index 9f799ddc..ccc93ce2 100644 --- a/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp +++ b/Controllers/CorsairVengeanceController/CorsairVengeanceControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "CorsairVengeanceController.h" #include "RGBController.h" #include "RGBController_CorsairVengeance.h" @@ -122,4 +123,6 @@ void DetectCorsairVengeanceControllers(std::vector &busses } } -} /* DetectCorsairVengeanceControllers() */ \ No newline at end of file +} /* DetectCorsairVengeanceControllers() */ + +REGISTER_I2C_DETECTOR(DetectCorsairVengeanceControllers); \ No newline at end of file diff --git a/Controllers/CorsairVengeanceProController/CorsairVengeanceProControllerDetect.cpp b/Controllers/CorsairVengeanceProController/CorsairVengeanceProControllerDetect.cpp index 40d6d171..8d449fdd 100644 --- a/Controllers/CorsairVengeanceProController/CorsairVengeanceProControllerDetect.cpp +++ b/Controllers/CorsairVengeanceProController/CorsairVengeanceProControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "CorsairVengeanceProController.h" #include "RGBController.h" #include "RGBController_CorsairVengeancePro.h" @@ -130,4 +131,6 @@ void DetectCorsairVengeanceProControllers(std::vector &bus } } -} /* DetectCorsairVengeanceProControllers() */ \ No newline at end of file +} /* DetectCorsairVengeanceProControllers() */ + +REGISTER_I2C_DETECTOR(DetectCorsairVengeanceProControllers); \ No newline at end of file diff --git a/Controllers/CrucialController/CrucialControllerDetect.cpp b/Controllers/CrucialController/CrucialControllerDetect.cpp index c8ca8094..ebca350b 100644 --- a/Controllers/CrucialController/CrucialControllerDetect.cpp +++ b/Controllers/CrucialController/CrucialControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "CrucialController.h" #include "RGBController.h" #include "RGBController_Crucial.h" @@ -86,3 +87,5 @@ void DetectCrucialControllers(std::vector &busses, std::ve } } /* DetectCrucialControllers() */ + +REGISTER_I2C_DETECTOR(DetectCrucialControllers); \ No newline at end of file diff --git a/Controllers/DuckyKeyboardController/DuckyKeyboardControllerDetect.cpp b/Controllers/DuckyKeyboardController/DuckyKeyboardControllerDetect.cpp index 72fc3872..418d6098 100644 --- a/Controllers/DuckyKeyboardController/DuckyKeyboardControllerDetect.cpp +++ b/Controllers/DuckyKeyboardController/DuckyKeyboardControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "DuckyKeyboardController.h" #include "RGBController.h" #include "RGBController_DuckyKeyboard.h" @@ -78,4 +79,6 @@ void DetectDuckyKeyboardControllers(std::vector& rgb_controllers info = info->next; } } -} +} /* DetectDuckyKeyboardControllers() */ + +REGISTER_DETECTOR(DetectDuckyKeyboardControllers); \ No newline at end of file diff --git a/Controllers/EKController/EKControllerDetect.cpp b/Controllers/EKController/EKControllerDetect.cpp index 8107be1f..d5903a9f 100644 --- a/Controllers/EKController/EKControllerDetect.cpp +++ b/Controllers/EKController/EKControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "EKController.h" #include "RGBController.h" #include "RGBController_EKController.h" @@ -61,4 +62,6 @@ void DetectEKControllers(std::vector& rgb_controllers) info = info->next; } hid_free_enumeration(info); -} +} /* DetectEKControllers() */ + +REGISTER_DETECTOR(DetectEKControllers); diff --git a/Controllers/GalaxGPUController/GalaxGPUControllerDetect.cpp b/Controllers/GalaxGPUController/GalaxGPUControllerDetect.cpp index 30764885..43b1edbc 100644 --- a/Controllers/GalaxGPUController/GalaxGPUControllerDetect.cpp +++ b/Controllers/GalaxGPUController/GalaxGPUControllerDetect.cpp @@ -6,6 +6,7 @@ | Niels Westphal (crashniels) 12.07.2020 | \*-----------------------------------------*/ +#include "Detector.h" #include "GalaxGPUController.h" #include "RGBController.h" #include "RGBController_GalaxGPU.h" @@ -66,3 +67,5 @@ void DetectGalaxGPUControllers(std::vector &busses, std::v } } /* DetectGalaxGPUControllers() */ + +REGISTER_I2C_DETECTOR(DetectGalaxGPUControllers); \ No newline at end of file diff --git a/Controllers/GloriousModelOController/GloriousModelOControllerDetect.cpp b/Controllers/GloriousModelOController/GloriousModelOControllerDetect.cpp index 0bb729ba..f5c7f4d6 100644 --- a/Controllers/GloriousModelOController/GloriousModelOControllerDetect.cpp +++ b/Controllers/GloriousModelOController/GloriousModelOControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "GloriousModelOController.h" #include "RGBController.h" #include "RGBController_GloriousModelO.h" @@ -57,4 +58,6 @@ void DetectGloriousModelOControllers(std::vector& rgb_controller rgb_controllers.push_back(rgb_controller); } -} +} /* DetectGloriousModelOControllers() */ + +REGISTER_DETECTOR(DetectGloriousModelOControllers); \ No newline at end of file diff --git a/Controllers/HoltekController/HoltekControllerDetect.cpp b/Controllers/HoltekController/HoltekControllerDetect.cpp index 8786ff89..4be9e7c4 100644 --- a/Controllers/HoltekController/HoltekControllerDetect.cpp +++ b/Controllers/HoltekController/HoltekControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "HoltekA070Controller.h" #include "RGBController.h" #include "RGBController_HoltekA070.h" @@ -83,4 +84,6 @@ void DetectHoltekControllers(std::vector& rgb_controllers) } } -} \ No newline at end of file +} /* DetectHoltekControllers() */ + +REGISTER_DETECTOR(DetectHoltekControllers); \ No newline at end of file diff --git a/Controllers/HuePlusController/HuePlusControllerDetect.cpp b/Controllers/HuePlusController/HuePlusControllerDetect.cpp index 54cc80f7..cc16323d 100644 --- a/Controllers/HuePlusController/HuePlusControllerDetect.cpp +++ b/Controllers/HuePlusController/HuePlusControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "HuePlusController.h" #include "RGBController.h" #include "RGBController_HuePlus.h" @@ -35,3 +36,5 @@ void DetectHuePlusControllers(std::vector &rgb_controllers) } } } /* DetectHuePlusControllers() */ + +REGISTER_DETECTOR(DetectHuePlusControllers); \ No newline at end of file diff --git a/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp b/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp index 1ffd608c..b1f6d627 100644 --- a/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp +++ b/Controllers/HyperXDRAMController/HyperXDRAMControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "HyperXDRAMController.h" #include "RGBController.h" #include "RGBController_HyperXDRAM.h" @@ -93,3 +94,5 @@ void DetectHyperXDRAMControllers(std::vector &busses, std: } } /* DetectHyperXDRAMControllers() */ + +REGISTER_I2C_DETECTOR(DetectHyperXDRAMControllers); \ No newline at end of file diff --git a/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp b/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp index c4ac30e0..03780e11 100644 --- a/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp +++ b/Controllers/HyperXKeyboardController/HyperXKeyboardControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "HyperXAlloyOriginsController.h" #include "HyperXKeyboardController.h" #include "RGBController.h" @@ -104,4 +105,6 @@ void DetectHyperXKeyboardControllers(std::vector& rgb_controller info = info->next; } } -} +} /* DetectHyperXKeyboardControllers() */ + +REGISTER_DETECTOR(DetectHyperXKeyboardControllers); \ No newline at end of file diff --git a/Controllers/HyperXMouseController/HyperXMouseControllerDetect.cpp b/Controllers/HyperXMouseController/HyperXMouseControllerDetect.cpp index 41b2126e..90c7a09a 100644 --- a/Controllers/HyperXMouseController/HyperXMouseControllerDetect.cpp +++ b/Controllers/HyperXMouseController/HyperXMouseControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "HyperXPulsefireSurgeController.h" #include "RGBController.h" #include "RGBController_HyperXPulsefireSurge.h" @@ -78,4 +79,6 @@ void DetectHyperXMouseControllers(std::vector& rgb_controllers) info = info->next; } } -} +} /* DetectHyperXMouseControllers() */ + +REGISTER_DETECTOR(DetectHyperXMouseControllers); diff --git a/Controllers/LEDStripController/LEDStripControllerDetect.cpp b/Controllers/LEDStripController/LEDStripControllerDetect.cpp index 3a076b1c..b76c438b 100644 --- a/Controllers/LEDStripController/LEDStripControllerDetect.cpp +++ b/Controllers/LEDStripController/LEDStripControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "LEDStripController.h" #include "RGBController.h" #include "RGBController_LEDStrip.h" @@ -21,7 +22,7 @@ * DetectLEDStripControllers * * * * Detect devices supported by the LEDStrip driver * -* * * +* * \******************************************************************************************/ void DetectLEDStripControllers(std::vector &rgb_controllers) @@ -84,5 +85,6 @@ void DetectLEDStripControllers(std::vector &rgb_controllers) } } +} /* DetectLEDStripControllers() */ -} /* DetectLEDStripControllers() */ \ No newline at end of file +REGISTER_DETECTOR(DetectLEDStripControllers); \ No newline at end of file diff --git a/Controllers/LogitechController/LogitechControllerDetect.cpp b/Controllers/LogitechController/LogitechControllerDetect.cpp index 0c2ef541..1b8c34f3 100644 --- a/Controllers/LogitechController/LogitechControllerDetect.cpp +++ b/Controllers/LogitechController/LogitechControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "LogitechG203Controller.h" #include "LogitechG203LController.h" #include "LogitechG403Controller.h" @@ -208,4 +209,6 @@ void DetectLogitechControllers(std::vector& rgb_controllers) } } -} +} /* DetectLogitechControllers() */ + +REGISTER_DETECTOR(DetectLogitechControllers); \ No newline at end of file diff --git a/Controllers/MSI3ZoneController/MSI3ZoneControllerDetect.cpp b/Controllers/MSI3ZoneController/MSI3ZoneControllerDetect.cpp index b070b15f..ac668a84 100644 --- a/Controllers/MSI3ZoneController/MSI3ZoneControllerDetect.cpp +++ b/Controllers/MSI3ZoneController/MSI3ZoneControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "MSI3ZoneController.h" #include "RGBController.h" #include "RGBController_MSI3Zone.h" @@ -33,4 +34,6 @@ void DetectMSI3ZoneControllers(std::vector& rgb_controllers) rgb_controllers.push_back(rgb_controller); } -} +} /* DetectMSI3ZoneControllers() */ + +REGISTER_DETECTOR(DetectMSI3ZoneControllers); diff --git a/Controllers/MSIGPUController/MSIGPUControllerDetect.cpp b/Controllers/MSIGPUController/MSIGPUControllerDetect.cpp index 32fe52b1..b19d782a 100644 --- a/Controllers/MSIGPUController/MSIGPUControllerDetect.cpp +++ b/Controllers/MSIGPUController/MSIGPUControllerDetect.cpp @@ -5,6 +5,7 @@ | | \*-----------------------------------------*/ +#include "Detector.h" #include "MSIGPUController.h" #include "RGBController.h" #include "RGBController_MSIGPU.h" @@ -111,3 +112,5 @@ void DetectMSIGPUControllers(std::vector &busses, std::vec } } } /* DetectMSIGPUControllers() */ + +REGISTER_I2C_DETECTOR(DetectMSIGPUControllers); \ No newline at end of file diff --git a/Controllers/MSIMysticLightController/MSIMysticLightControllerDetect.cpp b/Controllers/MSIMysticLightController/MSIMysticLightControllerDetect.cpp index cde7b310..e1ab138d 100644 --- a/Controllers/MSIMysticLightController/MSIMysticLightControllerDetect.cpp +++ b/Controllers/MSIMysticLightController/MSIMysticLightControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "MSIMysticLightController.h" #include "RGBController_MSIMysticLight.h" @@ -98,4 +99,8 @@ void DetectMSIMysticLightControllers(std::vector &rgb_controller rgb_controllers.push_back(rgb_controller); } } -} +} /* DetectMSIMysticLightControllers() */ + +// 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); diff --git a/Controllers/MSIRGBController/MSIRGBControllerDetect.cpp b/Controllers/MSIRGBController/MSIRGBControllerDetect.cpp index 8c15e027..89fce7b6 100644 --- a/Controllers/MSIRGBController/MSIRGBControllerDetect.cpp +++ b/Controllers/MSIRGBController/MSIRGBControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "MSIRGBController.h" #include "RGBController.h" #include "RGBController_MSIRGB.h" @@ -38,3 +39,5 @@ void DetectMSIRGBControllers(std::vector &rgb_controllers) } } } /* DetectMSIRGBControllers() */ + +REGISTER_DETECTOR(DetectMSIRGBControllers); \ No newline at end of file diff --git a/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp b/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp index a96d95aa..c09c322a 100644 --- a/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp +++ b/Controllers/NZXTHue2Controller/NZXTHue2ControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "NZXTHue2Controller.h" #include "RGBController.h" #include "RGBController_NZXTHue2.h" @@ -76,3 +77,5 @@ void DetectNZXTHue2Controllers(std::vector &rgb_controllers) } } } /* DetectNZXTHue2Controllers() */ + +REGISTER_DETECTOR(DetectNZXTHue2Controllers); \ No newline at end of file diff --git a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp index d91a0f2f..1ab80f81 100644 --- a/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp +++ b/Controllers/NZXTKrakenController/NZXTKrakenControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "NZXTKrakenController.h" #include "RGBController.h" #include "RGBController_NZXTKraken.h" @@ -48,4 +49,6 @@ void DetectNZXTKrakenControllers(std::vector &rgb_controllers) info = info->next; } } -} +} /* DetectNZXTKrakenControllers() */ + +REGISTER_DETECTOR(DetectNZXTKrakenControllers); diff --git a/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp b/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp index 1fb0221f..57c398c2 100644 --- a/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp +++ b/Controllers/PatriotViperController/PatriotViperControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "PatriotViperController.h" #include "RGBController.h" #include "RGBController_PatriotViper.h" @@ -70,3 +71,5 @@ void DetectPatriotViperControllers(std::vector &busses, st } } /* DetectPatriotViperControllers() */ + +REGISTER_I2C_DETECTOR(DetectPatriotViperControllers); \ No newline at end of file diff --git a/Controllers/PolychromeController/PolychromeControllerDetect.cpp b/Controllers/PolychromeController/PolychromeControllerDetect.cpp index 86800a1e..ed1ef754 100644 --- a/Controllers/PolychromeController/PolychromeControllerDetect.cpp +++ b/Controllers/PolychromeController/PolychromeControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "PolychromeController.h" #include "RGBController.h" #include "RGBController_Polychrome.h" @@ -67,3 +68,5 @@ void DetectPolychromeControllers(std::vector& busses, std: } } /* DetectPolychromeControllers() */ + +REGISTER_I2C_DETECTOR(DetectPolychromeControllers); \ No newline at end of file diff --git a/Controllers/PoseidonZRGBController/PoseidonZRGBControllerDetect.cpp b/Controllers/PoseidonZRGBController/PoseidonZRGBControllerDetect.cpp index b4f2b689..f6970e90 100644 --- a/Controllers/PoseidonZRGBController/PoseidonZRGBControllerDetect.cpp +++ b/Controllers/PoseidonZRGBController/PoseidonZRGBControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "PoseidonZRGBController.h" #include "RGBController.h" #include "RGBController_PoseidonZRGB.h" @@ -50,5 +51,6 @@ void DetectPoseidonZRGBControllers(std::vector& rgb_controllers) info = info->next; } +} /* DetectPoseidonZRGBControllers() */ -} +REGISTER_DETECTOR(DetectPoseidonZRGBControllers); diff --git a/Controllers/RGBFusion2DRAMController/RGBFusion2DRAMControllerDetect.cpp b/Controllers/RGBFusion2DRAMController/RGBFusion2DRAMControllerDetect.cpp index ea3e87f3..a046c9c0 100644 --- a/Controllers/RGBFusion2DRAMController/RGBFusion2DRAMControllerDetect.cpp +++ b/Controllers/RGBFusion2DRAMController/RGBFusion2DRAMControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBFusion2DRAMController.h" #include "RGBController.h" #include "RGBController_RGBFusion2DRAM.h" @@ -65,3 +66,6 @@ void DetectRGBFusion2DRAMControllers(std::vector& busses, } } /* DetectRGBFusion2DRAMControllers() */ + +// This detector is disabled as proper detection isn't implemented +//REGISTER_I2C_DETECTOR(DetectRGBFusion2DRAMControllers); \ No newline at end of file diff --git a/Controllers/RGBFusion2SMBusController/RGBFusion2SMBusControllerDetect.cpp b/Controllers/RGBFusion2SMBusController/RGBFusion2SMBusControllerDetect.cpp index d9d899c9..b420ebda 100644 --- a/Controllers/RGBFusion2SMBusController/RGBFusion2SMBusControllerDetect.cpp +++ b/Controllers/RGBFusion2SMBusController/RGBFusion2SMBusControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBFusion2SMBusController.h" #include "RGBController.h" #include "RGBController_RGBFusion2SMBus.h" @@ -71,3 +72,6 @@ void DetectRGBFusion2SMBusControllers(std::vector& busses, } } /* DetectRGBFusion2SMBusControllers() */ + +// This detector is disabled as proper detection is not implemented +//REGISTER_DETECTOR(DetectRGBFusion2SMBusControllers); \ No newline at end of file diff --git a/Controllers/RGBFusion2USBController/RGBFusion2USBControllerDetect.cpp b/Controllers/RGBFusion2USBController/RGBFusion2USBControllerDetect.cpp index c879eb5c..ca428167 100644 --- a/Controllers/RGBFusion2USBController/RGBFusion2USBControllerDetect.cpp +++ b/Controllers/RGBFusion2USBController/RGBFusion2USBControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBFusion2USBController.h" #include "RGBController_RGBFusion2USB.h" #include "dependencies/dmiinfo.h" @@ -67,4 +68,6 @@ void DetectRGBFusion2USBControllers(std::vector &rgb_controllers } hid_free_enumeration(info); -} +} /* DetectRGBFusion2USBControllers() */ + +REGISTER_DETECTOR(DetectRGBFusion2USBControllers); diff --git a/Controllers/RGBFusionController/RGBFusionControllerDetect.cpp b/Controllers/RGBFusionController/RGBFusionControllerDetect.cpp index 201e15c1..b887c8a1 100644 --- a/Controllers/RGBFusionController/RGBFusionControllerDetect.cpp +++ b/Controllers/RGBFusionController/RGBFusionControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBFusionController.h" #include "RGBController.h" #include "RGBController_RGBFusion.h" @@ -64,4 +65,6 @@ void DetectRGBFusionControllers(std::vector& busses, std:: } } -} /* DetectRGBFusionControllers() */ \ No newline at end of file +} /* DetectRGBFusionControllers() */ + +REGISTER_I2C_DETECTOR(DetectRGBFusionControllers); \ No newline at end of file diff --git a/Controllers/RGBFusionGPUController/RGBFusionGPUControllerDetect.cpp b/Controllers/RGBFusionGPUController/RGBFusionGPUControllerDetect.cpp index 8b52f696..fe6cd063 100644 --- a/Controllers/RGBFusionGPUController/RGBFusionGPUControllerDetect.cpp +++ b/Controllers/RGBFusionGPUController/RGBFusionGPUControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBFusionGPUController.h" #include "RGBController.h" #include "RGBController_RGBFusionGPU.h" @@ -81,3 +82,5 @@ void DetectRGBFusionGPUControllers(std::vector& busses, st } } /* DetectRGBFusionGPUControllers() */ + +REGISTER_I2C_DETECTOR(DetectRGBFusionGPUControllers); \ No newline at end of file diff --git a/Controllers/RedragonController/RedragonControllerDetect.cpp b/Controllers/RedragonController/RedragonControllerDetect.cpp index d3fd7b2b..14f94a23 100644 --- a/Controllers/RedragonController/RedragonControllerDetect.cpp +++ b/Controllers/RedragonController/RedragonControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RedragonK556Controller.h" #include "RedragonM711Controller.h" #include "RGBController.h" @@ -123,4 +124,6 @@ void DetectRedragonControllers(std::vector& rgb_controllers) info = info->next; } } -} +} /* DetectRedragonControllers() */ + +REGISTER_DETECTOR(DetectRedragonControllers); diff --git a/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp b/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp index 946ad44e..258e8e37 100644 --- a/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp +++ b/Controllers/SapphireGPUController/SapphireGPUControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "SapphireGPUController.h" #include "RGBController.h" #include "RGBController_SapphireGPU.h" @@ -57,3 +58,6 @@ void DetectSapphireGPUControllers(std::vector& busses, std } } /* DetectSapphireGPUControllers() */ + +// This detector is disabled as it does not properly detect +//REGISTER_I2C_DETECTOR(DetectSapphireGPUControllers); \ No newline at end of file diff --git a/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp b/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp index 5fc2876d..b4992a79 100644 --- a/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp +++ b/Controllers/SteelSeriesController/SteelSeriesControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "SteelSeriesRivalController.h" #include "SteelSeriesSiberiaController.h" #include "SteelSeriesApexController.h" @@ -155,4 +156,6 @@ void DetectSteelSeriesControllers(std::vector& rgb_controllers) } } } -} +} /* DetectSteelSeriesControllers() */ + +REGISTER_DETECTOR(DetectSteelSeriesControllers); diff --git a/Controllers/ThermaltakeRiingController/ThermaltakeRiingControllerDetect.cpp b/Controllers/ThermaltakeRiingController/ThermaltakeRiingControllerDetect.cpp index f6861313..0f555345 100644 --- a/Controllers/ThermaltakeRiingController/ThermaltakeRiingControllerDetect.cpp +++ b/Controllers/ThermaltakeRiingController/ThermaltakeRiingControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "ThermaltakeRiingController.h" #include "RGBController.h" #include "RGBController_ThermaltakeRiing.h" @@ -53,4 +54,6 @@ void DetectThermaltakeRiingControllers(std::vector& rgb_controll rgb_controllers.push_back(rgb_controller); } } -} +} /* DetectThermaltakeRiingControllers() */ + +REGISTER_DETECTOR(DetectThermaltakeRiingControllers); diff --git a/Detector.h b/Detector.h new file mode 100644 index 00000000..c01a1bba --- /dev/null +++ b/Detector.h @@ -0,0 +1,6 @@ +#pragma once + +#include "DeviceDetector.h" + +#define REGISTER_DETECTOR(func) static DeviceDetector device_detector_obj(func) +#define REGISTER_I2C_DETECTOR(func) static I2CDeviceDetector device_detector_obj(func) \ No newline at end of file diff --git a/DeviceDetector.h b/DeviceDetector.h new file mode 100644 index 00000000..7d27e1d1 --- /dev/null +++ b/DeviceDetector.h @@ -0,0 +1,24 @@ +#pragma once + +#include +#include + +#include "ResourceManager.h" + +class DeviceDetector +{ +public: + DeviceDetector(DeviceDetectorFunction detector) + { + ResourceManager::get()->RegisterDeviceDetector(detector); + } +}; + +class I2CDeviceDetector +{ +public: + I2CDeviceDetector(I2CDeviceDetectorFunction detector) + { + ResourceManager::get()->RegisterI2CDeviceDetector(detector); + } +}; \ No newline at end of file diff --git a/OpenRGB.cpp b/OpenRGB.cpp index cd3bbd74..09c321f1 100644 --- a/OpenRGB.cpp +++ b/OpenRGB.cpp @@ -8,6 +8,7 @@ #include "RGBController.h" #include "i2c_smbus.h" +#include "ResourceManager.h" #include #include #include @@ -31,8 +32,6 @@ #endif /* WIN32 */ -std::vector busses; -std::vector rgb_controllers; #ifdef WIN32 /******************************************************************************************\ @@ -44,7 +43,7 @@ std::vector rgb_controllers; * * \******************************************************************************************/ -void DetectNuvotonI2CBusses() +void DetectNuvotonI2CBusses(std::vector &busses) { i2c_smbus_interface* bus; int sioaddr = 0x2E; @@ -102,7 +101,7 @@ void DetectNuvotonI2CBusses() * * \******************************************************************************************/ -void DetectNvAPII2CBusses() +void DetectNvAPII2CBusses(std::vector &busses) { static NV_PHYSICAL_GPU_HANDLE gpu_handles[64]; static NV_S32 gpu_count = 0; @@ -146,7 +145,7 @@ void DetectNvAPII2CBusses() * * \******************************************************************************************/ -void DetectADLI2C() +void DetectADLI2C(std::vector &busses) { int adl_status; int gpu_count = 0; @@ -176,7 +175,7 @@ void DetectADLI2C() * * \******************************************************************************************/ -void DetectI2CBusses() +void DetectI2CBusses(std::vector &busses) { i2c_smbus_interface * bus; HRESULT hres; @@ -247,13 +246,13 @@ void DetectI2CBusses() } // Detect Nuvoton Super IO SMBus adapters - DetectNuvotonI2CBusses(); + DetectNuvotonI2CBusses(busses); // Detect NVidia NvAPI I2C adapters - DetectNvAPII2CBusses(); + DetectNvAPII2CBusses(busses); // Detect AMD ADL I2C adadpters - DetectADLI2C(); + DetectADLI2C(busses); } /* DetectI2CBusses() */ @@ -268,7 +267,7 @@ void DetectI2CBusses() * * \******************************************************************************************/ -void DetectI2CBusses() +void DetectI2CBusses(std::vector &busses) { i2c_smbus_linux * bus; char device_string[1024]; @@ -411,49 +410,6 @@ void DetectI2CBusses() #endif /* WIN32 */ -void DetectAuraSMBusControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectAuraGPUControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectCorsairVengeanceControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectCorsairVengeanceProControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectCrucialControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectHyperXDRAMControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectPatriotViperControllers(std::vector &busses, std::vector &rgb_controllers); -void DetectPolychromeControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectRGBFusionControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectRGBFusionGPUControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectRGBFusion2SMBusControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectRGBFusion2DRAMControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectMSIGPUControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectSapphireGPUControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectGalaxGPUControllers(std::vector& busses, std::vector& rgb_controllers); -void DetectMSIMysticLightControllers(std::vector &rgb_controllers); -void DetectMSIRGBControllers(std::vector &rgb_controllers); -void DetectAuraUSBControllers(std::vector &rgb_controllers); -void DetectAuraCoreControllers(std::vector &rgb_controllers); -void DetectLEDStripControllers(std::vector &rgb_controllers); -void DetectNZXTHue2Controllers(std::vector &rgb_controllers); -void DetectHuePlusControllers(std::vector &rgb_controllers); -void DetectOpenRazerControllers(std::vector &rgb_controllers); -void DetectE131Controllers(std::vector &rgb_controllers); -void DetectAMDWraithPrismControllers(std::vector& rgb_controllers); -void DetectCoolerMasterControllers(std::vector& rgb_controllers); -void DetectMSI3ZoneControllers(std::vector& rgb_controllers); -void DetectPoseidonZRGBControllers(std::vector& rgb_controllers); -void DetectCorsairPeripheralControllers(std::vector& rgb_controllers); -void DetectCorsairLightingNodeControllers(std::vector &rgb_controllers); -void DetectFaustusControllers(std::vector &rgb_controllers); -void DetectHyperXKeyboardControllers(std::vector& rgb_controllers); -void DetectHyperXMouseControllers(std::vector& rgb_controllers); -void DetectThermaltakeRiingControllers(std::vector& rgb_controllers); -void DetectRGBFusion2USBControllers(std::vector &rgb_controllers); -void DetectRedragonControllers(std::vector& rgb_controllers); -void DetectLogitechControllers(std::vector& rgb_controllers); -void DetectNZXTKrakenControllers(std::vector& rgb_controllers); -void DetectSteelSeriesControllers(std::vector& rgb_controllers); -void DetectGloriousModelOControllers(std::vector& rgb_controllers); -void DetectHoltekControllers(std::vector& rgb_controllers); -void DetectDuckyKeyboardControllers(std::vector& rgb_controllers); -void DetectEKControllers(std::vector& rgb_controllers); /******************************************************************************************\ * * @@ -465,67 +421,7 @@ void DetectEKControllers(std::vector& rgb_controllers); void DetectRGBControllers(void) { - DetectI2CBusses(); - - DetectAuraSMBusControllers(busses, rgb_controllers); - DetectAuraGPUControllers(busses, rgb_controllers); - DetectCorsairVengeanceControllers(busses, rgb_controllers); - DetectCorsairVengeanceProControllers(busses, rgb_controllers); - DetectCrucialControllers(busses, rgb_controllers); - DetectGalaxGPUControllers(busses, rgb_controllers); - DetectHyperXDRAMControllers(busses, rgb_controllers); - DetectPatriotViperControllers(busses, rgb_controllers); - DetectPolychromeControllers(busses, rgb_controllers); - DetectRGBFusionGPUControllers(busses, rgb_controllers); - DetectMSIGPUControllers(busses, rgb_controllers); - DetectSapphireGPUControllers(busses, rgb_controllers); - - //TODO: Implement better detection before enabling these controllers - //DetectRGBFusion2SMBusControllers(busses, rgb_controllers); - //DetectRGBFusion2DRAMControllers(busses, rgb_controllers); - - DetectRGBFusionControllers(busses, rgb_controllers); - //DetectMSIMysticLightControllers(rgb_controllers); - DetectMSIRGBControllers(rgb_controllers); - - DetectAuraUSBControllers(rgb_controllers); - DetectAuraCoreControllers(rgb_controllers); - DetectLEDStripControllers(rgb_controllers); - DetectNZXTHue2Controllers(rgb_controllers); - DetectHuePlusControllers(rgb_controllers); - - DetectAMDWraithPrismControllers(rgb_controllers); - DetectCoolerMasterControllers(rgb_controllers); - DetectMSI3ZoneControllers(rgb_controllers); - DetectPoseidonZRGBControllers(rgb_controllers); - DetectHyperXKeyboardControllers(rgb_controllers); - DetectHyperXMouseControllers(rgb_controllers); - DetectCorsairPeripheralControllers(rgb_controllers); - DetectCorsairLightingNodeControllers(rgb_controllers); - DetectThermaltakeRiingControllers(rgb_controllers); - DetectRGBFusion2USBControllers(rgb_controllers); - DetectRedragonControllers(rgb_controllers); - DetectLogitechControllers(rgb_controllers); - DetectNZXTKrakenControllers(rgb_controllers); - DetectSteelSeriesControllers(rgb_controllers); - DetectGloriousModelOControllers(rgb_controllers); - DetectHoltekControllers(rgb_controllers); - DetectDuckyKeyboardControllers(rgb_controllers); - DetectEKControllers(rgb_controllers); - - DetectE131Controllers(rgb_controllers); - - DetectOpenRazerControllers(rgb_controllers); - - /*-------------------------------------*\ - | Windows-only devices | - \*-------------------------------------*/ -#ifdef WIN32 - /*-------------------------------------*\ - | Linux-only devices | - \*-------------------------------------*/ -#else - DetectFaustusControllers(rgb_controllers); -#endif + DetectI2CBusses(ResourceManager::get()->GetI2CBusses()); + ResourceManager::get()->DetectDevices(); } /* DetectRGBControllers() */ diff --git a/OpenRGB.pro b/OpenRGB.pro index a0ec53f2..0e3920f0 100644 --- a/OpenRGB.pro +++ b/OpenRGB.pro @@ -95,6 +95,9 @@ HEADERS += \ NetworkProtocol.h \ NetworkServer.h \ ProfileManager.h \ + ResourceManager.h \ + Detector.h \ + DeviceDetector.h \ qt/OpenRGBClientInfoPage.h \ qt/OpenRGBDeviceInfoPage.h \ qt/OpenRGBDevicePage.h \ @@ -223,6 +226,7 @@ SOURCES += \ NetworkClient.cpp \ NetworkServer.cpp \ ProfileManager.cpp \ + ResourceManager.cpp \ qt/OpenRGBClientInfoPage.cpp \ qt/OpenRGBDeviceInfoPage.cpp \ qt/OpenRGBDevicePage.cpp \ diff --git a/RGBController/E131ControllerDetect.cpp b/RGBController/E131ControllerDetect.cpp index 5716df1d..a8822acb 100644 --- a/RGBController/E131ControllerDetect.cpp +++ b/RGBController/E131ControllerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBController.h" #include "RGBController_E131.h" #include @@ -170,3 +171,5 @@ void DetectE131Controllers(std::vector &rgb_controllers) } } /* DetectE131Controllers() */ + +REGISTER_DETECTOR(DetectE131Controllers); diff --git a/RGBController/OpenRazerDetect.cpp b/RGBController/OpenRazerDetect.cpp index 73f01817..6673f174 100644 --- a/RGBController/OpenRazerDetect.cpp +++ b/RGBController/OpenRazerDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBController.h" #include "RGBController_OpenRazer.h" #include @@ -14,7 +15,7 @@ * DetectOpenRazerControllers * * * * Detect devices supported by the OpenRazer kernel drivers * -* * * +* * \******************************************************************************************/ void DetectOpenRazerControllers(std::vector &rgb_controllers) @@ -121,3 +122,5 @@ void DetectOpenRazerControllers(std::vector &rgb_controllers) } } /* DetectOpenRazerControllers() */ + +REGISTER_DETECTOR(DetectOpenRazerControllers); \ No newline at end of file diff --git a/RGBController/OpenRazerWindowsDetect.cpp b/RGBController/OpenRazerWindowsDetect.cpp index bcf204dd..9ad84561 100644 --- a/RGBController/OpenRazerWindowsDetect.cpp +++ b/RGBController/OpenRazerWindowsDetect.cpp @@ -1,3 +1,4 @@ +#include "Detector.h" #include "RGBController.h" #include "RGBController_OpenRazerWindows.h" #include @@ -250,3 +251,5 @@ void DetectOpenRazerControllers(std::vector &rgb_controllers) } } /* DetectOpenRazerControllers() */ + +REGISTER_DETECTOR(DetectOpenRazerControllers); \ No newline at end of file diff --git a/ResourceManager.cpp b/ResourceManager.cpp new file mode 100644 index 00000000..6e2c8340 --- /dev/null +++ b/ResourceManager.cpp @@ -0,0 +1,71 @@ +#include "ResourceManager.h" + + +std::unique_ptr ResourceManager::instance; + + +ResourceManager *ResourceManager::get() +{ + if(!instance) + { + instance = std::make_unique(); + } + + return instance.get(); +} + +ResourceManager::~ResourceManager() +{ + for(i2c_smbus_interface* bus : busses) + { + delete bus; + } + + for(RGBController* rgb_controller : rgb_controllers) + { + delete rgb_controller; + } +} + +void ResourceManager::RegisterI2CBus(i2c_smbus_interface *bus) +{ + busses.push_back(bus); +} + +std::vector & ResourceManager::GetI2CBusses() +{ + return busses; +} + +void ResourceManager::RegisterRGBController(RGBController *rgb_controller) +{ + rgb_controllers.push_back(rgb_controller); +} + +std::vector & ResourceManager::GetRGBControllers() +{ + return rgb_controllers; +} + +void ResourceManager::RegisterI2CDeviceDetector(I2CDeviceDetectorFunction detector) +{ + i2c_device_detectors.push_back(detector); +} + +void ResourceManager::RegisterDeviceDetector(DeviceDetectorFunction detector) +{ + device_detectors.push_back(detector); +} + +void ResourceManager::DetectDevices() +{ + for(int i2c_detector_idx = 0; i2c_detector_idx < i2c_device_detectors.size(); i2c_detector_idx++) + { + i2c_device_detectors[i2c_detector_idx](busses, rgb_controllers); + } + + for(int detector_idx = 0; detector_idx < device_detectors.size(); detector_idx++) + { + device_detectors[detector_idx](rgb_controllers); + } +} \ No newline at end of file diff --git a/ResourceManager.h b/ResourceManager.h new file mode 100644 index 00000000..20a3fa60 --- /dev/null +++ b/ResourceManager.h @@ -0,0 +1,39 @@ +#pragma once + +#include +#include +#include + +#include "i2c_smbus.h" +#include "RGBController.h" + +typedef std::function&)> DeviceDetectorFunction; +typedef std::function&, std::vector&)> I2CDeviceDetectorFunction; + +class ResourceManager +{ +public: + static ResourceManager *get(); + + ResourceManager() = default; + ~ResourceManager(); + + void RegisterI2CBus(i2c_smbus_interface *); + std::vector & GetI2CBusses(); + + void RegisterRGBController(RGBController *); + std::vector & GetRGBControllers(); + + void RegisterDeviceDetector (DeviceDetectorFunction detector); + void RegisterI2CDeviceDetector (I2CDeviceDetectorFunction detector); + + void DetectDevices(); + +private: + static std::unique_ptr instance; + + std::vector busses; + std::vector rgb_controllers; + std::vector device_detectors; + std::vector i2c_device_detectors; +}; diff --git a/main.cpp b/main.cpp index 12c2a48a..c1765444 100644 --- a/main.cpp +++ b/main.cpp @@ -6,6 +6,7 @@ * * \******************************************************************************************/ +#include "ResourceManager.h" #include "NetworkClient.h" #include "NetworkServer.h" #include "OpenRGB.h" @@ -23,9 +24,6 @@ using namespace std::chrono_literals; std::vector clients; -extern std::vector busses; -extern std::vector rgb_controllers; - /*-------------------------------------------------------------*\ | Command line functionality and return flags | \*-------------------------------------------------------------*/ @@ -84,7 +82,7 @@ void InitializeTimerResolutionThreadFunction() * * \******************************************************************************************/ -bool AttemptLocalConnection() +bool AttemptLocalConnection(std::vector &rgb_controllers) { bool success = false; @@ -134,10 +132,13 @@ int main(int argc, char* argv[]) InitializeTimerResolutionThread->detach(); #endif + std::vector &busses = ResourceManager::get()->GetI2CBusses(); + std::vector &rgb_controllers = ResourceManager::get()->GetRGBControllers(); + ProfileManager profile_manager(rgb_controllers); NetworkServer server(rgb_controllers); - if(!AttemptLocalConnection()) + if(!AttemptLocalConnection(rgb_controllers)) { DetectRGBControllers(); }