uatools 1.0.0-pre2
 
Loading...
Searching...
No Matches
commMaker.hpp
Go to the documentation of this file.
1
6
7#ifndef ESO_UATOOLS_PROTOCOL_BASE_COMMMAKER_HPP
8#define ESO_UATOOLS_PROTOCOL_BASE_COMMMAKER_HPP
9
10#include <iostream>
11#include <string>
12#include <memory>
13
16
18
20 template<typename T>
21 class CommMaker : public ICommMaker {
22 public:
25 CommMaker(const std::string& key) {
27 }
28
29 virtual std::shared_ptr<IComm> Create(const std::string& filename) const {
30 return std::make_shared<T>(filename);
31 }
32 };
33}
34
35#endif // ESO_UATOOLS_PROTOCOL_BASE_COMMMAKER_HPP
void RegisterMaker(const std::string &key, ICommMaker *maker)
Definition commFactory.cpp:20
static CommFactory & Instance()
Definition commFactory.cpp:15
CommMaker(const std::string &key)
Definition commMaker.hpp:25
virtual std::shared_ptr< IComm > Create(const std::string &filename) const
Accepts node to pass into Comms constructor.
Definition commMaker.hpp:29
Definition iCommMaker.hpp:18
Definition icomm_adapter_generic_v2.hpp:49