19 #include <boost/asio.hpp>
39 virtual void open(
const std::string& device, boost::system::error_code& ec) = 0;
41 virtual void close(boost::system::error_code& ec) = 0;
43 virtual void set_option(
const net::serial_port_base::baud_rate& option, boost::system::error_code& ec) = 0;
44 virtual void set_option(
const net::serial_port_base::character_size& option, boost::system::error_code& ec) = 0;
45 virtual void set_option(
const net::serial_port_base::stop_bits& option, boost::system::error_code& ec) = 0;
46 virtual void set_option(
const net::serial_port_base::parity& option, boost::system::error_code& ec) = 0;
47 virtual void set_option(
const net::serial_port_base::flow_control& option, boost::system::error_code& ec) = 0;
50 std::function<
void(
const boost::system::error_code&, std::size_t)> handler) = 0;
52 std::function<
void(
const boost::system::error_code&, std::size_t)> handler) = 0;
An interface abstracting Boost.Asio's serial_port for testability. This is an internal interface used...
virtual void close(boost::system::error_code &ec)=0
virtual void async_write(const net::const_buffer &buffer, std::function< void(const boost::system::error_code &, std::size_t)> handler)=0
virtual void set_option(const net::serial_port_base::parity &option, boost::system::error_code &ec)=0
virtual void async_read_some(const net::mutable_buffer &buffer, std::function< void(const boost::system::error_code &, std::size_t)> handler)=0
virtual bool is_open() const =0
virtual void open(const std::string &device, boost::system::error_code &ec)=0
virtual ~SerialPortInterface()=default
virtual void set_option(const net::serial_port_base::baud_rate &option, boost::system::error_code &ec)=0
virtual void set_option(const net::serial_port_base::character_size &option, boost::system::error_code &ec)=0
virtual void set_option(const net::serial_port_base::flow_control &option, boost::system::error_code &ec)=0
virtual void set_option(const net::serial_port_base::stop_bits &option, boost::system::error_code &ec)=0