unilink  0.4.3
A simple C++ library for unified async communication
unilink::wrapper::Serial::Impl Struct Reference

Public Member Functions

 Impl (const std::string &dev, uint32_t baud)
 
 Impl (const std::string &dev, uint32_t baud, std::shared_ptr< boost::asio::io_context > ioc)
 
 Impl (std::shared_ptr< interface::Channel > ch)
 
 ~Impl ()
 
std::future< bool > start ()
 
void stop ()
 
void setup_internal_handlers ()
 
config::SerialConfig build_config () const
 

Public Attributes

std::string device
 
uint32_t baud_rate
 
std::shared_ptr< interface::Channelchannel
 
std::shared_ptr< boost::asio::io_context > external_ioc
 
bool use_external_context {false}
 
bool manage_external_context {false}
 
std::thread external_thread
 
std::promise< bool > start_promise_
 
bool start_promise_fulfilled_ {false}
 
MessageHandler data_handler {nullptr}
 
ConnectionHandler connect_handler {nullptr}
 
ConnectionHandler disconnect_handler {nullptr}
 
ErrorHandler error_handler {nullptr}
 
bool auto_manage = false
 
bool started = false
 
int data_bits = 8
 
int stop_bits = 1
 
std::string parity = "none"
 
std::string flow_control = "none"
 
std::chrono::milliseconds retry_interval {3000}
 

Detailed Description

Definition at line 41 of file serial.cc.

Constructor & Destructor Documentation

◆ Impl() [1/3]

unilink::wrapper::Serial::Impl::Impl ( const std::string &  dev,
uint32_t  baud 
)
inline

Definition at line 69 of file serial.cc.

◆ Impl() [2/3]

unilink::wrapper::Serial::Impl::Impl ( const std::string &  dev,
uint32_t  baud,
std::shared_ptr< boost::asio::io_context >  ioc 
)
inline

Definition at line 70 of file serial.cc.

◆ Impl() [3/3]

unilink::wrapper::Serial::Impl::Impl ( std::shared_ptr< interface::Channel ch)
inlineexplicit

Definition at line 72 of file serial.cc.

◆ ~Impl()

unilink::wrapper::Serial::Impl::~Impl ( )
inline

Definition at line 74 of file serial.cc.

Member Function Documentation

◆ build_config()

config::SerialConfig unilink::wrapper::Serial::Impl::build_config ( ) const
inline

Definition at line 168 of file serial.cc.

◆ setup_internal_handlers()

void unilink::wrapper::Serial::Impl::setup_internal_handlers ( )
inline

Definition at line 133 of file serial.cc.

◆ start()

std::future<bool> unilink::wrapper::Serial::Impl::start ( )
inline

Definition at line 81 of file serial.cc.

◆ stop()

void unilink::wrapper::Serial::Impl::stop ( )
inline

Definition at line 108 of file serial.cc.

Member Data Documentation

◆ auto_manage

bool unilink::wrapper::Serial::Impl::auto_manage = false

Definition at line 61 of file serial.cc.

◆ baud_rate

uint32_t unilink::wrapper::Serial::Impl::baud_rate

Definition at line 43 of file serial.cc.

◆ channel

std::shared_ptr<interface::Channel> unilink::wrapper::Serial::Impl::channel

Definition at line 44 of file serial.cc.

◆ connect_handler

ConnectionHandler unilink::wrapper::Serial::Impl::connect_handler {nullptr}

Definition at line 56 of file serial.cc.

◆ data_bits

int unilink::wrapper::Serial::Impl::data_bits = 8

Definition at line 63 of file serial.cc.

◆ data_handler

MessageHandler unilink::wrapper::Serial::Impl::data_handler {nullptr}

Definition at line 55 of file serial.cc.

◆ device

std::string unilink::wrapper::Serial::Impl::device

Definition at line 42 of file serial.cc.

◆ disconnect_handler

ConnectionHandler unilink::wrapper::Serial::Impl::disconnect_handler {nullptr}

Definition at line 57 of file serial.cc.

◆ error_handler

ErrorHandler unilink::wrapper::Serial::Impl::error_handler {nullptr}

Definition at line 58 of file serial.cc.

◆ external_ioc

std::shared_ptr<boost::asio::io_context> unilink::wrapper::Serial::Impl::external_ioc

Definition at line 45 of file serial.cc.

◆ external_thread

std::thread unilink::wrapper::Serial::Impl::external_thread

Definition at line 48 of file serial.cc.

◆ flow_control

std::string unilink::wrapper::Serial::Impl::flow_control = "none"

Definition at line 66 of file serial.cc.

◆ manage_external_context

bool unilink::wrapper::Serial::Impl::manage_external_context {false}

Definition at line 47 of file serial.cc.

◆ parity

std::string unilink::wrapper::Serial::Impl::parity = "none"

Definition at line 65 of file serial.cc.

◆ retry_interval

std::chrono::milliseconds unilink::wrapper::Serial::Impl::retry_interval {3000}

Definition at line 67 of file serial.cc.

◆ start_promise_

std::promise<bool> unilink::wrapper::Serial::Impl::start_promise_

Definition at line 51 of file serial.cc.

◆ start_promise_fulfilled_

bool unilink::wrapper::Serial::Impl::start_promise_fulfilled_ {false}

Definition at line 52 of file serial.cc.

◆ started

bool unilink::wrapper::Serial::Impl::started = false

Definition at line 62 of file serial.cc.

◆ stop_bits

int unilink::wrapper::Serial::Impl::stop_bits = 1

Definition at line 64 of file serial.cc.

◆ use_external_context

bool unilink::wrapper::Serial::Impl::use_external_context {false}

Definition at line 46 of file serial.cc.


The documentation for this struct was generated from the following file: