QXRD  0.11.16
qxrdperkinelmerplugin.h
Go to the documentation of this file.
1 #ifndef QXRDPERKINELMERPLUGIN_H
2 #define QXRDPERKINELMERPLUGIN_H
3 
4 #ifdef HAVE_PERKIN_ELMER
5 
6 #include <QObject>
8 
9 class QxrdPerkinElmerPlugin : public QObject, public QxrdPerkinElmerPluginInterface
10 {
11  Q_OBJECT
12 #if QT_VERSION >= QT_VERSION_CHECK(5,0,0)
13  Q_PLUGIN_METADATA(IID PerkinElmerPluginInterface_iid FILE "pe.json")
14 #endif
15  Q_INTERFACES(QxrdPerkinElmerPluginInterface)
16 
17 public:
18  QxrdPerkinElmerPlugin();
19 
20  QString name() const;
21 
22  virtual UINT Acquisition_SetCallbacksAndMessages(
23  HACQDESC pAcqDesc, HWND hWnd, UINT dwErrorMsg,
24  UINT dwLoosingFramesMsg, void (CALLBACK *lpfnEndFrameCallback)(HACQDESC),
25  void (CALLBACK *lpfnEndAcqCallback)(HACQDESC));
26 
27  virtual UINT Acquisition_EnumSensors(
28  UINT *pdwNumSensors, BOOL bEnableIRQ, BOOL bAlwaysOpen);
29 
30  virtual UINT Acquisition_GetNextSensor(
31  ACQDESCPOS *Pos, HACQDESC *phAcqDesc);
32 
33  virtual UINT Acquisition_SetAcqData(
34  HACQDESC hAcqDesc, ACQDATATYPE AcqData);
35 
36  virtual UINT Acquisition_GetAcqData(
37  HACQDESC hAcqDesc, ACQDATATYPE *AcqData);
38 
39  virtual UINT Acquisition_GetCommChannel(
40  HACQDESC pAcqDesc, UINT *pdwChannelType, int *pnChannelNr);
41 
42  virtual UINT Acquisition_Close(HACQDESC hAcqDesc);
43 
44  virtual UINT Acquisition_CloseAll();
45 
46  virtual UINT Acquisition_DefineDestBuffers(
47  HACQDESC pAcqDesc, unsigned short *pProcessedData,
48  UINT nFrames, UINT nRows, UINT nColumns);
49 
50  virtual UINT Acquisition_Abort(HACQDESC hAcqDesc);
51 
52  virtual UINT Acquisition_Acquire_Image(
53  HACQDESC pAcqDesc, UINT dwFrames, UINT dwSkipFrms,
54  UINT dwOpt, unsigned short *pwOffsetData,
55  DWORD *pdwGainData, DWORD *pdwPxlCorrList);
56 
57  virtual UINT Acquisition_GetConfiguration(
58  HACQDESC hAcqDesc, UINT *dwFrames, UINT *dwRows, UINT *dwColumns, UINT *dwDataType,
59  UINT *dwSortFlags, BOOL *bIRQEnabled, DWORD *dwAcqType, DWORD *dwSystemID,
60  DWORD *dwSyncMode, DWORD *dwHwAccess);
61 
62  virtual UINT Acquisition_GetIntTimes(
63  HACQDESC hAcqDesc, double *dblIntTime, int *nIntTimes);
64 
65  virtual UINT Acquisition_GetActFrame(
66  HACQDESC hAcqDesc, DWORD *dwActAcqFrame, DWORD *dwActSecBuffFrame);
67 
68  virtual UINT Acquisition_ResetFrameCnt(HACQDESC hAcqDesc);
69 
70  virtual UINT Acquisition_GetHwHeaderInfo(
71  HACQDESC hAcqDesc, CHwHeaderInfo *pInfo);
72 
73  virtual UINT Acquisition_SetFrameSyncMode(
74  HACQDESC hAcqDesc, DWORD dwMode);
75 
76  virtual UINT Acquisition_SetTimerSync(
77  HACQDESC hAcqDesc, DWORD *dwCycleTime);
78 
79  virtual UINT Acquisition_SetCameraGain(
80  HACQDESC hAcqDesc, WORD wMode);
81 
82  virtual UINT Acquisition_SetCameraBinningMode(
83  HACQDESC hAcqDesc, WORD wMode);
84 
85  virtual UINT Acquisition_GetCameraBinningMode(
86  HACQDESC hAcqDesc, WORD* wMode);
87 
88  virtual UINT Acquisition_GetLatestFrameHeader(
89  HACQDESC hAcqDesc, CHwHeaderInfo *pInfo, CHwHeaderInfoEx *pInfoEx);
90 
91  virtual UINT Acquisition_GetHwHeaderInfoEx(
92  HACQDESC hAcqDesc, CHwHeaderInfo *pInfo, CHwHeaderInfoEx *pInfoEx);
93 
94  virtual UINT Acquisition_GbIF_Init(
95  HACQDESC *phAcqDesc, int nChannelNr, BOOL bEnableIRQ, UINT uiRows, UINT uiColumns,
96  BOOL bSelfInit, BOOL bAlwaysOpen, long lInitType, GBIF_STRING_DATATYPE* cAddress);
97 
98  virtual UINT Acquisition_GbIF_GetDeviceList(
99  GBIF_DEVICE_PARAM* pGBIF_DEVICE_PARAM, int nDeviceCnt);
100 
101  virtual UINT Acquisition_GbIF_GetDevice(
102  GBIF_STRING_DATATYPE* ucAddress, DWORD dwAddressType, GBIF_DEVICE_PARAM* pDevice);
103 
104  virtual UINT Acquisition_GbIF_GetDeviceCnt(
105  long* plNrOfboards);
106 };
107 
108 #endif // HAVE_PERKIN_ELMER
109 
110 #endif // QXRDPERKINELMERPLUGIN_H
#define PerkinElmerPluginInterface_iid
#define ACQDATATYPE