pvAccessCPP  7.1.7
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
Public Types | Public Member Functions | Static Public Attributes | List of all members
epics::pvAccess::ChannelRPC Class Referenceabstract

Handle for an RPC operation. More...

#include <client/pv/pvAccess.h>

Inheritance diagram for epics::pvAccess::ChannelRPC:
Inheritance graph
[legend]
Collaboration diagram for epics::pvAccess::ChannelRPC:
Collaboration graph
[legend]

Public Types

typedef std::tr1::shared_ptr
< ChannelRPC
shared_pointer
 
typedef std::tr1::shared_ptr
< const ChannelRPC
const_shared_pointer
 
typedef std::tr1::weak_ptr
< ChannelRPC
weak_pointer
 
typedef std::tr1::weak_ptr
< const ChannelRPC
const_weak_pointer
 
typedef ChannelRPCRequester requester_type
 

Public Member Functions

virtual void request (epics::pvData::PVStructure::shared_pointer const &pvArgument)=0
 Issue an RPC request to the channel. More...
 
virtual std::tr1::shared_ptr
< Channel
getChannel ()=0
 Get a channel instance this request belongs to. More...
 
virtual void cancel ()=0
 Cancel any pending request. More...
 
virtual void lastRequest ()=0
 Announce next request as last request. More...
 
virtual void destroy ()
 Destroy this instance.
 
virtual void lock ()
 
virtual void unlock ()
 

Static Public Attributes

static size_t num_instances
 

Detailed Description

Handle for an RPC operation.

Definition at line 783 of file pvAccess.h.

Member Function Documentation

virtual void epics::pvAccess::ChannelRequest::cancel ( )
pure virtualinherited

Cancel any pending request.

Completion will be reported via request's response callback:

  • if cancel() request is issued after the request was already complete, request success/failure completion will be reported and cancel() request ignored.
  • if the request was actually canceled, cancellation completion is reported.
virtual std::tr1::shared_ptr<Channel> epics::pvAccess::ChannelRequest::getChannel ( )
pure virtualinherited

Get a channel instance this request belongs to.

Returns
the channel instance.
virtual void epics::pvAccess::ChannelRequest::lastRequest ( )
pure virtualinherited

Announce next request as last request.

When last request will be completed (regardless of completion status) the remote and local instance will be destroyed.

virtual void epics::pvAccess::ChannelRPC::request ( epics::pvData::PVStructure::shared_pointer const &  pvArgument)
pure virtual

Issue an RPC request to the channel.

Completion status is reported by calling ChannelRPCRequester::requestDone() callback, which may be called from this method.

Precondition
The underlying Channel must be connected, and this ChannelRPC valid. Otherwise the ChannelRPCRequester::requestDone() is called with an error.
Postcondition
After calling request(), the requestDone() callback will be called at some later time. May call ChannelRPC::cancel() to request to abort() this operation.
Parameters
pvArgumentThe argument structure for an RPC request.

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