9 #ifndef DEVMGR_COMMON_DEVICEFACTORY_HPP
10 #define DEVMGR_COMMON_DEVICEFACTORY_HPP
17 #include <devmgr/common/iDeviceMaker.hpp>
45 void RegisterMaker(
const std::string& key, IDeviceMaker * maker);
65 std::shared_ptr<IDevice>
Create(
const std::string& filename,
66 const std::string&
name,
67 DataContext& data_ctx)
const;
74 DeviceFactory(
const DeviceFactory& other);
75 DeviceFactory& operator=(
const DeviceFactory& other);
79 std::map<std::string, IDeviceMaker* > m_makers;
86 #endif //DEVMGR_COMMON_DEVICE_FACTORY_HPP
void DeregisterMaker(const std::string &key, IDeviceMaker *maker)
Deregister device maker.
Definition: deviceFactory.cpp:41
std::shared_ptr< IDevice > Create(const std::string &filename, const std::string &name, DataContext &data_ctx) const
Creates a new device.
Definition: deviceFactory.cpp:50
static DeviceFactory & Instance()
Get instance of singleton.
Definition: deviceFactory.cpp:22
void RegisterMaker(const std::string &key, IDeviceMaker *maker)
Register device maker.
Definition: deviceFactory.cpp:29
optional string name
Definition: topics.proto:50