PVData C++ 8.0.7
Loading...
Searching...
No Matches
standardField.h
1/* standardField.h */
2/*
3 * Copyright information and license terms for this software can be
4 * found in the file LICENSE that is included with the distribution
5 */
9#ifndef STANDARDFIELD_H
10#define STANDARDFIELD_H
11
12#include <string>
13#include <stdexcept>
14
15#include <pv/pvIntrospect.h>
16
17#include <shareLib.h>
18
19namespace epics { namespace pvData {
20
21
22class StandardField;
23typedef std::tr1::shared_ptr<StandardField> StandardFieldPtr;
24
63class epicsShareClass StandardField {
64 static void once(void*);
65public:
70 static const StandardFieldPtr& getStandardField();
78 StructureConstPtr scalar(ScalarType type,std::string const & properties);
86 UnionConstPtr const & punion,
87 std::string const & properties);
93 StructureConstPtr variantUnion(std::string const & properties);
100 StructureConstPtr scalarArray(ScalarType elementType, std::string const & properties);
108 StructureConstPtr const & structure,
109 std::string const & properties);
117 UnionConstPtr const & punion,
118 std::string const & properties);
130 StructureConstPtr enumerated(std::string const & properties);
135 inline const StructureConstPtr& alarm() const { return alarmField; }
140 inline const StructureConstPtr& timeStamp() const { return timeStampField; }
145 inline const StructureConstPtr& display() const { return displayField; }
150 inline const StructureConstPtr& control() const { return controlField; }
155 inline const StructureConstPtr& booleanAlarm() const { return booleanAlarmField; }
160 inline const StructureConstPtr& byteAlarm() const { return byteAlarmField; }
165 inline const StructureConstPtr& ubyteAlarm() const { return ubyteAlarmField; }
170 inline const StructureConstPtr& shortAlarm() const { return shortAlarmField; }
175 inline const StructureConstPtr& ushortAlarm() const { return ushortAlarmField; }
180 inline const StructureConstPtr& intAlarm() const { return intAlarmField; }
185 inline const StructureConstPtr& uintAlarm() const { return uintAlarmField; }
190 inline const StructureConstPtr& longAlarm() const { return longAlarmField; }
195 inline const StructureConstPtr& ulongAlarm() const { return ulongAlarmField; }
200 inline const StructureConstPtr& floatAlarm() const { return floatAlarmField; }
205 inline const StructureConstPtr& doubleAlarm() const { return doubleAlarmField; }
210 inline const StructureConstPtr& enumeratedAlarm() const { return enumeratedAlarmField; }
211private:
213 StructureConstPtr createProperties(
214 std::string id,FieldConstPtr field,std::string properties);
215 const FieldCreatePtr fieldCreate;
216 const std::string notImplemented;
217 const std::string valueFieldName;
218 const StructureConstPtr alarmField;
219 const StructureConstPtr timeStampField;
220 const StructureConstPtr displayField;
221 const StructureConstPtr controlField;
222 const StructureConstPtr booleanAlarmField;
223 const StructureConstPtr byteAlarmField;
224 const StructureConstPtr shortAlarmField;
225 const StructureConstPtr intAlarmField;
226 const StructureConstPtr longAlarmField;
227 const StructureConstPtr ubyteAlarmField;
228 const StructureConstPtr ushortAlarmField;
229 const StructureConstPtr uintAlarmField;
230 const StructureConstPtr ulongAlarmField;
231 const StructureConstPtr floatAlarmField;
232 const StructureConstPtr doubleAlarmField;
233 const StructureConstPtr enumeratedAlarmField;
234};
235
236FORCE_INLINE const StandardFieldPtr& getStandardField() {
238}
239
240}}
241#endif /* STANDARDFIELD_H */
Standard Fields is a class or creating or sharing Field objects for standard fields.
const StructureConstPtr & ubyteAlarm() const
StructureConstPtr structureArray(StructureConstPtr const &structure, std::string const &properties)
const StructureConstPtr & enumeratedAlarm() const
StructureConstPtr scalar(ScalarType type, std::string const &properties)
static const StandardFieldPtr & getStandardField()
StructureConstPtr enumerated(std::string const &properties)
const StructureConstPtr & control() const
const StructureConstPtr & booleanAlarm() const
const StructureConstPtr & longAlarm() const
StructureConstPtr unionArray(UnionConstPtr const &punion, std::string const &properties)
const StructureConstPtr & timeStamp() const
StructureConstPtr regUnion(UnionConstPtr const &punion, std::string const &properties)
const StructureConstPtr & alarm() const
const StructureConstPtr & doubleAlarm() const
const StructureConstPtr & byteAlarm() const
const StructureConstPtr & intAlarm() const
StructureConstPtr scalarArray(ScalarType elementType, std::string const &properties)
const StructureConstPtr & display() const
const StructureConstPtr & ushortAlarm() const
StructureConstPtr variantUnion(std::string const &properties)
const StructureConstPtr & floatAlarm() const
const StructureConstPtr & ulongAlarm() const
const StructureConstPtr & shortAlarm() const
const StructureConstPtr & uintAlarm() const
StructureConstPtr enumerated()
std::tr1::shared_ptr< const Structure > StructureConstPtr
std::tr1::shared_ptr< const Field > FieldConstPtr
std::tr1::shared_ptr< const Union > UnionConstPtr
epics
Definition convert.h:21