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::ChannelArrayRequester Class Referenceabstract

The Requester for a ChannelArray. More...

#include <client/pv/pvAccess.h>

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

Public Types

typedef std::tr1::shared_ptr
< ChannelArrayRequester
shared_pointer
 
typedef std::tr1::shared_ptr
< const ChannelArrayRequester
const_shared_pointer
 
typedef std::tr1::weak_ptr
< ChannelArrayRequester
weak_pointer
 
typedef std::tr1::weak_ptr
< const ChannelArrayRequester
const_weak_pointer
 
typedef ChannelArray operation_type
 

Public Member Functions

virtual void channelArrayConnect (const epics::pvData::Status &status, ChannelArray::shared_pointer const &channelArray, epics::pvData::Array::const_shared_pointer const &array)=0
 Underlying Channel is connected and operation setup is complete. More...
 
virtual void putArrayDone (const epics::pvData::Status &status, ChannelArray::shared_pointer const &channelArray)=0
 The request is done. More...
 
virtual void getArrayDone (const epics::pvData::Status &status, ChannelArray::shared_pointer const &channelArray, epics::pvData::PVArray::shared_pointer const &pvArray)=0
 The request is done. More...
 
virtual void getLengthDone (const epics::pvData::Status &status, ChannelArray::shared_pointer const &channelArray, size_t length)=0
 The request is done. More...
 
virtual void setLengthDone (const epics::pvData::Status &status, ChannelArray::shared_pointer const &channelArray)=0
 The request is done. More...
 
virtual void channelDisconnect (bool destroy)
 Notification when underlying Channel becomes DISCONNECTED or DESTORYED. More...
 

Static Public Attributes

static size_t num_instances
 

Detailed Description

The Requester for a ChannelArray.

Definition at line 332 of file pvAccess.h.

Member Function Documentation

virtual void epics::pvAccess::ChannelArrayRequester::channelArrayConnect ( const epics::pvData::Status &  status,
ChannelArray::shared_pointer const &  channelArray,
epics::pvData::Array::const_shared_pointer const &  array 
)
pure virtual

Underlying Channel is connected and operation setup is complete.

May call putArray(), getArray(), getLength(), or setLength() to execute.

Parameters
statusCompletion status.
channelArrayThe channelArray interface or nullptr if the request failed.
pvArrayThe PVArray that holds the data or nullptr if the request failed.
virtual void epics::pvAccess::ChannelBaseRequester::channelDisconnect ( bool  destroy)
inlinevirtualinherited

Notification when underlying Channel becomes DISCONNECTED or DESTORYED.

(re)connection is notified through a sub-class *Connect() method.

Any in-progress get()/put()/request()/start() is implicitly cancel()'d or stop()'d before this method is called.

Ownership of any PVStructures passed to completion callbacks (eg. ChannelGetRequester::getDone() ) is returned the operation

Parameters
destroytrue for final disconnect.

Definition at line 198 of file pvAccess.h.

virtual void epics::pvAccess::ChannelArrayRequester::getArrayDone ( const epics::pvData::Status &  status,
ChannelArray::shared_pointer const &  channelArray,
epics::pvData::PVArray::shared_pointer const &  pvArray 
)
pure virtual

The request is done.

This is always called with no locks held.

Ownership of the PVArray is transfered to the ChannelArrayRequester until a subsequent call to ChannelArray::getArray() or ChannelArrayRequester::channelDisconnect().

Parameters
statusCompletion status.
channelArrayThe channelArray interface.
pvArrayThe PVArray that holds the data or nullptr if the request failed.
virtual void epics::pvAccess::ChannelArrayRequester::getLengthDone ( const epics::pvData::Status &  status,
ChannelArray::shared_pointer const &  channelArray,
size_t  length 
)
pure virtual

The request is done.

This is always called with no locks held.

Parameters
statusCompletion status.
channelArrayThe channelArray interface.
lengthThe length of the array, 0 if the request failed.
virtual void epics::pvAccess::ChannelArrayRequester::putArrayDone ( const epics::pvData::Status &  status,
ChannelArray::shared_pointer const &  channelArray 
)
pure virtual

The request is done.

This is always called with no locks held.

Ownership of PVArray passed to ChannelArray::putArray() returns to ChannelArrayRequester

Parameters
statusCompletion status.
channelArrayThe channelArray interface.
virtual void epics::pvAccess::ChannelArrayRequester::setLengthDone ( const epics::pvData::Status &  status,
ChannelArray::shared_pointer const &  channelArray 
)
pure virtual

The request is done.

This is always called with no locks held.

Parameters
statusCompletion status.
channelArrayThe channelArray interface.

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