pvDatabaseCPP  4.7.1-dev
pvSupport.h
Go to the documentation of this file.
1 
10 #ifndef PVSUPPORT_H
11 #define PVSUPPORT_H
12 
13 #include <list>
14 #include <map>
15 
16 #include <pv/pvData.h>
17 #include <pv/pvTimeStamp.h>
18 #include <pv/rpcService.h>
19 #include <pv/pvStructureCopy.h>
20 
21 #include <shareLib.h>
22 
23 namespace epics { namespace pvDatabase {
24 
25 class PVSupport;
26 typedef std::tr1::shared_ptr<PVSupport> PVSupportPtr;
27 
32 class epicsShareClass PVSupport
33 {
34 public:
35  POINTER_DEFINITIONS(PVSupport);
39  virtual ~PVSupport(){}
49  virtual bool init(
50  epics::pvData::PVFieldPtr const & pvValue,
51  epics::pvData::PVFieldPtr const & pvSupport) {return true;}
57  virtual void start() {}
67  virtual bool process() = 0;
72  virtual void reset() {};
73 };
74 
75 }}
76 
77 #endif /* PVSUPPORT_H */
Base interface for a PVSupport.
Definition: pvSupport.h:32
std::tr1::shared_ptr< PVSupport > PVSupportPtr
Definition: pvSupport.h:25
virtual void reset()
Optional method for derived class.
Definition: pvSupport.h:72
virtual bool init(epics::pvData::PVFieldPtr const &pvValue, epics::pvData::PVFieldPtr const &pvSupport)
Optional initialization method.
Definition: pvSupport.h:49
virtual void start()
Optional method for derived class.
Definition: pvSupport.h:57