Move i2c bus detectors to their respective files and add a detector macro for i2c busses so they can be detected asynchronously. Fix WMI and DMI info.

This commit is contained in:
Adam Honse 2020-08-06 09:51:46 -05:00
parent 7898e9b95d
commit aaa2ecddc7
16 changed files with 409 additions and 438 deletions

View file

@ -48,6 +48,11 @@ std::vector<RGBController*> & ResourceManager::GetRGBControllers()
return rgb_controllers;
}
void ResourceManager::RegisterI2CBusDetector(I2CBusDetectorFunction detector)
{
i2c_bus_detectors.push_back(detector);
}
void ResourceManager::RegisterI2CDeviceDetector(I2CDeviceDetectorFunction detector)
{
i2c_device_detectors.push_back(detector);
@ -91,6 +96,14 @@ void ResourceManager::DetectDevicesThreadFunction()
{
unsigned int prev_count = 0;
/*-------------------------------------------------*\
| Detect i2c busses |
\*-------------------------------------------------*/
for(int i2c_bus_detector_idx = 0; i2c_bus_detector_idx < i2c_bus_detectors.size(); i2c_bus_detector_idx++)
{
i2c_bus_detectors[i2c_bus_detector_idx](busses);
}
/*-------------------------------------------------*\
| Detect i2c devices |
\*-------------------------------------------------*/