34 lines
776 B
C++
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
|