18 #define epicsExportSharedSymbols 26 namespace epics {
namespace pvaClient {
29 typedef std::tr1::shared_ptr<PVArray>
PVArrayPtr;
36 static string noStructure(
"no pvStructure ");
37 static string noValue(
"no value field");
38 static string noScalar(
"value is not a scalar");
39 static string notCompatibleScalar(
"value is not a compatible scalar");
40 static string noArray(
"value is not an array");
41 static string noScalarArray(
"value is not a scalarArray");
42 static string notDoubleArray(
"value is not a doubleArray");
43 static string notStringArray(
"value is not a stringArray");
44 static string noAlarm(
"no alarm");
45 static string noTimeStamp(
"no timeStamp");
62 BitSetPtr changedBitSet = monitorElement->changedBitSet;
63 PvaClientData::setData(pvStructure,changedBitSet);
64 overrunBitSet = monitorElement->overrunBitSet;
69 if(!overrunBitSet)
throw std::runtime_error(messagePrefix + noStructure);
73 std::ostream & PvaClientMonitorData::showOverrun(std::ostream & out)
75 if(!overrunBitSet)
throw std::runtime_error(messagePrefix + noStructure);
76 size_t nextSet = overrunBitSet->nextSetBit(0);
78 while(nextSet!=string::npos) {
80 pvField = getPVStructure();
82 pvField = getPVStructure()->getSubField(nextSet);
84 string name = pvField->getFullName();
85 out << name <<
" = " << pvField << endl;
86 nextSet = overrunBitSet->nextSetBit(nextSet+1);
std::tr1::shared_ptr< PvaClientMonitorData > PvaClientMonitorDataPtr
TODO only here because of the Lockable.
std::tr1::shared_ptr< const Structure > StructureConstPtr
std::tr1::shared_ptr< PVArray > PVArrayPtr
A base class for PvaClientGetData, PvaClientPutData, and PvaClientMonitorData.
std::tr1::shared_ptr< PVStructure > PVStructurePtr
A class that holds data returned by PvaClientMonitor.
std::tr1::shared_ptr< PVField > PVFieldPtr
std::tr1::shared_ptr< Convert > ConvertPtr
std::tr1::shared_ptr< MonitorElement > MonitorElementPtr
std::tr1::shared_ptr< BitSet > BitSetPtr