VSM C++ SDK
Vehicle Specific Modules SDK
ugcs::vsm::Serial_processor::Stream Class Reference

Stream which represents opened serial port. More...

#include <serial_processor.h>

Inheritance diagram for ugcs::vsm::Serial_processor::Stream:
ugcs::vsm::File_processor::Stream ugcs::vsm::Io_stream

Classes

class  Mode
 Communication mode parameters for a serial port. More...
 

Public Types

typedef std::shared_ptr< StreamPtr
 Pointer type.
 
typedef std::weak_ptr< StreamWeak_ptr
 Pointer type.
 
typedef Reference_guard< PtrRef
 Reference type. More...
 
- Public Types inherited from ugcs::vsm::File_processor::Stream
enum  Lock_result { Lock_result::OK, Lock_result::BLOCKED, Lock_result::ERROR }
 Lock operation result. More...
 
typedef std::shared_ptr< StreamPtr
 Pointer type.
 
typedef std::weak_ptr< StreamWeak_ptr
 Pointer type.
 
typedef Reference_guard< Stream::PtrRef
 Reference type. More...
 
typedef Callback_proxy< void, Io_resultLock_handler
 Default prototype for lock operation completion handler. More...
 
- Public Types inherited from ugcs::vsm::Io_stream
enum  State { State::CLOSED, State::OPENING, State::OPENING_PASSIVE, State::OPENED }
 Stream states. More...
 
enum  Type {
  FILE, SERIAL, ANDROID_SERIAL, TCP,
  UDP, UDP_MULTICAST, CAN, UNDEFINED
}
 Stream types. More...
 
typedef std::shared_ptr< Io_streamPtr
 Pointer type.
 
typedef std::weak_ptr< Io_streamWeak_ptr
 Pointer type.
 
typedef Reference_guard< Io_stream::PtrRef
 Guard object. More...
 
typedef int64_t Offset
 Offset for read/write operations. More...
 
typedef Callback_proxy< void, Io_resultWrite_handler
 Default prototype for write operation completion handler. More...
 
typedef Callback_proxy< void, Io_buffer::Ptr, Io_resultRead_handler
 Default prototype for read operation completion handler. More...
 
typedef Callback_proxy< void > Close_handler
 Default prototype for close operation completion handler. More...
 

Public Member Functions

 Stream (Serial_processor::Ptr processor, const std::string &port_name, const Stream::Mode &mode, Native_handle::Unique_ptr &&native_handle)
 Construct serial processor stream. More...
 
- Public Member Functions inherited from ugcs::vsm::File_processor::Stream
 Stream (File_processor::Ptr processor, const std::string &path, Mode mode, bool maintain_pos, Native_handle::Unique_ptr &&native_handle)
 Construct file stream. More...
 
Offset Get_current_pos () const
 Get current position in the stream. More...
 
Offset Seek (Offset pos, bool is_relative=false)
 Set new current position for the stream. More...
 
Operation_waiter Lock (Lock_handler completion_handler, Request_completion_context::Ptr comp_ctx=Request_temp_completion_context::Create(), bool lock=true)
 Put an exclusive lock on file. More...
 
Operation_waiter Unlock (Lock_handler completion_handler=Make_dummy_callback< void, Io_result >(), Request_completion_context::Ptr comp_ctx=Request_temp_completion_context::Create())
 Remove lock from file. More...
 
- Public Member Functions inherited from ugcs::vsm::Io_stream
void Add_ref ()
 Add reference to the stream. More...
 
void Release_ref ()
 Release reference for the stream. More...
 
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())
 Initiate write operation. More...
 
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())
 Initiate write operation. More...
 
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())
 Initiate read operation. More...
 
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())
 Initiate read operation. More...
 
Operation_waiter Close (Close_handler completion_handler=Make_dummy_callback< void >(), Request_completion_context::Ptr comp_ctx=Request_temp_completion_context::Create())
 Initiate stream close operation. More...
 
 Io_stream (const Io_stream &)=delete
 There is no sense in copying the stream. More...
 
 Io_stream (Type type)
 Constructor.
 
State Get_state () const
 Get current state of the stream. More...
 
bool Is_closed () const
 Checks if stream is closed or not. More...
 
std::string Get_name () const
 Get human readable stream name. More...
 
Type Get_type () const
 

Static Public Member Functions

template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 
- Static Public Member Functions inherited from ugcs::vsm::File_processor::Stream
template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 
- Static Public Member Functions inherited from ugcs::vsm::Io_stream
template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 
static const char * Io_result_as_char (const Io_result res)
 Convert Io_result value to character string. More...
 

Additional Inherited Members

- Static Public Attributes inherited from ugcs::vsm::Io_stream
static const Offset OFFSET_NONE
 Offset special value which indicates that the offset value is not specified.
 
static const Offset OFFSET_END
 Offset special value which indicates that the offset value corresponds to the stream end (e.g. More...
 
- Protected Member Functions inherited from ugcs::vsm::Io_stream
void Set_name (const std::string &)
 Set the stream name. More...
 
- Protected Attributes inherited from ugcs::vsm::Io_stream
Type stream_type
 
State state = State::CLOSED
 Current state of the stream. More...
 
std::atomic_int ref_count = { 0 }
 Reference counter. More...
 

Detailed Description

Stream which represents opened serial port.

Member Typedef Documentation

Constructor & Destructor Documentation

ugcs::vsm::Serial_processor::Stream::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
processorAssociated processor.
port_nameSerial port name.
modeMode for the port opening.
native_handleNative handle to be used for stream operations.

Member Function Documentation

template<typename... Args>
static Ptr ugcs::vsm::Serial_processor::Stream::Create ( Args &&...  args)
inlinestatic

Create an instance.


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