4fde28dad8
We moved initializeSalmanoff and shutdownSalmanoff into salmanoff.cpp. Now we also invoke shutdownSalmanoff when exiting to destroy subsystems and components gracefully. This fixes the segfault that was thrown on every program exit when xcbWindow had captured a window.
37 lines
1.2 KiB
C++
37 lines
1.2 KiB
C++
#include <iostream>
|
|
#include <deviceManager/deviceManager.h>
|
|
#include <senseApis/senseApiManager.h>
|
|
|
|
namespace smo {
|
|
|
|
void initializeSalmanoff(void)
|
|
{
|
|
std::cout << __func__ << ": Entered." << std::endl;
|
|
|
|
device::DeviceManager::getInstance().collateAllDeviceSpecs();
|
|
device::DeviceManager::getInstance().parseAllDeviceSpecs();
|
|
std::cout << device::DeviceManager::stringifyDeviceSpecs() << std::endl;
|
|
sense_api::SenseApiManager::getInstance().loadAllSenseApiLibsFromOptions();
|
|
std::cout << sense_api::SenseApiManager::getInstance().stringifyLibs()
|
|
<< std::endl;
|
|
std::cerr << "About to initializeAllSenseApiLibs" << std::endl;
|
|
sense_api::SenseApiManager::getInstance().initializeAllSenseApiLibs();
|
|
std::cerr << "About to attachAllSenseDevicesFromSpecs" << std::endl;
|
|
sense_api::SenseApiManager::getInstance().attachAllSenseDevicesFromSpecs();
|
|
std::cerr << "Done attachAllSenseDevicesFromSpecs" << std::endl;
|
|
|
|
std::cout << __func__ << ": Done." << std::endl;
|
|
}
|
|
|
|
void shutdownSalmanoff(void)
|
|
{
|
|
std::cout << __func__ << ": Entered." << std::endl;
|
|
|
|
sense_api::SenseApiManager::getInstance().detachAllSenseDevices();
|
|
sense_api::SenseApiManager::getInstance().finalizeAllSenseApiLibs();
|
|
|
|
std::cout << __func__ << ": Done." << std::endl;
|
|
}
|
|
|
|
} // namespace smo
|