VSM C++ SDK
Vehicle Specific Modules SDK
ugcs::vsm::Ucs_request Class Reference
Inheritance diagram for ugcs::vsm::Ucs_request:
ugcs::vsm::Request_container::Request

Public Types

typedef std::shared_ptr< Ucs_requestPtr
 Pointer type.
 
typedef std::weak_ptr< Ucs_requestWeak_ptr
 Pointer type.
 
- Public Types inherited from ugcs::vsm::Request_container::Request
enum  Status {
  Status::PENDING, Status::CANCELLATION_PENDING, Status::CANCELING, Status::PROCESSING,
  Status::ABORT_PENDING, Status::ABORTED, Status::RESULT_CODES, Status::OK = RESULT_CODES,
  Status::CANCELED
}
 Request processing status which is returned by the handler or set internally. More...
 
typedef std::shared_ptr< RequestPtr
 Pointer type.
 
typedef std::weak_ptr< RequestWeak_ptr
 Pointer type.
 
typedef Callback_base< void >::Ptr<> Handler
 Callback denoting a handler of the request. More...
 
typedef std::unique_lock< std::mutex > Locker
 Smart lock object for request external locking. More...
 

Public Member Functions

 Ucs_request (ugcs::vsm::proto::Vsm_message)
 
void Add_command (Vsm_command::Ptr cmd)
 
void Complete (ugcs::vsm::proto::Status_code=ugcs::vsm::proto::STATUS_OK, const std::string &description=std::string())
 
- Public Member Functions inherited from ugcs::vsm::Request_container::Request
void Set_processing_handler (const Handler &handler)
 Set processing handler for the request. More...
 
void Set_processing_handler (Handler &&handler)
 
void Set_completion_handler (const Request_container::Ptr &context, const Handler &handler)
 Set completion handler for the request. More...
 
void Set_completion_handler (const Request_container::Ptr &context, Handler &&handler)
 
void Set_cancellation_handler (const Handler &handler)
 Set request cancellation handler. More...
 
void Set_cancellation_handler (Handler &&handler)
 
void Set_done_handler (Handler &handler)
 Set request done handler. More...
 
void Set_done_handler (Handler &&handler)
 
Request_container::Ptr Get_completion_context (Locker locker=Locker()) const
 Get completion context associated with the request. More...
 
void Process (bool process_request)
 Process the request. More...
 
void Complete (Status status=Status::OK, Locker locker=Locker())
 Complete the request processing. More...
 
void Cancel (Locker locker=Locker())
 Cancel request processing. More...
 
void Abort (Locker locker=Locker())
 Call this method when request is not going to be processed by Process() method but is just removed from request queue. More...
 
Locker Lock (bool acquire=true) const
 Acquire lock for request internal state. More...
 
Status Get_status () const
 Get request current status. More...
 
bool Is_completed () const
 Check if request is completed. More...
 
bool Is_request_processing_needed () const
 Return true only if the request processing (i.e. More...
 
bool Is_aborted () const
 Check if request is aborted. More...
 
bool Is_processing () const
 Check if request is still processing. More...
 
bool Is_completion_delivered () const
 Check if the request completion notification is delivered. More...
 
bool Is_completion_delivering_started () const
 Check if the request completion handler already invoked (but might not be returned yet.
 
bool Is_done () const
 Check if request is fully processed, i.e. More...
 
bool Wait_done (bool process_ctx=true, std::chrono::milliseconds timeout=std::chrono::milliseconds::zero())
 Wait for request is fully processed, i.e. More...
 
bool & Timed_out ()
 Access timed_out member. More...
 

Static Public Member Functions

template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 
- Static Public Member Functions inherited from ugcs::vsm::Request_container::Request
template<typename... Args>
static Ptr Create (Args &&...args)
 Create an instance. More...
 

Public Attributes

Proto_msg_ptr response
 
ugcs::vsm::proto::Vsm_message request
 

Additional Inherited Members

- Protected Member Functions inherited from ugcs::vsm::Request_container::Request
virtual void Destroy ()
 Called to destroy request. More...
 
bool Is_completion_handler_present ()
 Checks the availability of the completion handler. More...
 

Member Function Documentation

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

Create an instance.


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