This is Unofficial EPICS BASE Doxygen Site
standardPVField.h
Go to the documentation of this file.
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 
24 typedef std::tr1::shared_ptr<StandardPVField> StandardPVFieldPtr;
25 
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);
70  PVStructurePtr structureArray(StructureConstPtr const &structure,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 */
StandardPVFieldPtr getStandardPVField()
pvd::StructureConstPtr type
TODO only here because of the Lockable.
Definition: ntaggregate.cpp:16
std::tr1::shared_ptr< const Structure > StructureConstPtr
Definition: pvIntrospect.h:162
Mark external symbols and entry points for shared libraries.
std::tr1::shared_ptr< StandardField > StandardFieldPtr
Definition: standardField.h:22
std::tr1::shared_ptr< PVDataCreate > PVDataCreatePtr
Definition: pvData.h:124
#define epicsShareExtern
Definition: shareLib.h:204
std::tr1::shared_ptr< StandardPVField > StandardPVFieldPtr
std::tr1::shared_ptr< const Union > UnionConstPtr
Definition: pvIntrospect.h:170
#define epicsShareClass
Definition: shareLib.h:206
std::tr1::shared_ptr< PVStructure > PVStructurePtr
Definition: pvData.h:87
std::vector< std::string > StringArray
Definition: pvType.h:110
std::tr1::shared_ptr< FieldCreate > FieldCreatePtr
#define EPICS_NOT_COPYABLE(CLASS)
Disable implicit copyable.
StandardPVField is a class or creating standard data fields.