11 #ifdef epicsExportSharedSymbols 12 # define ntfieldEpicsExportSharedSymbols 13 # undef epicsExportSharedSymbols 16 #include <pv/standardField.h> 17 #include <pv/standardPVField.h> 19 #include <pv/pvAlarm.h> 20 #include <pv/timeStamp.h> 21 #include <pv/pvTimeStamp.h> 22 #include <pv/sharedVector.h> 24 #ifdef ntfieldEpicsExportSharedSymbols 25 # define epicsExportSharedSymbols 26 # undef ntfieldEpicsExportSharedSymbols 31 namespace epics {
namespace nt {
36 typedef std::tr1::shared_ptr<NTField>
NTFieldPtr;
54 static NTFieldPtr
get();
65 bool isEnumerated(epics::pvData::FieldConstPtr
const & field);
72 bool isTimeStamp(epics::pvData::FieldConstPtr
const & field);
79 bool isAlarm(epics::pvData::FieldConstPtr
const & field);
86 bool isDisplay(epics::pvData::FieldConstPtr
const & field);
93 bool isAlarmLimit(epics::pvData::FieldConstPtr
const & field);
100 bool isControl(epics::pvData::FieldConstPtr
const & field);
106 epics::pvData::StructureConstPtr createEnumerated();
112 epics::pvData::StructureConstPtr createTimeStamp();
118 epics::pvData::StructureConstPtr createAlarm();
124 epics::pvData::StructureConstPtr createDisplay();
130 epics::pvData::StructureConstPtr createControl();
136 epics::pvData::StructureArrayConstPtr createEnumeratedArray();
142 epics::pvData::StructureArrayConstPtr createTimeStampArray();
148 epics::pvData::StructureArrayConstPtr createAlarmArray();
152 epics::pvData::FieldCreatePtr fieldCreate;
153 epics::pvData::StandardFieldPtr standardField;
193 static PVNTFieldPtr
get();
205 epics::pvData::PVStructurePtr createEnumerated(
206 epics::pvData::StringArray
const & choices);
212 epics::pvData::PVStructurePtr createTimeStamp();
218 epics::pvData::PVStructurePtr createAlarm();
224 epics::pvData::PVStructurePtr createDisplay();
230 epics::pvData::PVStructurePtr createControl();
236 epics::pvData::PVStructureArrayPtr createEnumeratedArray();
242 epics::pvData::PVStructureArrayPtr createTimeStampArray();
248 epics::pvData::PVStructureArrayPtr createAlarmArray();
252 epics::pvData::PVDataCreatePtr pvDataCreate;
253 epics::pvData::StandardFieldPtr standardField;
254 epics::pvData::StandardPVFieldPtr standardPVField;
255 NTFieldPtr ntstructureField;
Convenience Class for data fields of a Normative Type.
Convenience Class for NTHistogram.
Convenience Class for NTContinuum.
Convenience Class for NTEnum.
Convenience Class for NTUnion.
Convenience Class for NTMatrix.
Validation methods for NT types.
std::tr1::shared_ptr< NTField > NTFieldPtr
Convenience Class for NTAggregate.
Convenience Class for NTScalar.
std::tr1::shared_ptr< PVNTField > PVNTFieldPtr
Convenience Class for NTNDArrayAttribute.
Convenience Class for NTNDArray.
Convenience Class for NTScalarArray.
Convenience Class for NTTable.
Convenience Class for NTMultiChannel.
Convenience Class for introspection fields of a Normative Type.
Convenience Class for NTNameValue.
Convenience Class for NTScalarMultiChannel.
Convenience Class for NTAttribute.