pvaClientCPP  4.8.1-dev
Public Member Functions | Protected Member Functions | Static Protected Member Functions | Protected Attributes | Friends | List of all members
epics::pvaClient::PvaClientData Class Reference

A base class for PvaClientGetData, PvaClientPutData, and PvaClientMonitorData. More...

#include <pv/pvaClient.h>

Inheritance diagram for epics::pvaClient::PvaClientData:
epics::pvaClient::PvaClientGetData epics::pvaClient::PvaClientMonitorData epics::pvaClient::PvaClientPutData

Public Member Functions

 POINTER_DEFINITIONS (PvaClientData)
 
 ~PvaClientData ()
 Destructor. More...
 
void setMessagePrefix (std::string const &value)
 Set a prefix for throw messages. More...
 
epics::pvData::StructureConstPtr getStructure ()
 Get the structure. More...
 
epics::pvData::PVStructurePtr getPVStructure ()
 Get the pvStructure. More...
 
epics::pvData::BitSetPtr getChangedBitSet ()
 Get the changed BitSet for the pvStructure. More...
 
std::ostream & showChanged (std::ostream &out)
 Show the fields that have changed value since the last get. More...
 
void setData (epics::pvData::PVStructurePtr const &pvStructureFrom, epics::pvData::BitSetPtr const &bitSetFrom)
 New data is present. More...
 
bool hasValue ()
 Is there a top level field named value. More...
 
bool isValueScalar ()
 Is the value field a scalar? More...
 
bool isValueScalarArray ()
 Is the value field a scalar array? More...
 
epics::pvData::PVFieldPtr getValue ()
 Get the interface to the value field. More...
 
epics::pvData::PVScalarPtr getScalarValue ()
 Return the interface to a scalar value field. More...
 
std::tr1::shared_ptr< epics::pvData::PVArray > getArrayValue ()
 Get the interface to an array value field. More...
 
std::tr1::shared_ptr< epics::pvData::PVScalarArray > getScalarArrayValue ()
 Get the interface to a scalar array value field. More...
 
double getDouble ()
 Get the value as a double. More...
 
std::string getString ()
 
epics::pvData::shared_vector< const double > getDoubleArray ()
 Get the value as a double array. More...
 
epics::pvData::shared_vector< const std::string > getStringArray ()
 Get the value as a string array. More...
 
epics::pvData::Alarm getAlarm ()
 Get the alarm. If the pvStructure has an alarm field it's values are returned. Otherwise an exception is thrown. More...
 
epics::pvData::TimeStamp getTimeStamp ()
 Get the timeStamp. If the pvStructure has a timeStamp field, it's values are returned. Otherwise an exception is thrown. More...
 
void parse (const std::vector< std::string > &args)
 parse from args More...
 
void streamJSON (std::ostream &strm, bool ignoreUnprintable=true, bool multiLine=false)
 generate JSON output from the current PVStructure and displays it on the output stream. More...
 
void zeroArrayLength ()
 set length of all array fields to 0 More...
 

Protected Member Functions

 PvaClientData (epics::pvData::StructureConstPtr const &structure)
 
epics::pvData::PVFieldPtr getSinglePVField ()
 
void checkValue ()
 

Static Protected Member Functions

static PvaClientDataPtr create (epics::pvData::StructureConstPtr const &structure)
 

Protected Attributes

std::string messagePrefix
 

Friends

class PvaClientGet
 
class PvaClientPutGet
 

Detailed Description

A base class for PvaClientGetData, PvaClientPutData, and PvaClientMonitorData.

Definition at line 541 of file pvaClient.h.

Constructor & Destructor Documentation

◆ ~PvaClientData()

epics::pvaClient::PvaClientData::~PvaClientData ( )
inline

Destructor.

Definition at line 548 of file pvaClient.h.

◆ PvaClientData()

epics::pvaClient::PvaClientData::PvaClientData ( epics::pvData::StructureConstPtr const &  structure)
protected

Definition at line 55 of file pvaClientData.cpp.

Member Function Documentation

◆ checkValue()

void epics::pvaClient::PvaClientData::checkValue ( )
protected

◆ create()

PvaClientDataPtr epics::pvaClient::PvaClientData::create ( epics::pvData::StructureConstPtr const &  structure)
staticprotected

Definition at line 48 of file pvaClientData.cpp.

◆ getAlarm()

Alarm epics::pvaClient::PvaClientData::getAlarm ( )

Get the alarm. If the pvStructure has an alarm field it's values are returned. Otherwise an exception is thrown.

Returns
The alarm.
Exceptions
runtime_errorif failure.

Definition at line 270 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug(), and messagePrefix.

◆ getArrayValue()

PVArrayPtr epics::pvaClient::PvaClientData::getArrayValue ( )

Get the interface to an array value field.

Returns
The interface.
Exceptions
runtime_errorif failure.

Definition at line 182 of file pvaClientData.cpp.

References checkValue(), epics::pvaClient::PvaClient::getDebug(), and messagePrefix.

◆ getChangedBitSet()

BitSetPtr epics::pvaClient::PvaClientData::getChangedBitSet ( )

Get the changed BitSet for the pvStructure.

This shows which fields have changed value since the last get.

Returns
The bitSet
Exceptions
runtime_errorif failure

Definition at line 107 of file pvaClientData.cpp.

References messagePrefix.

◆ getDouble()

double epics::pvaClient::PvaClientData::getDouble ( )

Get the value as a double.

Returns
The value.
Exceptions
runtime_errorif failure.

Definition at line 204 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug(), and getSinglePVField().

◆ getDoubleArray()

shared_vector< const double > epics::pvaClient::PvaClientData::getDoubleArray ( )

Get the value as a double array.

Returns
The value.
Exceptions
runtime_errorif failure.

Definition at line 237 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug(), and getSinglePVField().

◆ getPVStructure()

PVStructurePtr epics::pvaClient::PvaClientData::getPVStructure ( )

Get the pvStructure.

Returns
the pvStructure.
Exceptions
runtime_errorif failure.

Definition at line 101 of file pvaClientData.cpp.

References messagePrefix.

Referenced by getSinglePVField().

◆ getScalarArrayValue()

PVScalarArrayPtr epics::pvaClient::PvaClientData::getScalarArrayValue ( )

Get the interface to a scalar array value field.

Returns
Return the interface.
Exceptions
runtime_errorif failure.

Definition at line 193 of file pvaClientData.cpp.

References checkValue(), epics::pvaClient::PvaClient::getDebug(), and messagePrefix.

◆ getScalarValue()

PVScalarPtr epics::pvaClient::PvaClientData::getScalarValue ( )

Return the interface to a scalar value field.

Returns
The interface for a scalar value field.
Exceptions
runtime_errorif failure.

Definition at line 172 of file pvaClientData.cpp.

References checkValue(), epics::pvaClient::PvaClient::getDebug(), and messagePrefix.

◆ getSinglePVField()

PVFieldPtr epics::pvaClient::PvaClientData::getSinglePVField ( )
protected

◆ getString()

string epics::pvaClient::PvaClientData::getString ( )

Get the value as a string.

Returns
The value.
Exceptions
runtime_errorif failure.

Definition at line 225 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug(), and getSinglePVField().

◆ getStringArray()

shared_vector< const string > epics::pvaClient::PvaClientData::getStringArray ( )

Get the value as a string array.

Returns
The value.
Exceptions
runtime_errorif failure.

Definition at line 256 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug(), and getSinglePVField().

◆ getStructure()

StructureConstPtr epics::pvaClient::PvaClientData::getStructure ( )

Get the structure.

Returns
The Structure
Exceptions
runtime_errorif failure.

Definition at line 96 of file pvaClientData.cpp.

◆ getTimeStamp()

TimeStamp epics::pvaClient::PvaClientData::getTimeStamp ( )

Get the timeStamp. If the pvStructure has a timeStamp field, it's values are returned. Otherwise an exception is thrown.

Returns
The timeStamp.

Definition at line 286 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug(), and messagePrefix.

◆ getValue()

PVFieldPtr epics::pvaClient::PvaClientData::getValue ( )

Get the interface to the value field.

Returns
The interface.
Exceptions
runtime_errorif failure.

Definition at line 165 of file pvaClientData.cpp.

References checkValue(), and epics::pvaClient::PvaClient::getDebug().

◆ hasValue()

bool epics::pvaClient::PvaClientData::hasValue ( )

Is there a top level field named value.

Returns
The answer.

Definition at line 142 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug().

◆ isValueScalar()

bool epics::pvaClient::PvaClientData::isValueScalar ( )

Is the value field a scalar?

Returns
The answer.

Definition at line 149 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug().

◆ isValueScalarArray()

bool epics::pvaClient::PvaClientData::isValueScalarArray ( )

Is the value field a scalar array?

Returns
The answer.

Definition at line 157 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug().

◆ parse()

void epics::pvaClient::PvaClientData::parse ( const std::vector< std::string > &  args)

parse from args

Accepts arguments of the form json or field='value' where value is json syntax. field is name.name...

Parameters
argsThe arguments.
Exceptions
runtime_errorif failure.

Definition at line 345 of file pvaClientData.cpp.

References messagePrefix.

Referenced by zeroArrayLength().

◆ POINTER_DEFINITIONS()

epics::pvaClient::PvaClientData::POINTER_DEFINITIONS ( PvaClientData  )

◆ setData()

void epics::pvaClient::PvaClientData::setData ( epics::pvData::PVStructurePtr const &  pvStructureFrom,
epics::pvData::BitSetPtr const &  bitSetFrom 
)

New data is present.

This is called by other pvaClient classes, i. e. not by client.

Parameters
pvStructureFromThe new data.
bitSetFromthe bitSet showing which values have changed.

Definition at line 131 of file pvaClientData.cpp.

References epics::pvaClient::PvaClient::getDebug().

◆ setMessagePrefix()

void epics::pvaClient::PvaClientData::setMessagePrefix ( std::string const &  value)

Set a prefix for throw messages.

This is called by other pvaClient classes.

Parameters
valueThe prefix.

Definition at line 91 of file pvaClientData.cpp.

References messagePrefix.

◆ showChanged()

std::ostream & epics::pvaClient::PvaClientData::showChanged ( std::ostream &  out)

Show the fields that have changed value since the last get.

Parameters
outThe stream that shows the changed fields.
Returns
The stream that was passed as out.

Definition at line 113 of file pvaClientData.cpp.

References messagePrefix.

◆ streamJSON()

void epics::pvaClient::PvaClientData::streamJSON ( std::ostream &  strm,
bool  ignoreUnprintable = true,
bool  multiLine = false 
)

generate JSON output from the current PVStructure and displays it on the output stream.

Parameters
strmThe output stream.
ignoreUnprintablefalse or true; The default is true.
multilinefalse or true; The default is false.
Exceptions
runtime_errorif failure.

Definition at line 392 of file pvaClientData.cpp.

References zeroArrayLength().

◆ zeroArrayLength()

void epics::pvaClient::PvaClientData::zeroArrayLength ( )

set length of all array fields to 0

Definition at line 302 of file pvaClientData.cpp.

References messagePrefix, and parse().

Referenced by streamJSON().

Friends And Related Function Documentation

◆ PvaClientGet

friend class PvaClientGet
friend

Definition at line 702 of file pvaClient.h.

◆ PvaClientPutGet

friend class PvaClientPutGet
friend

Definition at line 703 of file pvaClient.h.

Member Data Documentation

◆ messagePrefix

std::string epics::pvaClient::PvaClientData::messagePrefix
protected

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