PVData C++  8.0.6
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
standardPVField.h
1 /* standardPVField.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 STANDARDPVFIELD_H
10 #define STANDARDPVFIELD_H
11 
12 #include <string>
13 #include <stdexcept>
14 
15 #include <pv/pvIntrospect.h>
16 #include <pv/pvData.h>
17 #include <pv/standardField.h>
18 
19 #include <shareLib.h>
20 
21 namespace epics { namespace pvData {
22 
23 class StandardPVField;
24 typedef std::tr1::shared_ptr<StandardPVField> StandardPVFieldPtr;
25 
38 class epicsShareClass StandardPVField {
39  EPICS_NOT_COPYABLE(StandardPVField)
40 public:
45  static StandardPVFieldPtr getStandardPVField();
46  ~StandardPVField();
54  PVStructurePtr scalar(ScalarType type,std::string const & properties);
62  PVStructurePtr scalarArray(ScalarType elementType, std::string const & properties);
78  PVStructurePtr unionArray(UnionConstPtr const &punion,std::string const & properties);
85  PVStructurePtr enumerated(StringArray const &choices);
93  PVStructurePtr enumerated(StringArray const &choices, std::string const & properties);
94 private:
96  StandardFieldPtr standardField;
97  FieldCreatePtr fieldCreate;
98  PVDataCreatePtr pvDataCreate;
99  std::string notImplemented;
100 };
101 
102 epicsShareExtern StandardPVFieldPtr getStandardPVField();
103 
104 }}
105 #endif /* STANDARDPVFIELD_H */
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:154
StandardPVField is a class or creating standard data fields.
std::tr1::shared_ptr< const Union > UnionConstPtr
Definition: pvIntrospect.h:162
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Definition: pvData.h:87