#ifndef DEVICEMANAGER_H #define DEVICEMANAGER_H #include #include #include #include #include #include #include namespace smo { namespace device { class DeviceManager { public: static DeviceManager& getInstance() { static DeviceManager instance; return instance; } std::string readDapSpecFile(const std::string& filename); void collateAllDapSpecs(void); void parseAllDapSpecs(void); static const std::string stringifyDeviceSpecs(void); private: DeviceManager() = default; ~DeviceManager() = default; DeviceManager(const DeviceManager&) = delete; DeviceManager& operator=(const DeviceManager&) = delete; public: std::string allDapSpecs; static std::vector> interoceptorDeviceSpecs; static std::vector> extrospectorDeviceSpecs; static std::vector> senseDeviceSpecs; }; } // namespace device } // namespace smo #endif // DEVICEMANAGER_H