SapTransferEx.h 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349
  1. #ifndef _SAPTRANSFEREX_H_
  2. #define _SAPTRANSFEREX_H_
  3. // SapTransferEx.h : header file
  4. //
  5. #include "SapClassBasicDef.h"
  6. #define SAPCLASS_REF(type,a) (type&)((const type&)(a))
  7. //
  8. // SapAcqToBuf class declaration
  9. //
  10. class SAPCLASSBASIC_CLASS SapAcqToBuf : public SapTransfer
  11. {
  12. public:
  13. // Default Constructor
  14. SapAcqToBuf(SapAcquisition *pAcq, SapBuffer *pBuf, SapXferCallback pCallback = NULL, void *pContext = NULL)
  15. : SapTransfer(pCallback, pContext)
  16. {
  17. m_pAcquisition = pAcq;
  18. m_pBuf = pBuf;
  19. AddPair(SAPCLASS_REF(SapXferPair, SapXferPair(pAcq, pBuf)));
  20. }
  21. static BOOL UpdateFrameRateStatistics(SapTransfer *pXfer, SapAcquisition *pAcq, SapBuffer *pBuf);
  22. virtual BOOL UpdateFrameRateStatistics();
  23. protected:
  24. SapAcquisition *m_pAcquisition;
  25. SapBuffer *m_pBuf;
  26. };
  27. //
  28. // SapCabToBuf class declaration
  29. //
  30. #if COR_WIN32 && !COR_WIN64 && !SAPERA_DOT_NET && !defined(__clang__)
  31. class SAPCLASSBASIC_CLASS SapCabToBuf : public SapTransfer
  32. {
  33. public:
  34. // Default Constructor
  35. SapCabToBuf(SapCab *pCab, SapBuffer *pBuf, SapXferCallback pCallback = NULL, void *pContext = NULL)
  36. : SapTransfer(pCallback, pContext)
  37. {
  38. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pCab, pBuf)));
  39. }
  40. SapCabToBuf(SapCab *pCab, int srcPort, SapBuffer *pBuf, SapXferCallback pCallback = NULL, void *pContext = NULL)
  41. : SapTransfer(pCallback, pContext)
  42. {
  43. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pCab, srcPort, pBuf, 0)));
  44. }
  45. };
  46. #endif
  47. //
  48. // SapBufToBuf class declaration
  49. //
  50. class SAPCLASSBASIC_CLASS SapBufToBuf : public SapTransfer
  51. {
  52. public:
  53. // Default Constructor
  54. SapBufToBuf(SapBuffer *pSrcBuf, SapBuffer *pDstBuf, SapXferCallback pCallback = NULL, void *pContext = NULL)
  55. : SapTransfer(pCallback, pContext)
  56. {
  57. AddPair(SAPCLASS_REF(SapXferPair, SapXferPair(pSrcBuf, pDstBuf)));
  58. }
  59. };
  60. //
  61. // SapAcqToCab class declaration
  62. //
  63. #if COR_WIN32 && !COR_WIN64 && !SAPERA_DOT_NET && !defined(__clang__)
  64. class SAPCLASSBASIC_CLASS SapAcqToCab : public SapTransfer
  65. {
  66. public:
  67. // Default Constructor
  68. SapAcqToCab(SapAcquisition *pAcq, SapCab *pCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  69. : SapTransfer(pCallback, pContext)
  70. {
  71. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pCab, FALSE)));
  72. }
  73. SapAcqToCab(SapAcquisition *pAcq, SapCab *pCab, int dstPort, SapXferCallback pCallback = NULL, void *pContext = NULL)
  74. : SapTransfer(pCallback, pContext)
  75. {
  76. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, 0, pCab, dstPort, FALSE)));
  77. }
  78. };
  79. //
  80. // SapCabToCab class declaration
  81. //
  82. class SAPCLASSBASIC_CLASS SapCabToCab : public SapTransfer
  83. {
  84. public:
  85. // Default Constructor
  86. SapCabToCab(SapCab *pSrcCab, SapCab *pDstCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  87. : SapTransfer(pCallback, pContext)
  88. {
  89. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcCab, pDstCab, FALSE)));
  90. }
  91. };
  92. //
  93. // SapBufToCab class declaration
  94. //
  95. class SAPCLASSBASIC_CLASS SapBufToCab : public SapTransfer
  96. {
  97. public:
  98. // Default Constructor
  99. SapBufToCab(SapBuffer *pBuf, SapCab *pCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  100. : SapTransfer(pCallback, pContext)
  101. {
  102. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pBuf, pCab, FALSE)));
  103. }
  104. };
  105. //
  106. // SapAcqToBufThruPixPro class declaration
  107. //
  108. class SAPCLASSBASIC_CLASS SapAcqToBufThruPixPro : public SapTransfer
  109. {
  110. public:
  111. // Default Constructor
  112. SapAcqToBufThruPixPro(SapAcquisition *pAcq, SapPixPro *pPixPro, SapBuffer *pBuf, SapXferCallback pCallback = NULL, void *pContext = NULL)
  113. : SapTransfer(pCallback, pContext)
  114. {
  115. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pPixPro, FALSE)));
  116. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pPixPro, pBuf)));
  117. }
  118. };
  119. //
  120. // SapAcqToCabThruPixPro class declaration
  121. //
  122. class SAPCLASSBASIC_CLASS SapAcqToCabThruPixPro : public SapTransfer
  123. {
  124. public:
  125. // Default Constructor
  126. SapAcqToCabThruPixPro(SapAcquisition *pAcq, SapPixPro *pPixPro, SapCab *pCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  127. : SapTransfer(pCallback, pContext)
  128. {
  129. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pPixPro, FALSE)));
  130. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pPixPro, pCab, FALSE)));
  131. }
  132. };
  133. //
  134. // SapAcqToBufCab class declaration
  135. //
  136. class SAPCLASSBASIC_CLASS SapAcqToBufCab : public SapTransfer
  137. {
  138. public:
  139. // Default Constructor
  140. SapAcqToBufCab(SapAcquisition *pAcq, SapBuffer *pBuf, SapCab *pCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  141. : SapTransfer(pCallback, pContext)
  142. {
  143. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pBuf)));
  144. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pCab, FALSE)));
  145. }
  146. SapAcqToBufCab(SapAcquisition *pAcq, SapBuffer *pBuf, SapCab *pCab, int dstPort, SapXferCallback pCallback = NULL, void *pContext = NULL)
  147. : SapTransfer(pCallback, pContext)
  148. {
  149. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pBuf)));
  150. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, 0, pCab, dstPort, FALSE)));
  151. }
  152. };
  153. //
  154. // SapCabToBufCab class declaration
  155. //
  156. class SAPCLASSBASIC_CLASS SapCabToBufCab : public SapTransfer
  157. {
  158. public:
  159. // Default Constructor
  160. SapCabToBufCab(SapCab *pSrcCab, SapBuffer *pBuf, SapCab *pDstCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  161. : SapTransfer(pCallback, pContext)
  162. {
  163. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcCab, pBuf)));
  164. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcCab, pDstCab, FALSE)));
  165. }
  166. SapCabToBufCab(SapCab *pSrcCab, int srcPort, SapBuffer *pBuf, SapCab *pDstCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  167. : SapTransfer(pCallback, pContext)
  168. {
  169. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcCab, srcPort, pBuf, 0)));
  170. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcCab, srcPort, pDstCab, srcPort, FALSE)));
  171. }
  172. };
  173. //
  174. // SapBufToBufCab class declaration
  175. //
  176. class SAPCLASSBASIC_CLASS SapBufToBufCab : public SapTransfer
  177. {
  178. public:
  179. // Default Constructor
  180. SapBufToBufCab(SapBuffer *pSrcBuf, SapBuffer *pDstBuf, SapCab *pCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  181. : SapTransfer(pCallback, pContext)
  182. {
  183. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcBuf, pDstBuf)));
  184. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pSrcBuf, pCab, FALSE)));
  185. }
  186. };
  187. //
  188. // SapAcqToBufCabThruPixPro class declaration
  189. //
  190. class SAPCLASSBASIC_CLASS SapAcqToBufCabThruPixPro : public SapTransfer
  191. {
  192. public:
  193. // Default Constructor
  194. SapAcqToBufCabThruPixPro(SapAcquisition *pAcq, SapPixPro *pPixPro, SapBuffer *pBuf, SapCab *pCab, SapXferCallback pCallback = NULL, void *pContext = NULL)
  195. : SapTransfer(pCallback, pContext)
  196. {
  197. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq, pPixPro, FALSE)));
  198. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pPixPro, pBuf)));
  199. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pPixPro, pCab, FALSE)));
  200. }
  201. };
  202. #endif
  203. ///////////////////////////////////////////////////////////////////////////////////////////////////////////////
  204. // SapMulti classes
  205. //
  206. //
  207. // SapMultiAcqToBuf class declaration
  208. //
  209. class SAPCLASSBASIC_CLASS SapMultiAcqToBuf : public SapTransfer
  210. {
  211. public:
  212. // Default Constructor
  213. SapMultiAcqToBuf(SapAcquisition *pAcq[], SapBuffer *pBuf[], int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  214. : SapTransfer(pCallback, pContext)
  215. {
  216. AddPair(SAPCLASS_REF(SapXferPair, SapXferPair(pAcq[0], pBuf[0])));
  217. for (int i = 1; i < numPairs; i++)
  218. AddPair(SAPCLASS_REF(SapXferPair, SapXferPair(pAcq[i], pBuf[i])));
  219. }
  220. };
  221. //
  222. // SapMultiAcqToCab class declaration
  223. //
  224. #if COR_WIN32 && !COR_WIN64 && !SAPERA_DOT_NET && !defined(__clang__)
  225. class SAPCLASSBASIC_CLASS SapMultiAcqToCab : public SapTransfer
  226. {
  227. public:
  228. // Default Constructor
  229. SapMultiAcqToCab( SapAcquisition *pAcq[], SapCab *pCab, int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  230. : SapTransfer(pCallback, pContext)
  231. {
  232. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[0], 0, pCab, 0)));
  233. for (int i = 1; i < numPairs; i++)
  234. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[i], 0, pCab, i, FALSE)));
  235. }
  236. // Overload Constructor
  237. SapMultiAcqToCab( SapAcquisition *pAcq[], SapCab *pCab, int dstPort[], int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  238. : SapTransfer(pCallback, pContext)
  239. {
  240. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[0], 0, pCab, dstPort[0])));
  241. for (int i = 1; i < numPairs; i++)
  242. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[i], 0, pCab, dstPort[i], FALSE)));
  243. }
  244. };
  245. //
  246. // SapMultiCabToBuf class declaration
  247. //
  248. class SAPCLASSBASIC_CLASS SapMultiCabToBuf : public SapTransfer
  249. {
  250. public:
  251. // Default Constructor
  252. SapMultiCabToBuf( SapCab *pCab, SapBuffer *pBuf[], int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  253. : SapTransfer(pCallback, pContext)
  254. {
  255. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pCab, 0, pBuf[0], 0)));
  256. for (int i = 1; i < numPairs; i++)
  257. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pCab, i, pBuf[i], 0)));
  258. }
  259. // Overload Constructor
  260. SapMultiCabToBuf( SapCab *pCab, int srcPort[], SapBuffer *pBuf[], int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  261. : SapTransfer(pCallback, pContext)
  262. {
  263. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pCab, srcPort[0], pBuf[0], 0)));
  264. for (int i = 1; i < numPairs; i++)
  265. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pCab, srcPort[i], pBuf[i], 0)));
  266. }
  267. };
  268. //
  269. // SapMultiAcqToBufCab class declaration
  270. //
  271. class SAPCLASSBASIC_CLASS SapMultiAcqToBufCab : public SapTransfer
  272. {
  273. public:
  274. // Default Constructor
  275. SapMultiAcqToBufCab(SapAcquisition *pAcq[], SapBuffer *pBuf[], SapCab *pCab, int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  276. : SapTransfer(pCallback, pContext)
  277. {
  278. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[0], pBuf[0])));
  279. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[0], 0, pCab, 0, FALSE)));
  280. for (int i = 1; i < numPairs; i++)
  281. {
  282. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[i], pBuf[i])));
  283. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[i], i, pCab, 0, FALSE)));
  284. }
  285. }
  286. SapMultiAcqToBufCab(SapAcquisition *pAcq[], SapBuffer *pBuf[], SapCab *pCab, int dstPort[], int numPairs, SapXferCallback pCallback = NULL, void *pContext = NULL)
  287. : SapTransfer(pCallback, pContext)
  288. {
  289. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[0], pBuf[0])));
  290. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[0], 0, pCab, dstPort[0], FALSE)));
  291. for (int i = 1; i < numPairs; i++)
  292. {
  293. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[i], pBuf[i])));
  294. AddPair(SAPCLASS_REF(SapXferPair,SapXferPair(pAcq[i], 0, pCab, dstPort[i], FALSE)));
  295. }
  296. }
  297. };
  298. #endif
  299. //
  300. // SapAcqDeviceToBuf class declaration
  301. //
  302. class SAPCLASSBASIC_CLASS SapAcqDeviceToBuf : public SapTransfer
  303. {
  304. public:
  305. // Default Constructor
  306. SapAcqDeviceToBuf(SapAcqDevice *pAcqDevice, SapBuffer *pBuf, SapXferCallback pCallback = NULL, void *pContext = NULL)
  307. : SapTransfer(pCallback, pContext)
  308. {
  309. m_pAcqDevice = pAcqDevice;
  310. m_pBuf = pBuf;
  311. AddPair(SAPCLASS_REF(SapXferPair, SapXferPair(pAcqDevice, pBuf)));
  312. }
  313. static BOOL UpdateFrameRateStatistics(SapTransfer *pXfer, SapAcqDevice *pAcqDevice, SapBuffer *pBuf);
  314. virtual BOOL UpdateFrameRateStatistics();
  315. protected:
  316. SapAcqDevice *m_pAcqDevice;
  317. SapBuffer *m_pBuf;
  318. };
  319. #endif // _SAPTRANSFEREX_H_