radio_tool
0.2.1
Loading...
Searching...
No Matches
include
radio_tool
radio
serial_radio_factory.hpp
1
18
#pragma once
19
20
#include <radio_tool/radio/radio_factory.hpp>
21
#include <radio_tool/radio/radio.hpp>
22
#include <radio_tool/util.hpp>
23
24
#include <string>
25
#include <vector>
26
#include <functional>
27
28
namespace
radio_tool::radio
29
{
30
class
SerialRadioInfo
:
public
RadioInfo
31
{
32
public
:
33
SerialRadioInfo
(
34
const
CreateRadioOps l,
35
const
std::string &p,
36
const
uint16_t &idx)
37
: loader(l), index(idx), port(p) {}
38
39
auto
ToString()
const
->
const
std::wstring
override
40
{
41
std::wstringstream os;
42
os << L
"["
<< std::wstring(port.begin(), port.end()) <<
"]: idx="
<< std::to_wstring(index) << L
", "
43
<< L
"Generic serial radio"
;
44
45
return
os.str();
46
}
47
48
auto
OpenDevice()
const
->
RadioOperations
*
override
49
{
50
return
loader();
51
}
52
53
private
:
54
const
CreateRadioOps loader;
55
const
uint16_t index;
56
const
std::string port;
57
};
58
59
class
SerialRadioFactory
:
public
RadioOperationsFactory
60
{
61
public
:
62
auto
ListDevices(
const
uint16_t &idx_offset)
const
->
const
std::vector<RadioInfo *>
override
;
63
64
private
:
65
auto
OpDeviceList(std::function<
void
(
const
std::string &,
const
uint16_t &)>)
const
-> void;
66
};
67
}
radio_tool::radio::RadioInfo
Definition:
radio.hpp:34
radio_tool::radio::RadioOperationsFactory
Definition:
radio.hpp:66
radio_tool::radio::RadioOperations
Definition:
radio.hpp:44
radio_tool::radio::SerialRadioFactory
Definition:
serial_radio_factory.hpp:60
radio_tool::radio::SerialRadioInfo
Definition:
serial_radio_factory.hpp:31
radio_tool::radio
Definition:
ailunce_radio.hpp:27
Generated by
1.9.6