This is Unofficial EPICS BASE Doxygen Site
epics::pvData::StandardField Class Reference

Standard Fields is a class or creating or sharing Field objects for standard fields. More...

#include "standardField.h"

Public Member Functions

 ~StandardField ()
 
StructureConstPtr scalar (ScalarType type, std::string const &properties)
 
StructureConstPtr regUnion (UnionConstPtr const &punion, std::string const &properties)
 
StructureConstPtr variantUnion (std::string const &properties)
 
StructureConstPtr scalarArray (ScalarType elementType, std::string const &properties)
 
StructureConstPtr structureArray (StructureConstPtr const &structure, std::string const &properties)
 
StructureConstPtr unionArray (UnionConstPtr const &punion, std::string const &properties)
 
StructureConstPtr enumerated ()
 
StructureConstPtr enumerated (std::string const &properties)
 
const StructureConstPtralarm () const
 
const StructureConstPtrtimeStamp () const
 
const StructureConstPtrdisplay () const
 
const StructureConstPtrcontrol () const
 
const StructureConstPtrbooleanAlarm () const
 
const StructureConstPtrbyteAlarm () const
 
const StructureConstPtrubyteAlarm () const
 
const StructureConstPtrshortAlarm () const
 
const StructureConstPtrushortAlarm () const
 
const StructureConstPtrintAlarm () const
 
const StructureConstPtruintAlarm () const
 
const StructureConstPtrlongAlarm () const
 
const StructureConstPtrulongAlarm () const
 
const StructureConstPtrfloatAlarm () const
 
const StructureConstPtrdoubleAlarm () const
 
const StructureConstPtrenumeratedAlarm () const
 

Static Public Member Functions

static const StandardFieldPtrgetStandardField ()
 

Detailed Description

Standard Fields is a class or creating or sharing Field objects for standard fields.

For each type of standard object two methods are defined:s one with no properties and with properties The property field is a comma separated string of property names of the following: alarm, timeStamp, display, control, and valueAlarm. An example is "alarm,timeStamp,valueAlarm". The method with properties creates a structure with fields named fieldName and each of the property names. Each property field is a structure defining the property. The details about each property is given in the section named "Property". For example the call:

StructureConstPtr example = standardField->scalar(
std::string("value"),
std::string("value,alarm,timeStamp"));

Will result in a Field definition that has the form:

structure example
double value
int severity
int status
string message
long secondsPastEpoch
int nanoseconds
int userTag

In addition there are methods that create each of the property structures, i.e. the methods named: alarm, .... enumeratedAlarm."

StandardField is a singleton class. The class is accessed via the statement:

StandardField *standardField = getStandardField();

Definition at line 63 of file standardField.h.

Constructor & Destructor Documentation

epics::pvData::StandardField::~StandardField ( )

Definition at line 106 of file StandardField.cpp.

106 {}

Member Function Documentation

const StructureConstPtr& epics::pvData::StandardField::alarm ( ) const
inline

create an alarm structure

Returns
The const shared pointer to the structure.

Definition at line 135 of file standardField.h.

135 { return alarmField; }
const StructureConstPtr& epics::pvData::StandardField::booleanAlarm ( ) const
inline

create a boolean alarm structure

Returns
The const shared pointer to the structure.

Definition at line 155 of file standardField.h.

155 { return booleanAlarmField; }
const StructureConstPtr& epics::pvData::StandardField::byteAlarm ( ) const
inline

create a byte alarm structure

Returns
The const shared pointer to the structure.

Definition at line 160 of file standardField.h.

160 { return byteAlarmField; }
const StructureConstPtr& epics::pvData::StandardField::control ( ) const
inline

create a control structure

Returns
The const shared pointer to the structure.

Definition at line 150 of file standardField.h.

150 { return controlField; }
const StructureConstPtr& epics::pvData::StandardField::display ( ) const
inline

create a display structure

Returns
The const shared pointer to the structure.

Definition at line 145 of file standardField.h.

145 { return displayField; }
const StructureConstPtr& epics::pvData::StandardField::doubleAlarm ( ) const
inline

create a double alarm structure

Returns
The const shared pointer to the structure.

Definition at line 205 of file standardField.h.

205 { return doubleAlarmField; }
StructureConstPtr epics::pvData::StandardField::enumerated ( )

Create a structure that has an enumerated structure value field. The id for the structure is "enum_t".

Returns
The const shared pointer to the structure.

Definition at line 247 of file StandardField.cpp.

248 {
249  size_t num = 2;
250  FieldConstPtrArray fields(num);
251  StringArray names(num);
252  names[0] = "index";
253  names[1] = "choices";
254  fields[0] = fieldCreate->createScalar(pvInt);
255  fields[1] = fieldCreate->createScalarArray(pvString);
256  return fieldCreate->createStructure("enum_t",names,fields);
257  // NOTE: if this method is used to get NTEnum without properties the ID will be wrong!
258 }
std::vector< FieldConstPtr > FieldConstPtrArray
Definition: pvIntrospect.h:146
std::vector< std::string > StringArray
Definition: pvType.h:110
StructureConstPtr epics::pvData::StandardField::enumerated ( std::string const &  properties)

Create a structure that has an enumerated structure value field The id for the structure is "epics:nt/NTEnum:1.0".

Parameters
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control,valueAlarm".
Returns
The const shared pointer to the structure.
const StructureConstPtr& epics::pvData::StandardField::enumeratedAlarm ( ) const
inline

create an enumerated alarm structure

Returns
The const shared pointer to the structure.

Definition at line 210 of file standardField.h.

210 { return enumeratedAlarmField; }
const StructureConstPtr& epics::pvData::StandardField::floatAlarm ( ) const
inline

create a float alarm structure

Returns
The const shared pointer to the structure.

Definition at line 200 of file standardField.h.

200 { return floatAlarmField; }
const StandardFieldPtr & epics::pvData::StandardField::getStandardField ( )
static

getStandardField returns the singleton.

Returns
Shared pointer to StandardField.

Definition at line 276 of file StandardField.cpp.

277 {
278  epicsThreadOnce(&stdFieldGblOnce, &StandardField::once, 0);
279 
280  return *stdFieldGbl;
281 }
LIBCOM_API void epicsStdCall epicsThreadOnce(epicsThreadOnceId *id, EPICSTHREADFUNC, void *arg)
const StructureConstPtr& epics::pvData::StandardField::intAlarm ( ) const
inline

create an int alarm structure

Returns
The const shared pointer to the structure.

Definition at line 180 of file standardField.h.

180 { return intAlarmField; }
const StructureConstPtr& epics::pvData::StandardField::longAlarm ( ) const
inline

create a long alarm structure

Returns
The const shared pointer to the structure.

Definition at line 190 of file standardField.h.

190 { return longAlarmField; }
StructureConstPtr epics::pvData::StandardField::regUnion ( UnionConstPtr const &  punion,
std::string const &  properties 
)

Create a structure that has a union value field.

Parameters
punionThe interface for value field.
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control,valueAlarm".
Returns
The const shared pointer to the structure.

Definition at line 209 of file StandardField.cpp.

212 {
213  return createProperties("epics:nt/NTUnion:1.0",field,properties);
214 }
StructureConstPtr epics::pvData::StandardField::scalar ( ScalarType  type,
std::string const &  properties 
)

Create a structure that has a scalar value field.

Parameters
typeThe type.
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control,valueAlarm".
Returns
The const shared pointer to the structure.

Definition at line 202 of file StandardField.cpp.

204 {
205  ScalarConstPtr field = fieldCreate->createScalar(type); // scalar_t
206  return createProperties("epics:nt/NTScalar:1.0",field,properties);
207 }
pvd::StructureConstPtr type
std::tr1::shared_ptr< const Scalar > ScalarConstPtr
Definition: pvIntrospect.h:150
StructureConstPtr epics::pvData::StandardField::scalarArray ( ScalarType  elementType,
std::string const &  properties 
)

Create a structure that has a scalarArray value field.

Parameters
elementTypeThe element type.
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control,valueAlarm".
Returns
The const shared pointer to the structure.

Definition at line 223 of file StandardField.cpp.

225 {
226  ScalarArrayConstPtr field = fieldCreate->createScalarArray(elementType); // scalar_t[]
227  return createProperties("epics:nt/NTScalarArray:1.0",field,properties);
228 }
std::tr1::shared_ptr< const ScalarArray > ScalarArrayConstPtr
Definition: pvIntrospect.h:158
const StructureConstPtr& epics::pvData::StandardField::shortAlarm ( ) const
inline

create a short alarm structure

Returns
The const shared pointer to the structure.

Definition at line 170 of file standardField.h.

170 { return shortAlarmField; }
StructureConstPtr epics::pvData::StandardField::structureArray ( StructureConstPtr const &  structure,
std::string const &  properties 
)

Create a structure that has a structureArray value field.

Parameters
structureThe Structure introspection object for elements of the value field.
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control,valueAlarm".
Returns
The const shared pointer to the structure.

Definition at line 231 of file StandardField.cpp.

233 {
234  StructureArrayConstPtr field = fieldCreate->createStructureArray(
235  structure);
236  return createProperties("epics:nt/NTStructureArray:1.0",field,properties);
237 }
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
Definition: pvIntrospect.h:166
const StructureConstPtr& epics::pvData::StandardField::timeStamp ( ) const
inline

create a timeStamp structure

Returns
The const shared pointer to the structure.

Definition at line 140 of file standardField.h.

140 { return timeStampField; }
const StructureConstPtr& epics::pvData::StandardField::ubyteAlarm ( ) const
inline

create a unsigned byte alarm structure

Returns
The const shared pointer to the structure.

Definition at line 165 of file standardField.h.

165 { return ubyteAlarmField; }
const StructureConstPtr& epics::pvData::StandardField::uintAlarm ( ) const
inline

create a unsigned int alarm structure

Returns
The const shared pointer to the structure.

Definition at line 185 of file standardField.h.

185 { return uintAlarmField; }
const StructureConstPtr& epics::pvData::StandardField::ulongAlarm ( ) const
inline

create a unsigned long alarm structure

Returns
The const shared pointer to the structure.

Definition at line 195 of file standardField.h.

195 { return ulongAlarmField; }
StructureConstPtr epics::pvData::StandardField::unionArray ( UnionConstPtr const &  punion,
std::string const &  properties 
)

Create a structure that has a unionArray value field.

Parameters
punionThe Union introspection object for elements of the value field.
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control".
Returns
The const shared pointer to the structure.

Definition at line 239 of file StandardField.cpp.

241 {
242  UnionArrayConstPtr field = fieldCreate->createUnionArray(
243  punion);
244  return createProperties("epics:nt/NTUnionArray:1.0",field,properties);
245 }
std::tr1::shared_ptr< const UnionArray > UnionArrayConstPtr
Definition: pvIntrospect.h:174
const StructureConstPtr& epics::pvData::StandardField::ushortAlarm ( ) const
inline

create a unsigned short alarm structure

Returns
The const shared pointer to the structure.

Definition at line 175 of file standardField.h.

175 { return ushortAlarmField; }
StructureConstPtr epics::pvData::StandardField::variantUnion ( std::string const &  properties)

Create a structure that has a variant union value field.

Parameters
propertiesA comma separated list of properties. This is some combination of "alarm,timeStamp,display,control,valueAlarm".
Returns
The const shared pointer to the structure.

Definition at line 216 of file StandardField.cpp.

218 {
219  UnionConstPtr field = fieldCreate->createVariantUnion();
220  return createProperties("epics:nt/NTUnion:1.0",field,properties);
221 }
std::tr1::shared_ptr< const Union > UnionConstPtr
Definition: pvIntrospect.h:170

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