class ugcs::vsm::Android_serial_processor::Stream

Overview

#include <android_serial_processor.h>

class Stream: public ugcs::vsm::Io_stream
{
public:
    // typedefs

    typedef std::shared_ptr<Stream> Ptr;
    typedef std::weak_ptr<Stream> Weak_ptr;
    typedef Reference_guard<Ptr> Ref;
    typedef ugcs::vsm::Serial_processor::Stream::Mode Mode;

    // construction

    Stream(
        Android_serial_processor::Weak_ptr processor,
        const std::string& name,
        const Mode& mode
        );

    // methods

    template <typename... Args>
    static Ptr Create(Args&&... args);

    const Mode& Get_mode() const;
};

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;

    // enums

    enum State;
    enum Type;

    // 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;

Detailed Documentation

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.

Methods

template <typename... Args>
static Ptr Create(Args&&... args)

Create an instance.