pvaClientCPP  4.8.1-dev
Public Member Functions | Static Public Member Functions | List of all members
epics::pvaClient::PvaClientMultiChannel Class Reference

PvaMultiChannel is a synchronous interface for accessing multiple channels. More...

#include <pv/pvaClientMultiChannel.h>

Inheritance diagram for epics::pvaClient::PvaClientMultiChannel:

Public Member Functions

 POINTER_DEFINITIONS (PvaClientMultiChannel)
 
 ~PvaClientMultiChannel ()
 Destructor. More...
 
epics::pvData::shared_vector< const std::string > getChannelNames ()
 Get the channelNames. More...
 
epics::pvData::Status connect (double timeout=5)
 Connect to the channels. More...
 
bool allConnected ()
 Are all channels connected? More...
 
bool connectionChange ()
 Has a connection state change occured? More...
 
epics::pvData::shared_vector< epics::pvData::boolean > getIsConnected ()
 Get the connection state of each channel. More...
 
PvaClientChannelArray getPvaClientChannelArray ()
 Get the pvaClientChannelArray. More...
 
PvaClientPtr getPvaClient ()
 Get pvaClient. More...
 
PvaClientMultiGetDoublePtr createGet ()
 create a pvaClientMultiGetDouble More...
 
PvaClientMultiPutDoublePtr createPut ()
 Create a pvaClientMultiPutDouble. More...
 
PvaClientMultiMonitorDoublePtr createMonitor ()
 Create a pvaClientMultiMonitorDouble. More...
 
PvaClientNTMultiPutPtr createNTPut ()
 Create a pvaClientNTMultiPut. More...
 
PvaClientNTMultiGetPtr createNTGet (std::string const &request="field(value,alarm,timeStamp)")
 Create a pvaClientNTMultiGet;. More...
 
PvaClientNTMultiMonitorPtr createNTMonitor (std::string const &request="field(value,alarm,timeStamp)")
 Create a pvaClientNTMultiPut. More...
 

Static Public Member Functions

static PvaClientMultiChannelPtr create (PvaClientPtr const &pvaClient, epics::pvData::shared_vector< const std::string > const &channelNames, std::string const &providerName="pva", size_t maxNotConnected=0, epics::pvData::shared_vector< const std::string > const &providerNames=epics::pvData::shared_vector< const std::string >())
 Create a PvaClientMultiChannel. More...
 

Detailed Description

PvaMultiChannel is a synchronous interface for accessing multiple channels.

Author
mrk

Definition at line 60 of file pvaClientMultiChannel.h.

Constructor & Destructor Documentation

◆ ~PvaClientMultiChannel()

epics::pvaClient::PvaClientMultiChannel::~PvaClientMultiChannel ( )

Destructor.

Definition at line 64 of file pvaClientMultiChannel.cpp.

Member Function Documentation

◆ allConnected()

bool epics::pvaClient::PvaClientMultiChannel::allConnected ( )

Are all channels connected?

Returns
if all are connected.

Definition at line 115 of file pvaClientMultiChannel.cpp.

◆ connect()

Status epics::pvaClient::PvaClientMultiChannel::connect ( double  timeout = 5)

Connect to the channels.

This calls issueConnect and waitConnect. An exception is thrown if connect fails.

Parameters
timeoutThe time to wait for connecting to the channel.
Returns
status of request

Definition at line 82 of file pvaClientMultiChannel.cpp.

◆ connectionChange()

bool epics::pvaClient::PvaClientMultiChannel::connectionChange ( )

Has a connection state change occured?

Returns
(true, false) if (at least one, no) channel has changed state.

Definition at line 120 of file pvaClientMultiChannel.cpp.

◆ create()

PvaClientMultiChannelPtr epics::pvaClient::PvaClientMultiChannel::create ( PvaClientPtr const &  pvaClient,
epics::pvData::shared_vector< const std::string > const &  channelNames,
std::string const &  providerName = "pva",
size_t  maxNotConnected = 0,
epics::pvData::shared_vector< const std::string > const &  providerNames = epics::pvData::shared_vector<const std::string>() 
)
static

Create a PvaClientMultiChannel.

Parameters
pvaClientThe interface to pvaClient.
channelNamesThe names of the channel..
providerNameThe name of the provider. This is also used for the provider for all channels with providerNames.size less than channelNames.size()
maxNotConnectedThe maximum number of channels that can be disconnected.
providerNamesThe providerName for each Channells
Returns
The interface to the PvaClientMultiChannel

Definition at line 29 of file pvaClientMultiChannel.cpp.

◆ createGet()

PvaClientMultiGetDoublePtr epics::pvaClient::PvaClientMultiChannel::createGet ( )

create a pvaClientMultiGetDouble

Returns
The interface.

Definition at line 159 of file pvaClientMultiChannel.cpp.

◆ createMonitor()

PvaClientMultiMonitorDoublePtr epics::pvaClient::PvaClientMultiChannel::createMonitor ( )

Create a pvaClientMultiMonitorDouble.

Returns
The interface.

Definition at line 173 of file pvaClientMultiChannel.cpp.

◆ createNTGet()

PvaClientNTMultiGetPtr epics::pvaClient::PvaClientMultiChannel::createNTGet ( std::string const &  request = "field(value,alarm,timeStamp)")

Create a pvaClientNTMultiGet;.

Parameters
requestThe request for each channel.
Returns
The interface.

Definition at line 186 of file pvaClientMultiChannel.cpp.

◆ createNTMonitor()

PvaClientNTMultiMonitorPtr epics::pvaClient::PvaClientMultiChannel::createNTMonitor ( std::string const &  request = "field(value,alarm,timeStamp)")

Create a pvaClientNTMultiPut.

Parameters
requestThe request for each channel.
Returns
The interface.

Definition at line 198 of file pvaClientMultiChannel.cpp.

◆ createNTPut()

PvaClientNTMultiPutPtr epics::pvaClient::PvaClientMultiChannel::createNTPut ( )

Create a pvaClientNTMultiPut.

Returns
The interface.

Definition at line 179 of file pvaClientMultiChannel.cpp.

◆ createPut()

PvaClientMultiPutDoublePtr epics::pvaClient::PvaClientMultiChannel::createPut ( )

Create a pvaClientMultiPutDouble.

Returns
The interface.

Definition at line 166 of file pvaClientMultiChannel.cpp.

◆ getChannelNames()

shared_vector< const string > epics::pvaClient::PvaClientMultiChannel::getChannelNames ( )

Get the channelNames.

Returns
The names.

Definition at line 77 of file pvaClientMultiChannel.cpp.

◆ getIsConnected()

shared_vector< epics::pvData::boolean > epics::pvaClient::PvaClientMultiChannel::getIsConnected ( )

Get the connection state of each channel.

Returns
The state of each channel.

Definition at line 132 of file pvaClientMultiChannel.cpp.

◆ getPvaClient()

PvaClientPtr epics::pvaClient::PvaClientMultiChannel::getPvaClient ( )

Get pvaClient.

Returns
The shared pointer.

Definition at line 152 of file pvaClientMultiChannel.cpp.

◆ getPvaClientChannelArray()

PvaClientChannelArray epics::pvaClient::PvaClientMultiChannel::getPvaClientChannelArray ( )

Get the pvaClientChannelArray.

Returns
The shared pointer.

Definition at line 147 of file pvaClientMultiChannel.cpp.

◆ POINTER_DEFINITIONS()

epics::pvaClient::PvaClientMultiChannel::POINTER_DEFINITIONS ( PvaClientMultiChannel  )

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