unilink  0.4.3
A simple C++ library for unified async communication
unilink::builder::SerialBuilder Class Reference

Modernized Builder for Serial. More...

#include <serial_builder.hpp>

Inheritance diagram for unilink::builder::SerialBuilder:
unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >

Public Member Functions

 SerialBuilder (const std::string &device, uint32_t baud_rate)
 
 SerialBuilder (const SerialBuilder &)=delete
 
SerialBuilderoperator= (const SerialBuilder &)=delete
 
 SerialBuilder (SerialBuilder &&)=default
 
SerialBuilderoperator= (SerialBuilder &&)=default
 
std::unique_ptr< wrapper::Serialbuild () override
 Build and return the configured product. More...
 
SerialBuilderauto_manage (bool auto_manage=true) override
 Enable auto-manage functionality. More...
 
SerialBuilderon_data (std::function< void(const wrapper::MessageContext &)> handler) override
 Set data handler callback. More...
 
SerialBuilderon_connect (std::function< void(const wrapper::ConnectionContext &)> handler) override
 Set connection handler callback. More...
 
SerialBuilderon_disconnect (std::function< void(const wrapper::ConnectionContext &)> handler) override
 Set disconnection handler callback. More...
 
SerialBuilderon_error (std::function< void(const wrapper::ErrorContext &)> handler) override
 Set error handler callback. More...
 
SerialBuilderdata_bits (int bits)
 Set number of data bits. More...
 
SerialBuilderstop_bits (int bits)
 Set number of stop bits. More...
 
SerialBuilderparity (const std::string &p)
 Set parity. More...
 
SerialBuilderflow_control (const std::string &flow)
 Set flow control. More...
 
SerialBuilderretry_interval (uint32_t milliseconds)
 Set reconnection retry interval. More...
 
SerialBuilderuse_independent_context (bool use_independent=true)
 Use independent IoContext. More...
 

Additional Inherited Members

Detailed Description

Modernized Builder for Serial.

Definition at line 37 of file serial_builder.hpp.

Constructor & Destructor Documentation

◆ SerialBuilder() [1/3]

unilink::builder::SerialBuilder::SerialBuilder ( const std::string &  device,
uint32_t  baud_rate 
)

Definition at line 26 of file serial_builder.cc.

◆ SerialBuilder() [2/3]

unilink::builder::SerialBuilder::SerialBuilder ( const SerialBuilder )
delete

◆ SerialBuilder() [3/3]

unilink::builder::SerialBuilder::SerialBuilder ( SerialBuilder &&  )
default

Member Function Documentation

◆ auto_manage()

SerialBuilder & unilink::builder::SerialBuilder::auto_manage ( bool  auto_manage = true)
overridevirtual

Enable auto-manage functionality.

Parameters
auto_manageWhether to automatically manage the wrapper lifecycle
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >.

Definition at line 67 of file serial_builder.cc.

◆ build()

std::unique_ptr< wrapper::Serial > unilink::builder::SerialBuilder::build ( )
overridevirtual

Build and return the configured product.

Returns
std::unique_ptr<T> The configured wrapper instance

Implements unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >.

Definition at line 40 of file serial_builder.cc.

◆ data_bits()

SerialBuilder & unilink::builder::SerialBuilder::data_bits ( int  bits)

Set number of data bits.

Definition at line 92 of file serial_builder.cc.

◆ flow_control()

SerialBuilder & unilink::builder::SerialBuilder::flow_control ( const std::string &  flow)

Set flow control.

Definition at line 107 of file serial_builder.cc.

◆ on_connect()

SerialBuilder & unilink::builder::SerialBuilder::on_connect ( std::function< void(const wrapper::ConnectionContext &)>  handler)
overridevirtual

Set connection handler callback.

Parameters
handlerFunction to handle connection events with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >.

Definition at line 77 of file serial_builder.cc.

◆ on_data()

SerialBuilder & unilink::builder::SerialBuilder::on_data ( std::function< void(const wrapper::MessageContext &)>  handler)
overridevirtual

Set data handler callback.

Parameters
handlerFunction to handle incoming data with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >.

Definition at line 72 of file serial_builder.cc.

◆ on_disconnect()

SerialBuilder & unilink::builder::SerialBuilder::on_disconnect ( std::function< void(const wrapper::ConnectionContext &)>  handler)
overridevirtual

Set disconnection handler callback.

Parameters
handlerFunction to handle disconnection events with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >.

Definition at line 82 of file serial_builder.cc.

◆ on_error()

SerialBuilder & unilink::builder::SerialBuilder::on_error ( std::function< void(const wrapper::ErrorContext &)>  handler)
overridevirtual

Set error handler callback.

Parameters
handlerFunction to handle error events with context
Returns
Derived& Reference to this builder for method chaining

Implements unilink::builder::BuilderInterface< wrapper::Serial, SerialBuilder >.

Definition at line 87 of file serial_builder.cc.

◆ operator=() [1/2]

SerialBuilder& unilink::builder::SerialBuilder::operator= ( const SerialBuilder )
delete

◆ operator=() [2/2]

SerialBuilder& unilink::builder::SerialBuilder::operator= ( SerialBuilder &&  )
default

◆ parity()

SerialBuilder & unilink::builder::SerialBuilder::parity ( const std::string &  p)

Set parity.

Definition at line 102 of file serial_builder.cc.

◆ retry_interval()

SerialBuilder & unilink::builder::SerialBuilder::retry_interval ( uint32_t  milliseconds)

Set reconnection retry interval.

Definition at line 112 of file serial_builder.cc.

◆ stop_bits()

SerialBuilder & unilink::builder::SerialBuilder::stop_bits ( int  bits)

Set number of stop bits.

Definition at line 97 of file serial_builder.cc.

◆ use_independent_context()

SerialBuilder & unilink::builder::SerialBuilder::use_independent_context ( bool  use_independent = true)

Use independent IoContext.

Definition at line 117 of file serial_builder.cc.


The documentation for this class was generated from the following files: