uatools
1.0.0
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
14
#include "
eso/uatools/protocol/base/iCommMaker.hpp
"
15
#include "
eso/uatools/protocol/base/commFactory.hpp
"
16
17
namespace
eso::uatools::protocol::base
{
18
20
template
<
typename
T>
21
class
CommMaker
:
public
ICommMaker
{
22
public
:
25
CommMaker
(
const
std::string& key) {
26
CommFactory::Instance
().
RegisterMaker
(key,
this
);
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
eso::uatools::protocol::base::CommFactory::RegisterMaker
void RegisterMaker(const std::string &key, ICommMaker *maker)
Definition
commFactory.cpp:20
eso::uatools::protocol::base::CommFactory::Instance
static CommFactory & Instance()
Definition
commFactory.cpp:15
eso::uatools::protocol::base::CommMaker::CommMaker
CommMaker(const std::string &key)
Definition
commMaker.hpp:25
eso::uatools::protocol::base::CommMaker::Create
virtual std::shared_ptr< IComm > Create(const std::string &filename) const
Accepts node to pass into Comms constructor.
Definition
commMaker.hpp:29
eso::uatools::protocol::base::ICommMaker
Definition
iCommMaker.hpp:18
commFactory.hpp
iCommMaker.hpp
eso::uatools::protocol::base
Definition
icomm_adapter_generic_v2.hpp:49
info
protocol_old
base
src
include
eso
uatools
protocol
base
commMaker.hpp
Generated by
1.13.2