This is Unofficial EPICS BASE Doxygen Site
pvTimestampPlugin.h
Go to the documentation of this file.
1 /* pvTimeStampPlugin.h */
2 /*
3  * The License for this software can be found in the file LICENSE that is included with the distribution.
4  */
5 
6 #ifndef PVTIMESTAMPPLUGIN_H
7 #define PVTIMESTAMPPLUGIN_H
8 
9 #include <string>
10 #include <map>
11 #include <pv/lock.h>
12 #include <pv/pvData.h>
13 #include <pv/pvPlugin.h>
14 #include <pv/pvTimeStamp.h>
15 
16 #include <shareLib.h>
17 
18 namespace epics { namespace pvCopy{
19 
20 class PVTimestampPlugin;
22 
23 typedef std::tr1::shared_ptr<PVTimestampPlugin> PVTimestampPluginPtr;
24 typedef std::tr1::shared_ptr<PVTimestampFilter> PVTimestampFilterPtr;
25 
26 
34 {
35 private:
37 public:
39  virtual ~PVTimestampPlugin();
43  static void create();
52  virtual PVFilterPtr create(
53  const std::string & requestValue,
54  const PVCopyPtr & pvCopy,
55  const epics::pvData::PVFieldPtr & master);
56 };
57 
62 {
63 private:
64  epics::pvData::PVTimeStamp pvTimeStamp;
65  epics::pvData::TimeStamp timeStamp;
66  bool current;
67  bool copy;
69 
70 
71  PVTimestampFilter(bool current,bool copy,epics::pvData::PVFieldPtr const & pvField);
72 public:
74  virtual ~PVTimestampFilter();
82  static PVTimestampFilterPtr create(const std::string & requestValue,const epics::pvData::PVFieldPtr & master);
91  bool filter(const epics::pvData::PVFieldPtr & pvCopy,const epics::pvData::BitSetPtr & bitSet,bool toCopy);
96  std::string getName();
97 };
98 
99 }}
100 #endif /* PVTIMESTAMPPLUGIN_H */
A plugin for a filter that sets a timeStamp to the current time.
std::tr1::shared_ptr< PVFilter > PVFilterPtr
Definition: pvPlugin.h:29
std::tr1::shared_ptr< PVCopy > PVCopyPtr
Definition: pvPlugin.h:25
TODO only here because of the Lockable.
Definition: ntaggregate.cpp:16
Mark external symbols and entry points for shared libraries.
void copy(PVValueArray< T > &pvFrom, size_t fromOffset, size_t fromStride, PVValueArray< T > &pvTo, size_t toOffset, size_t toStride, size_t count)
Copy a subarray from one scalar array to another.
#define POINTER_DEFINITIONS(clazz)
Definition: sharedPtr.h:198
A filter that sets a timeStamp to/from the current field or pvCopy.
Methods for accessing a timeStamp structure.
Definition: pvTimeStamp.h:38
A filter plugin that attaches to a field of a PVStrcture.
Definition: pvPlugin.h:44
#define epicsShareClass
Definition: shareLib.h:206
std::tr1::shared_ptr< PVTimestampPlugin > PVTimestampPluginPtr
std::tr1::shared_ptr< PVField > PVFieldPtr
Definition: pvData.h:66
std::tr1::shared_ptr< PVTimestampFilter > PVTimestampFilterPtr
std::tr1::shared_ptr< BitSet > BitSetPtr
Definition: bitSet.h:26
A Filter that is called when a copy PVStructure is being updated.
Definition: pvPlugin.h:68
Methods for manipulating timeStamp.
Definition: timeStamp.h:43