This is Unofficial EPICS BASE Doxygen Site
pvArrayPlugin.h
Go to the documentation of this file.
1 /* pvArrayPlugin.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 PVARRAYPLUGIN_H
7 #define PVARRAYPLUGIN_H
8 
9 #include <string>
10 #include <map>
11 #include <pv/lock.h>
12 #include <pv/pvData.h>
13 #include <pv/pvPlugin.h>
14 
15 #include <shareLib.h>
16 
17 namespace epics { namespace pvCopy{
18 
19 class PVArrayPlugin;
21 
22 typedef std::tr1::shared_ptr<PVArrayPlugin> PVArrayPluginPtr;
23 typedef std::tr1::shared_ptr<PVArrayFilter> PVArrayFilterPtr;
24 
25 
33 {
34 private:
35  PVArrayPlugin();
36 public:
38  virtual ~PVArrayPlugin();
42  static void create();
51  virtual PVFilterPtr create(
52  const std::string & requestValue,
53  const PVCopyPtr & pvCopy,
54  const epics::pvData::PVFieldPtr & master);
55 };
56 
61 {
62 private:
63  long start;
64  long increment;
65  long end;
66  epics::pvData::PVFieldPtr masterField;
68 
70  long start,long increment,long end,
71  const epics::pvData::PVFieldPtr & masterField,
72  const epics::pvData::PVScalarArrayPtr masterArray);
73 public:
75  virtual ~PVArrayFilter();
83  static PVArrayFilterPtr create(const std::string & requestValue,const epics::pvData::PVFieldPtr & master);
92  bool filter(const epics::pvData::PVFieldPtr & pvCopy,const epics::pvData::BitSetPtr & bitSet,bool toCopy);
97  std::string getName();
98 };
99 
100 }}
101 #endif /* PVARRAYPLUGIN_H */
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
A filter that gets a sub array from a PVScalarArray.
Definition: pvArrayPlugin.h:60
Mark external symbols and entry points for shared libraries.
std::tr1::shared_ptr< PVArrayFilter > PVArrayFilterPtr
Definition: pvArrayPlugin.h:23
#define POINTER_DEFINITIONS(clazz)
Definition: sharedPtr.h:198
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< PVArrayPlugin > PVArrayPluginPtr
Definition: pvArrayPlugin.h:20
std::tr1::shared_ptr< PVField > PVFieldPtr
Definition: pvData.h:66
std::tr1::shared_ptr< BitSet > BitSetPtr
Definition: bitSet.h:26
std::tr1::shared_ptr< PVScalarArray > PVScalarArrayPtr
Definition: pvData.h:82
A Filter that is called when a copy PVStructure is being updated.
Definition: pvPlugin.h:68
A plugin for a filter that gets a sub array from a PVScalarArray.
Definition: pvArrayPlugin.h:32