This is Unofficial EPICS BASE Doxygen Site
pvDisplay.h
Go to the documentation of this file.
1 /* pvDisplay.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 PVDISPLAY_H
10 #define PVDISPLAY_H
11 
12 #include <string>
13 
14 #include <pv/pvType.h>
15 #include <pv/pvData.h>
16 #include <pv/display.h>
17 
18 #include <shareLib.h>
19 
20 namespace epics { namespace pvData {
21 
40 public:
45  PVDisplay() {}
46  //default constructors and destructor are OK
47  //An automatic detach is issued if already attached.
48  /*
49  * Attach to a field of a PVData object.
50  * @param pvField The pvField.
51  * @return (false,true) if the pvField (is not, is) an display structure.
52  */
53  bool attach(PVFieldPtr const & pvField);
57  void detach();
62  bool isAttached();
63  // each of the following throws logic_error if not attached to PVField
64  // a set returns false if field is immutable
70  void get(Display & display) const;
77  bool set(Display const & display);
78 private:
79  static std::string noDisplayFound;
80  static std::string notAttached;
81  PVStringPtr pvDescription;
82  PVStringPtr pvFormat;
83  PVStringPtr pvUnits;
84  PVDoublePtr pvLow;
85  PVDoublePtr pvHigh;
86 };
87 
88 }}
89 #endif /* PVDISPLAY_H */
Methods for a display structure.
Definition: display.h:39
TODO only here because of the Lockable.
Definition: ntaggregate.cpp:16
Mark external symbols and entry points for shared libraries.
#define epicsShareClass
Definition: shareLib.h:206
std::tr1::shared_ptr< PVString > PVStringPtr
Definition: pvData.h:540
std::tr1::shared_ptr< PVField > PVFieldPtr
Definition: pvData.h:66
Methods for accessing an display structure.
Definition: pvDisplay.h:39
std::tr1::shared_ptr< PVDouble > PVDoublePtr
Definition: pvData.h:514