class ugcs::vsm::Serial_processor::Stream¶
Overview¶
Stream which represents opened serial port. More…
#include <serial_processor.h> class Stream: public ugcs::vsm::File_processor::Stream { public: // typedefs typedef std::shared_ptr<Stream> Ptr; typedef std::weak_ptr<Stream> Weak_ptr; typedef Reference_guard<Ptr> Ref; // classes class Mode; // construction Stream(Serial_processor::Ptr processor, const std::string& port_name, const Stream::Mode& mode, Native_handle::Unique_ptr&& native_handle); // methods template <typename... Args> static Ptr Create(Args&&... args); };
Inherited Members¶
public: // typedefs typedef std::shared_ptr<Io_stream> Ptr; typedef std::weak_ptr<Io_stream> Weak_ptr; typedef Reference_guard<Io_stream::Ptr> Ref; typedef int64_t Offset; typedef Callback_proxy<void, Io_result> Write_handler; typedef Callback_proxy<void, Io_buffer::Ptr, Io_result> Read_handler; typedef Callback_proxy<void> Close_handler; typedef std::shared_ptr<Stream> Ptr; typedef std::weak_ptr<Stream> Weak_ptr; typedef Reference_guard<Stream::Ptr> Ref; typedef Callback_proxy<void, Io_result> Lock_handler; // enums enum State; enum Type; enum Lock_result; // structs struct Lock_cb; // classes class Mode; class Native_handle; // fields static const Offset OFFSET_NONE; static const Offset OFFSET_END; // methods template <typename... Args> static Ptr Create(Args&&... args); static const char* Io_result_as_char(const Io_result res); void Add_ref(); void Release_ref(); Operation_waiter Write(Io_buffer::Ptr buffer, Offset offset, Write_handler completion_handler = Make_dummy_callback<void, Io_result>(), Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create()); Operation_waiter Write(Io_buffer::Ptr buffer, Write_handler completion_handler = Make_dummy_callback<void, Io_result>(), Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create()); Operation_waiter Read( size_t max_to_read, size_t min_to_read, Offset offset, Read_handler completion_handler = Make_dummy_callback<void, Io_buffer::Ptr, Io_result>(), Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create() ); Operation_waiter Read( size_t max_to_read, size_t min_to_read = 1, Read_handler completion_handler = Make_dummy_callback<void, Io_buffer::Ptr, Io_result>(), Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create() ); Operation_waiter Close(Close_handler completion_handler = Make_dummy_callback<void>(), Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create()); State Get_state() const; bool Is_closed() const; std::string Get_name() const; Type Get_type() const; template <typename... Args> static Ptr Create(Args&&... args); Offset Get_current_pos() const; Offset Seek(Offset pos, bool is_relative = false); Operation_waiter Lock(Lock_handler completion_handler, Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create(), bool lock = true); Operation_waiter Unlock(Lock_handler completion_handler = Make_dummy_callback<void, Io_result>(), Request_completion_context::Ptr comp_ctx = Request_temp_completion_context::Create());
Detailed Documentation¶
Stream which represents opened serial port.
Typedefs¶
typedef std::shared_ptr<Stream> Ptr
Pointer type.
typedef std::weak_ptr<Stream> Weak_ptr
Pointer type.
typedef Reference_guard<Ptr> Ref
Reference type.
Construction¶
Stream(Serial_processor::Ptr processor, const std::string& port_name, const Stream::Mode& mode, Native_handle::Unique_ptr&& native_handle)
Construct serial processor stream.
Parameters:
processor |
Associated processor. |
port_name |
Serial port name. |
mode |
Mode for the port opening. |
native_handle |
Native handle to be used for stream operations. |
Methods¶
template <typename... Args> static Ptr Create(Args&&... args)
Create an instance.