pvAccessCPP  7.1.5
Public Types | Public Member Functions | Static Public Attributes | List of all members
epics::pvAccess::ChannelArray Class Referenceabstract

Request to put and get Array Data. More...

#include <client/pv/pvAccess.h>

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

Public Types

typedef ChannelArrayRequester requester_type
 

Public Member Functions

 POINTER_DEFINITIONS (ChannelArray)
 
virtual void putArray (epics::pvData::PVArray::shared_pointer const &putArray, size_t offset=0, size_t count=0, size_t stride=1)=0
 put to the remote array. More...
 
virtual void getArray (size_t offset=0, size_t count=0, size_t stride=1)=0
 get from the remote array. More...
 
virtual void getLength ()=0
 Get the length.
 
virtual void setLength (size_t length)=0
 Set the length and/or the capacity. More...
 
 POINTER_DEFINITIONS (ChannelRequest)
 
 POINTER_DEFINITIONS (Destroyable)
 
 POINTER_DEFINITIONS (Lockable)
 
virtual std::tr1::shared_ptr< ChannelgetChannel ()=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

Request to put and get Array Data.

The data is either taken from or put in the PVArray returned by ChannelArrayRequester.channelArrayConnect.

Definition at line 283 of file pvAccess.h.

Member Function Documentation

◆ cancel()

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.

◆ getArray()

virtual void epics::pvAccess::ChannelArray::getArray ( size_t  offset = 0,
size_t  count = 0,
size_t  stride = 1 
)
pure virtual

get from the remote array.

Ownership of the PVArray previously passed to ChannelArrayRequester::getArrayDone() is returned to the ChannelArray from the ChannelArrayRequester.

Parameters
offsetThe offset in the remote array, i.e. the PVArray returned by ChannelArrayRequester::channelArrayConnect.
countThe number of elements to get, 0 means "till the end of an array".
stride1 means all the elements from offset to count, 2 means every other, 3 means every third, etc.

◆ getChannel()

virtual std::tr1::shared_ptr<Channel> epics::pvAccess::ChannelRequest::getChannel ( )
pure virtualinherited

Get a channel instance this request belongs to.

Returns
the channel instance.

◆ lastRequest()

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.

◆ putArray()

virtual void epics::pvAccess::ChannelArray::putArray ( epics::pvData::PVArray::shared_pointer const &  putArray,
size_t  offset = 0,
size_t  count = 0,
size_t  stride = 1 
)
pure virtual

put to the remote array.

Ownership of the PVArray is transferred to the ChannelArray until ChannelArrayRequester::putArrayDone() or ChannelArrayRequester::channelDisconnect() is called.

Parameters
putArrayarray to put.
offsetThe offset in the remote array, i.e. the PVArray returned by ChannelArrayRequester::channelArrayConnect.
countThe number of elements to put, 0 means "entire array".
stride1 means all the elements from offset to count, 2 means every other, 3 means every third, etc.

◆ setLength()

virtual void epics::pvAccess::ChannelArray::setLength ( size_t  length)
pure virtual

Set the length and/or the capacity.

Parameters
lengthThe new length.

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