cmvr-es/include/hardware_manager/hardware_manager.h
2025-10-22 16:40:55 +08:00

34 lines
776 B
C++

//
// Created by linbo on 2025/10/21.
//
#ifndef CMVR_ES_HARDWARE_MANAGER_H
#define CMVR_ES_HARDWARE_MANAGER_H
#include "rapidxml/xml_parser.h"
#include <glog/logging.h>
#include <mutex>
namespace cmvr::device
{
class HardWareManager
{
public:
HardWareManager(const HardWareManager&) = delete;
HardWareManager& operator=(const HardWareManager&) = delete;
static HardWareManager& getInstance(const XmlNode &cfg);
static HardWareManager& getInstance();
static void destroyInstance();
private:
XmlNode cfg_;
static std::once_flag init_flag_;
static std::shared_ptr<HardWareManager> instance_;
explicit HardWareManager(const XmlNode &cfg);
};
}
#endif //CMVR_ES_HARDWARE_MANAGER_H