10 #define epicsExportSharedSymbols 16 namespace epics {
namespace nt {
23 if(ntstructureField.get()==
NULL) {
26 return ntstructureField;
39 .has<ScalarArray>(
"choices");
45 return isEnumerated(result.
is<
Structure>()).valid();
52 .has<Scalar>(
"nanoseconds")
66 .has<Scalar>(
"status")
80 .has<Scalar>(
"limitHigh")
81 .has<
Scalar>(
"description")
82 .has<Scalar>(
"format")
97 .has<Scalar>(
"lowAlarmLimit")
98 .has<
Scalar>(
"lowWarningLimit")
99 .has<Scalar>(
"highWarningLimit")
100 .has<
Scalar>(
"highAlarmLimit")
101 .has<Scalar>(
"lowAlarmSeverity")
102 .has<
Scalar>(
"lowWarningSeverity")
103 .has<Scalar>(
"highWarningSeverity")
104 .has<
Scalar>(
"highAlarmSeverity")
105 .has<Scalar>(
"hysteresis");
111 return isAlarmLimit(result.
is<
Structure>()).valid();
118 .has<Scalar>(
"limitHigh")
130 return standardField->enumerated();
135 return standardField->timeStamp();
140 return standardField->alarm();
145 return standardField->display();
150 return standardField->control();
155 return fieldCreate->createStructureArray(createEnumerated());
161 return fieldCreate->createStructureArray(st);
167 return fieldCreate->createStructureArray(st);
175 if(pvntstructureField.get()==
NULL) {
178 return pvntstructureField;
181 PVNTField::PVNTField()
193 return standardPVField->enumerated(choices);
199 return pvDataCreate->createPVStructure(timeStamp);
205 return pvDataCreate->createPVStructure(alarm);
211 return pvDataCreate->createPVStructure(display);
218 return pvDataCreate->createPVStructure(control);
224 ntstructureField->createEnumeratedArray();
225 return pvDataCreate->createPVStructureArray(sa);
231 ntstructureField->createTimeStampArray();
232 return pvDataCreate->createPVStructureArray(sa);
238 return pvDataCreate->createPVStructureArray(sa);
This class implements introspection object for Scalar.
Convenience Class for data fields of a Normative Type.
StandardPVFieldPtr getStandardPVField()
shared_ptr< T > static_pointer_cast(shared_ptr< U > const &r) BOOST_NOEXCEPT
Validation methods for NT types.
TODO only here because of the Lockable.
std::tr1::shared_ptr< const Structure > StructureConstPtr
A lock for multithreading.
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
std::tr1::shared_ptr< NTField > NTFieldPtr
FORCE_INLINE const StandardFieldPtr & getStandardField()
std::tr1::shared_ptr< PVNTField > PVNTFieldPtr
This class implements introspection object for a structure.
std::tr1::shared_ptr< PVStructureArray > PVStructureArrayPtr
std::tr1::shared_ptr< const Field > FieldConstPtr
FORCE_INLINE const FieldCreatePtr & getFieldCreate()
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Result & has(const std::string &name)
std::vector< std::string > StringArray
Convenience Class for introspection fields of a Normative Type.
FORCE_INLINE const PVDataCreatePtr & getPVDataCreate()