cmvr-es/include/hardware_manager/hardware_factory.h

25 lines
525 B
C
Raw Normal View History

2025-10-21 17:02:32 +08:00
//
// Created by linbo on 2025/10/21.
//
#ifndef CMVR_ES_HARDWARE_FACTORY_H
#define CMVR_ES_HARDWARE_FACTORY_H
2025-10-22 16:40:55 +08:00
#include "rapidxml/xml_parser.h"
#include "hardware/can/can_manager.h"
2025-10-24 10:51:49 +08:00
namespace cmvr::hardware {
2025-10-21 17:02:32 +08:00
2025-10-22 16:40:55 +08:00
class HardwareFactory {
2025-10-21 17:02:32 +08:00
2025-10-22 16:40:55 +08:00
public:
HardwareFactory() = default;
template<typename HardwareType>
std::shared_ptr<HardwareType> create(const XmlNode& cfg);
private:
std::shared_ptr<CanManager> create_can_(const XmlNode& cfg);
};
}
2025-10-21 17:02:32 +08:00
#endif //CMVR_ES_HARDWARE_FACTORY_H