This is Unofficial EPICS BASE Doxygen Site
pvControl.h
Go to the documentation of this file.
1 /* pvControl.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 PVCONTROL_H
10 #define PVCONTROL_H
11 
12 #include <pv/pvData.h>
13 #include <pv/control.h>
14 
15 #include <shareLib.h>
16 
17 namespace epics { namespace pvData {
18 
35 public:
41  //default constructors and destructor are OK
42  //returns (false,true) if pvField(is not, is) a valid control structure
43  //An automatic detach is issued if already attached.
44  /*
45  * Attach to a field of a PVData object.
46  * @param pvField The pvField.
47  * @return (false,true) if the pvField (is not, is) an control structure.
48  */
49  bool attach(PVFieldPtr const & pvField);
53  void detach();
58  bool isAttached();
59  // each of the following throws logic_error if not attached to PVField
60  // set returns false if field is immutable
66  void get(Control & control) const;
73  bool set(Control const & control);
74 private:
75  PVDoublePtr pvLow;
76  PVDoublePtr pvHigh;
77  PVDoublePtr pvMinStep;
78  static std::string noControlFound;
79  static std::string notAttached;
80 };
81 
82 }}
83 #endif /* PVCONTROL_H */
Methods for accessing an control structure.
Definition: pvControl.h:34
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
Methods for a control structure.
Definition: control.h:32
std::tr1::shared_ptr< PVField > PVFieldPtr
Definition: pvData.h:66
std::tr1::shared_ptr< PVDouble > PVDoublePtr
Definition: pvData.h:514