areaDetector  3-5-0
EPICS areaDetector framework
NDPluginPva.h
Go to the documentation of this file.
1 #ifndef NDPluginPva_H
2 #define NDPluginPva_H
3 
4 #include <epicsTypes.h>
5 #include <epicsMutex.h>
6 
7 #include "NDPluginDriver.h"
8 
9 #include <pv/serverContext.h>
10 #include <pv/lock.h>
11 #include <pv/pvData.h>
12 #include <vector>
13 
14 #define NDPluginPvaPvNameString "PV_NAME"
15 
17 typedef std::tr1::shared_ptr<NTNDArrayRecord> NTNDArrayRecordPtr;
18 
21 class NDPluginPva : public NDPluginDriver,
22  public std::tr1::enable_shared_from_this<NDPluginPva>
23 {
24 public:
26  NDPluginPva(const char *portName, int queueSize, int blockingCallbacks,
27  const char *NDArrayPort, int NDArrayAddr, const char *pvName,
28  int maxBuffers, size_t maxMemory, int priority, int stackSize);
29 
30  /* These methods override the virtual methods in the base class */
31  void processCallbacks(NDArray *pArray);
32 
33 protected:
35 
36 private:
37  NTNDArrayRecordPtr m_record;
38 };
39 
40 #endif
Class from which actual plugin drivers are derived; derived from asynNDArrayDriver.
Definition: NDPluginDriver.h:56
Definition: NDPluginPva.cpp:29
std::tr1::shared_ptr< NTNDArrayRecord > NTNDArrayRecordPtr
Definition: NDPluginPva.h:16
POINTER_DEFINITIONS(NDPluginPva)
void processCallbacks(NDArray *pArray)
Callback function that is called by the NDArray driver with new NDArray data.
Definition: NDPluginPva.cpp:101
char * portName
The name of this asyn port.
Definition: asynPortDriver.h:179
Converts NDArray callback data into EPICS V4 NTNDArray data and exposes it as an EPICS V4 PV.
Definition: NDPluginPva.h:21
N-dimensional array class; each array has a set of dimensions, a data type, pointer to data,...
Definition: NDArray.h:92
int NDPluginPvaPvName
Definition: NDPluginPva.h:34
NDPluginPva(const char *portName, int queueSize, int blockingCallbacks, const char *NDArrayPort, int NDArrayAddr, const char *pvName, int maxBuffers, size_t maxMemory, int priority, int stackSize)
Constructor for NDPluginPva This plugin cannot block (ASYN_CANBLOCK=0) and is not multi-device (ASYN_...
Definition: NDPluginPva.cpp:160