PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
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 
19 namespace epics { namespace pvData {
20 
21 
22 class StandardField;
23 typedef std::tr1::shared_ptr<StandardField> StandardFieldPtr;
24 
63 class epicsShareClass StandardField {
64  static void once(void*);
65 public:
70  static const StandardFieldPtr& getStandardField();
71  ~StandardField();
78  StructureConstPtr scalar(ScalarType type,std::string const & properties);
85  StructureConstPtr regUnion(
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);
109  std::string const & properties);
117  UnionConstPtr const & punion,
118  std::string const & properties);
123  StructureConstPtr enumerated();
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; }
211 private:
212  StandardField();
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 
236 FORCE_INLINE const StandardFieldPtr& getStandardField() {
238 }
239 
240 }}
241 #endif /* STANDARDFIELD_H */
const StructureConstPtr & booleanAlarm() const
const StructureConstPtr & floatAlarm() const
const StructureConstPtr & longAlarm() const
const StructureConstPtr & ushortAlarm() const
const StructureConstPtr & byteAlarm() const
const StructureConstPtr & uintAlarm() const
const StructureConstPtr & doubleAlarm() const
const StructureConstPtr & alarm() const
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:154
const StructureConstPtr & control() const
Standard Fields is a class or creating or sharing Field objects for standard fields.
Definition: standardField.h:63
std::tr1::shared_ptr< const Field > FieldConstPtr
Definition: pvIntrospect.h:129
const StructureConstPtr & shortAlarm() const
const StructureConstPtr & display() const
const StructureConstPtr & ubyteAlarm() const
std::tr1::shared_ptr< const Union > UnionConstPtr
Definition: pvIntrospect.h:162
const StructureConstPtr & enumeratedAlarm() const
const StructureConstPtr & ulongAlarm() const
const StructureConstPtr & timeStamp() const
static const StandardFieldPtr & getStandardField()
const StructureConstPtr & intAlarm() const