This is Unofficial EPICS BASE Doxygen Site
epics::nt::PVNTField Class Reference

Convenience Class for data fields of a Normative Type. More...

#include "ntfield.h"

Public Member Functions

 POINTER_DEFINITIONS (PVNTField)
 
 ~PVNTField ()
 
epics::pvData::PVStructurePtr createEnumerated (epics::pvData::StringArray const &choices)
 
epics::pvData::PVStructurePtr createTimeStamp ()
 
epics::pvData::PVStructurePtr createAlarm ()
 
epics::pvData::PVStructurePtr createDisplay ()
 
epics::pvData::PVStructurePtr createControl ()
 
epics::pvData::PVStructureArrayPtr createEnumeratedArray ()
 
epics::pvData::PVStructureArrayPtr createTimeStampArray ()
 
epics::pvData::PVStructureArrayPtr createAlarmArray ()
 

Static Public Member Functions

static PVNTFieldPtr get ()
 

Detailed Description

Convenience Class for data fields of a Normative Type.

Author
mrk

Definition at line 186 of file ntfield.h.

Constructor & Destructor Documentation

epics::nt::PVNTField::~PVNTField ( )
inline

destructor

Definition at line 198 of file ntfield.h.

198 {}

Member Function Documentation

PVStructurePtr epics::nt::PVNTField::createAlarm ( )

Creates an alarm PVStructure.

Returns
an alarm PVStructure.

Definition at line 202 of file ntfield.cpp.

203 {
204  StructureConstPtr alarm = standardField->alarm();
205  return pvDataCreate->createPVStructure(alarm);
206 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
PVStructureArrayPtr epics::nt::PVNTField::createAlarmArray ( )

Creates an alarm PVStructureArray.

Returns
an alarm PVStructureArray.

Definition at line 235 of file ntfield.cpp.

236 {
237  StructureArrayConstPtr sa = ntstructureField->createAlarmArray();
238  return pvDataCreate->createPVStructureArray(sa);
239 }
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
Definition: pvIntrospect.h:166
PVStructurePtr epics::nt::PVNTField::createControl ( )

Creates a control PVStructure.

Returns
a control PVStructure.

Definition at line 215 of file ntfield.cpp.

216 {
217  StructureConstPtr control = standardField->control();
218  return pvDataCreate->createPVStructure(control);
219 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
PVStructurePtr epics::nt::PVNTField::createDisplay ( )

Creates a display PVStructure.

Returns
a display PVStructure.

Definition at line 208 of file ntfield.cpp.

209 {
210  StructureConstPtr display = standardField->display();
211  return pvDataCreate->createPVStructure(display);
212 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
PVStructurePtr epics::nt::PVNTField::createEnumerated ( epics::pvData::StringArray const &  choices)

Creates an enumerated PVStructure.

Parameters
choicesThe array of choices.
Returns
an enumerated PVStructure.

Definition at line 190 of file ntfield.cpp.

192 {
193  return standardPVField->enumerated(choices);
194 }
PVStructureArrayPtr epics::nt::PVNTField::createEnumeratedArray ( )

Creates an enumerated PVStructureArray.

Returns
an enumerated PVStructureArray.

Definition at line 221 of file ntfield.cpp.

222 {
224  ntstructureField->createEnumeratedArray();
225  return pvDataCreate->createPVStructureArray(sa);
226 }
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
Definition: pvIntrospect.h:166
PVStructurePtr epics::nt::PVNTField::createTimeStamp ( )

Creates a timeStamp PVStructure.

Returns
a timeStamp PVStructure.

Definition at line 196 of file ntfield.cpp.

197 {
198  StructureConstPtr timeStamp = standardField->timeStamp();
199  return pvDataCreate->createPVStructure(timeStamp);
200 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
PVStructureArrayPtr epics::nt::PVNTField::createTimeStampArray ( )

Creates a timeStamp PVStructureArray.

Returns
a timeStamp PVStructureArray.

Definition at line 228 of file ntfield.cpp.

229 {
231  ntstructureField->createTimeStampArray();
232  return pvDataCreate->createPVStructureArray(sa);
233 }
std::tr1::shared_ptr< const StructureArray > StructureArrayConstPtr
Definition: pvIntrospect.h:166
PVNTFieldPtr epics::nt::PVNTField::get ( )
static

Returns the single implementation of this class.

Returns
the implementation

Definition at line 170 of file ntfield.cpp.

171 {
172  static Mutex mutex;
173  static PVNTFieldPtr pvntstructureField;
174  Lock xx(mutex);
175  if(pvntstructureField.get()==NULL) {
176  pvntstructureField = PVNTFieldPtr(new PVNTField());
177  }
178  return pvntstructureField;
179 }
A lock for multithreading.
Definition: lock.h:36
#define NULL
Definition: catime.c:38
std::tr1::shared_ptr< PVNTField > PVNTFieldPtr
Definition: ntfield.h:38
epicsMutex mutex
Definition: pvAccess.cpp:71
epicsMutex Mutex
Definition: lock.h:28
epics::nt::PVNTField::POINTER_DEFINITIONS ( PVNTField  )

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