ifw  0.0.1-dev
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
iDeviceMaker.hpp
Go to the documentation of this file.
1 
9 #ifndef DEVMGR_COMMON_IDEVICEMAKER_HPP
10 #define DEVMGR_COMMON_IDEVICEMAKER_HPP
11 
12 // Third party headers
13 #include <yaml-cpp/yaml.h>
14 
15 namespace devmgr {
16  namespace common {
17 
18  class DataContext;
19  class IDevice;
20 
25  class IDeviceMaker
26  {
27  public:
28 
29 
38  virtual std::shared_ptr<IDevice> Create(const std::string& filename,
39  const std::string& name,
40  DataContext& data_ctx) const = 0;
41 
45  virtual ~IDeviceMaker() {}
46 
47  };
48  }
49 }
50 
51 
52 #endif // DEVMGR_COMMON_IDEVICEMAKER_HPP
virtual ~IDeviceMaker()
Default destructor.
Definition: iDeviceMaker.hpp:45
virtual std::shared_ptr< IDevice > Create(const std::string &filename, const std::string &name, DataContext &data_ctx) const =0
Abstract method to create a new device.
optional string name
Definition: topics.proto:50