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

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

#include "ntfield.h"

Public Member Functions

 POINTER_DEFINITIONS (NTField)
 
 ~NTField ()
 
bool isEnumerated (epics::pvData::FieldConstPtr const &field)
 
bool isTimeStamp (epics::pvData::FieldConstPtr const &field)
 
bool isAlarm (epics::pvData::FieldConstPtr const &field)
 
bool isDisplay (epics::pvData::FieldConstPtr const &field)
 
bool isAlarmLimit (epics::pvData::FieldConstPtr const &field)
 
bool isControl (epics::pvData::FieldConstPtr const &field)
 
epics::pvData::StructureConstPtr createEnumerated ()
 
epics::pvData::StructureConstPtr createTimeStamp ()
 
epics::pvData::StructureConstPtr createAlarm ()
 
epics::pvData::StructureConstPtr createDisplay ()
 
epics::pvData::StructureConstPtr createControl ()
 
epics::pvData::StructureArrayConstPtr createEnumeratedArray ()
 
epics::pvData::StructureArrayConstPtr createTimeStampArray ()
 
epics::pvData::StructureArrayConstPtr createAlarmArray ()
 

Static Public Member Functions

static NTFieldPtr get ()
 

Friends

class NTAggregate
 
class NTAttribute
 
class NTContinuum
 
class NTEnum
 
class NTHistogram
 
class NTMatrix
 
class NTMultiChannel
 
class NTNameValue
 
class NTNDArray
 
class NTNDArrayAttribute
 
class NTScalar
 
class NTScalarArray
 
class NTScalarMultiChannel
 
class NTTable
 
class NTUnion
 

Detailed Description

Convenience Class for introspection fields of a Normative Type.

Author
mrk

Definition at line 47 of file ntfield.h.

Constructor & Destructor Documentation

epics::nt::NTField::~NTField ( )
inline

destructor

Definition at line 58 of file ntfield.h.

58 {}

Member Function Documentation

StructureConstPtr epics::nt::NTField::createAlarm ( )

Creates an alarm structure.

Returns
an alarm structure.

Definition at line 138 of file ntfield.cpp.

139 {
140  return standardField->alarm();
141 }
StructureArrayConstPtr epics::nt::NTField::createAlarmArray ( )

Creates an array of alarm structures.

Returns
an array of alarm structures.

Definition at line 164 of file ntfield.cpp.

165 {
167  return fieldCreate->createStructureArray(st);
168 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
epics::pvData::StructureConstPtr createAlarm()
Definition: ntfield.cpp:138
StructureConstPtr epics::nt::NTField::createControl ( )

Creates a control structure.

Returns
a control structure.

Definition at line 148 of file ntfield.cpp.

149 {
150  return standardField->control();
151 }
StructureConstPtr epics::nt::NTField::createDisplay ( )

Creates a display structure.

Returns
a displayalarm structure.

Definition at line 143 of file ntfield.cpp.

144 {
145  return standardField->display();
146 }
StructureConstPtr epics::nt::NTField::createEnumerated ( )

Creates an enumerated structure.

Returns
an enumerated structure.

Definition at line 128 of file ntfield.cpp.

129 {
130  return standardField->enumerated();
131 }
StructureArrayConstPtr epics::nt::NTField::createEnumeratedArray ( )

Creates an array of enumerated structures.

Returns
an array of enumerated structures.

Definition at line 153 of file ntfield.cpp.

154 {
155  return fieldCreate->createStructureArray(createEnumerated());
156 }
epics::pvData::StructureConstPtr createEnumerated()
Definition: ntfield.cpp:128
StructureConstPtr epics::nt::NTField::createTimeStamp ( )

Creates a timeStamp structure.

Returns
a timeStamp structure.

Definition at line 133 of file ntfield.cpp.

134 {
135  return standardField->timeStamp();
136 }
StructureArrayConstPtr epics::nt::NTField::createTimeStampArray ( )

Creates an array of timeStamp structures.

Returns
an array of timeStamp structures.

Definition at line 158 of file ntfield.cpp.

159 {
161  return fieldCreate->createStructureArray(st);
162 }
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
epics::pvData::StructureConstPtr createTimeStamp()
Definition: ntfield.cpp:133
NTFieldPtr epics::nt::NTField::get ( )
static

Gets the single implementation of this class.

Returns
the implementation

Definition at line 18 of file ntfield.cpp.

19 {
20  static Mutex mutex;
21  static NTFieldPtr ntstructureField;
22  Lock xx(mutex);
23  if(ntstructureField.get()==NULL) {
24  ntstructureField = NTFieldPtr(new NTField());
25  }
26  return ntstructureField;
27 }
A lock for multithreading.
Definition: lock.h:36
#define NULL
Definition: catime.c:38
std::tr1::shared_ptr< NTField > NTFieldPtr
Definition: ntfield.h:35
epicsMutex mutex
Definition: pvAccess.cpp:71
epicsMutex Mutex
Definition: lock.h:28
bool epics::nt::NTField::isAlarm ( epics::pvData::FieldConstPtr const &  field)

Is field an alarm structure.

Parameters
fieldthe field to test.
Returns
(false,true) if field (is not,is) an alarm structure.

Definition at line 70 of file ntfield.cpp.

71 {
72  Result result(field);
73  return isAlarm(result.is<Structure>()).valid();
74 }
pvac::PutEvent result
Definition: clientSync.cpp:117
This class implements introspection object for a structure.
Definition: pvIntrospect.h:697
bool isAlarm(epics::pvData::FieldConstPtr const &field)
Definition: ntfield.cpp:70
bool epics::nt::NTField::isAlarmLimit ( epics::pvData::FieldConstPtr const &  field)

Is field an alarmLimit structure.

Parameters
fieldthe field to test.
Returns
(false,true) if field (is not,is) an alarmLimit structure.

Definition at line 108 of file ntfield.cpp.

109 {
110  Result result(field);
111  return isAlarmLimit(result.is<Structure>()).valid();
112 }
pvac::PutEvent result
Definition: clientSync.cpp:117
This class implements introspection object for a structure.
Definition: pvIntrospect.h:697
bool isAlarmLimit(epics::pvData::FieldConstPtr const &field)
Definition: ntfield.cpp:108
bool epics::nt::NTField::isControl ( epics::pvData::FieldConstPtr const &  field)

Is field a control structure.

Parameters
fieldthe field to test.
Returns
(false,true) if field (is not,is) a control structure.

Definition at line 122 of file ntfield.cpp.

123 {
124  Result result(field);
125  return isControl(result.is<Structure>()).valid();
126 }
pvac::PutEvent result
Definition: clientSync.cpp:117
This class implements introspection object for a structure.
Definition: pvIntrospect.h:697
bool isControl(epics::pvData::FieldConstPtr const &field)
Definition: ntfield.cpp:122
bool epics::nt::NTField::isDisplay ( epics::pvData::FieldConstPtr const &  field)

Is field a display structure.

Parameters
fieldthe field to test.
Returns
(false,true) if field (is not,is) a display structure.

Definition at line 87 of file ntfield.cpp.

88 {
89  Result result(field);
90  return isDisplay(result.is<Structure>()).valid();
91 }
pvac::PutEvent result
Definition: clientSync.cpp:117
This class implements introspection object for a structure.
Definition: pvIntrospect.h:697
bool isDisplay(epics::pvData::FieldConstPtr const &field)
Definition: ntfield.cpp:87
bool epics::nt::NTField::isEnumerated ( epics::pvData::FieldConstPtr const &  field)

Is field an enumerated structure.

Parameters
fieldthe field to test.
Returns
(false,true) if field (is not,is) an enumerated structure.

Definition at line 42 of file ntfield.cpp.

43 {
44  Result result(field);
45  return isEnumerated(result.is<Structure>()).valid();
46 }
pvac::PutEvent result
Definition: clientSync.cpp:117
This class implements introspection object for a structure.
Definition: pvIntrospect.h:697
bool isEnumerated(epics::pvData::FieldConstPtr const &field)
Definition: ntfield.cpp:42
bool epics::nt::NTField::isTimeStamp ( epics::pvData::FieldConstPtr const &  field)

Is field a timeStamp structure.

Parameters
fieldthe field to test.
Returns
(false,true) if field (is not,is) a timeStamp structure.

Definition at line 56 of file ntfield.cpp.

57 {
58  Result result(field);
59  return isTimeStamp(result.is<Structure>()).valid();
60 }
pvac::PutEvent result
Definition: clientSync.cpp:117
This class implements introspection object for a structure.
Definition: pvIntrospect.h:697
bool isTimeStamp(epics::pvData::FieldConstPtr const &field)
Definition: ntfield.cpp:56
epics::nt::NTField::POINTER_DEFINITIONS ( NTField  )

Friends And Related Function Documentation

friend class NTAggregate
friend

Definition at line 163 of file ntfield.h.

friend class NTAttribute
friend

Definition at line 164 of file ntfield.h.

friend class NTContinuum
friend

Definition at line 165 of file ntfield.h.

friend class NTEnum
friend

Definition at line 166 of file ntfield.h.

friend class NTHistogram
friend

Definition at line 167 of file ntfield.h.

friend class NTMatrix
friend

Definition at line 168 of file ntfield.h.

friend class NTMultiChannel
friend

Definition at line 169 of file ntfield.h.

friend class NTNameValue
friend

Definition at line 170 of file ntfield.h.

friend class NTNDArray
friend

Definition at line 171 of file ntfield.h.

friend class NTNDArrayAttribute
friend

Definition at line 172 of file ntfield.h.

friend class NTScalar
friend

Definition at line 173 of file ntfield.h.

friend class NTScalarArray
friend

Definition at line 174 of file ntfield.h.

friend class NTScalarMultiChannel
friend

Definition at line 175 of file ntfield.h.

friend class NTTable
friend

Definition at line 176 of file ntfield.h.

friend class NTUnion
friend

Definition at line 177 of file ntfield.h.


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