diff --git a/hcore/include/senseApis/senseApiManager.h b/hcore/include/senseApis/senseApiManager.h index 47e98f2..d8af54f 100644 --- a/hcore/include/senseApis/senseApiManager.h +++ b/hcore/include/senseApis/senseApiManager.h @@ -24,6 +24,7 @@ public: std::optional> getSenseApiLib( const std::string& libraryPath); void unloadSenseApiLib(const std::string& libraryPath); + void loadAllSenseApiLibsFromOptions(void); private: SenseApiManager() = default; diff --git a/hcore/senseApis/senseApiManager.cpp b/hcore/senseApis/senseApiManager.cpp index 445ea89..b400b2c 100644 --- a/hcore/senseApis/senseApiManager.cpp +++ b/hcore/senseApis/senseApiManager.cpp @@ -116,5 +116,13 @@ void SenseApiManager::unloadSenseApiLib(const std::string& libraryPath) << libraryPath << '\n'; } +void SenseApiManager::loadAllSenseApiLibsFromOptions() +{ + const auto& options = OptionParser::getOptions(); + for (const auto& libPath : options.senseApiLibs) { + loadSenseApiLib(libPath); + } +} + } // namespace sense_api } // namespace hk diff --git a/main.cpp b/main.cpp index 0e12b97..d69828c 100644 --- a/main.cpp +++ b/main.cpp @@ -3,10 +3,13 @@ #include #include #include +#include int main(int argc, char **argv) { + using namespace hk; + try { OptionParser &options = OptionParser::getOptions(); hk::Mind mind; @@ -30,6 +33,7 @@ try { DeviceManager::getInstance().collateAllDeviceSpecs(options); DeviceManager::getInstance().parseAllDeviceSpecs(); std::cout << DeviceManager::printDeviceSpecs() << std::endl; + sense_api::SenseApiManager::getInstance().loadAllSenseApiLibsFromOptions(); } catch (const std::exception& e) { std::cerr << "Exception occurred: " << e.what() << std::endl;