![]() |
VSM C++ SDK
Vehicle Specific Modules SDK
|
Working with serial ports on Android platform. More...
#include <android_serial_processor.h>
Classes | |
class | Stream |
Public Types | |
typedef std::shared_ptr < Android_serial_processor > | Ptr |
Pointer type. | |
typedef std::weak_ptr < Android_serial_processor > | Weak_ptr |
Pointer type. | |
typedef Callback_proxy< void, Io_stream::Ref > | Open_handler |
Default prototype for open operation completion handler. More... | |
![]() | |
typedef std::shared_ptr < Request_context > | Ptr |
Pointer type. | |
typedef std::weak_ptr < Request_context > | Weak_ptr |
Pointer type. | |
![]() | |
enum | Type { Type::NONE = 0x0, Type::PROCESSOR = 0x1, Type::COMPLETION_CONTEXT = 0x2, Type::ANY = PROCESSOR | COMPLETION_CONTEXT, Type::TEMPORAL = 0x4, Type::TEMP_COMPLETION_CONTEXT = COMPLETION_CONTEXT | TEMPORAL } |
Container type. More... | |
typedef std::shared_ptr < Request_container > | Ptr |
Pointer type. | |
typedef std::weak_ptr < Request_container > | Weak_ptr |
Pointer type. | |
Public Member Functions | |
Operation_waiter | Open (const std::string &port_name, const Stream::Mode &mode=Stream::Mode(), Open_handler completion_handler=Make_dummy_callback< void, Stream::Ref >(), Request_completion_context::Ptr comp_ctx=Request_temp_completion_context::Create()) |
Open serial device stream. More... | |
![]() | |
virtual Type | Get_type () const override |
Get this container type. More... | |
![]() | |
Request_container (const std::string &name, Request_waiter::Ptr waiter=Request_waiter::Create()) | |
Create container with default associated waiter. More... | |
bool | Check_type (Type mask) |
Check if the container type conforms the specified characteristic mask. More... | |
void | Submit_request (Request::Ptr request) |
Submit request to this container for further processing or notification handlers invocation. More... | |
void | Submit_request_locked (Request::Ptr request, Request_waiter::Locker locker) |
The same as Submit_request, but with previously acquired lock of the associated waiter. More... | |
int | Process_requests (int requests_limit=0) |
Process all currently queued requests. More... | |
int | Process_requests (std::unique_lock< std::mutex > &lock, int requests_limit=0) |
Process all currently queued requests. More... | |
void | Set_waiter (Request_waiter::Ptr waiter) |
Set request waiter associated with this container. More... | |
Request_waiter::Ptr | Get_waiter () const |
Get request waiter associated with this container. More... | |
const std::string & | Get_name () |
Get the name of the container. More... | |
void | Enable () |
Enable the container. More... | |
void | Disable () |
Disable the container. More... | |
bool | Is_enabled () const |
Check if the container is currently enabled. More... | |
Static Public Member Functions | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
template<typename... Args> | |
static Ptr | Get_instance (Args &&...args) |
Get global or create new processor instance. More... | |
static std::list< std::string > | Enumerate_port_names () |
![]() | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
![]() | |
template<typename... Args> | |
static Ptr | Create (Args &&...args) |
Create an instance. More... | |
Additional Inherited Members | |
![]() | |
void | Processing_loop () |
Request processing loop implementation. More... | |
void | Set_disabled () |
Disable the container and notify its waiter. More... | |
virtual void | On_wait_and_process () |
Called when default processing loop want to wait for work and process it. More... | |
![]() | |
Request_waiter::Ptr | waiter |
Waiter associated with this container. More... | |
std::list< Request::Ptr > | request_queue |
Queue of pending requests, i.e. More... | |
Working with serial ports on Android platform.
It includes also Java-side part it interacts with.
Default prototype for open operation completion handler.
Stream argument is nun-null if succeeded, null otherwise.
|
inlinestatic |
Create an instance.
|
inlinestatic |
Get global or create new processor instance.
Operation_waiter ugcs::vsm::Android_serial_processor::Open | ( | const std::string & | port_name, |
const Stream::Mode & | mode = Stream::Mode() , |
||
Open_handler | completion_handler = Make_dummy_callback< void, Stream::Ref >() , |
||
Request_completion_context::Ptr | comp_ctx = Request_temp_completion_context::Create() |
||
) |
Open serial device stream.
port_name | Name returned by Enumerate_port_names() method. |
mode | Port mode. |