#ifndef SENSE_API_MANAGER_H #define SENSE_API_MANAGER_H #include #include #include #include #include #include #include namespace hk { namespace sense_api { class SenseApiManager { public: static SenseApiManager& getInstance() { static SenseApiManager instance; return instance; } SenseApiLib& loadSenseApiLib(const std::string& libraryPath); std::optional> getSenseApiLib( const std::string& libraryPath); void unloadSenseApiLib(const std::string& libraryPath); void loadAllSenseApiLibsFromOptions(void); std::string stringifyLibs() const; private: SenseApiManager() = default; ~SenseApiManager() = default; SenseApiManager(const SenseApiManager&) = delete; SenseApiManager& operator=(const SenseApiManager&) = delete; std::vector> senseApiLibs; }; } // namespace sense_api } // namespace hk #endif // SENSE_API_MANAGER_H