PortableScanner_server_g.h 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377
  1. #ifndef __PORTABLESCANNER_SERVER_G_H
  2. #define __PORTABLESCANNER_SERVER_G_H
  3. #pragma once
  4. // This code is generated by spgen tool!
  5. #include "PortableScanner_def_g.h"
  6. namespace PortableScanner {
  7. class PortableScannerService_ServerSessionBase : public CServerSessionBase
  8. {
  9. public:
  10. PortableScannerService_ServerSessionBase() { }
  11. virtual ~PortableScannerService_ServerSessionBase() { }
  12. virtual bool IsExclusive() { return false; }
  13. virtual bool IsSessionOverlap() { return true; }
  14. virtual ErrorCodeEnum GetMessageAttr(DWORD dwMessageID, DWORD dwSignature, bool &bOverlap)
  15. {
  16. ErrorCodeEnum Error = Error_Succeed;
  17. switch (dwMessageID) {
  18. case PortableScannerService_Method_BindCameraDevice:
  19. if (dwSignature == PortableScannerService_MethodSignature_BindCameraDevice) {
  20. bOverlap = true;
  21. } else {
  22. Error = Error_MethodSignatureFailed;
  23. }
  24. break;
  25. case PortableScannerService_Method_DropOffDevice:
  26. if (dwSignature == PortableScannerService_MethodSignature_DropOffDevice) {
  27. bOverlap = true;
  28. } else {
  29. Error = Error_MethodSignatureFailed;
  30. }
  31. break;
  32. case PortableScannerService_Method_StartPreview:
  33. if (dwSignature == PortableScannerService_MethodSignature_StartPreview) {
  34. bOverlap = true;
  35. } else {
  36. Error = Error_MethodSignatureFailed;
  37. }
  38. break;
  39. case PortableScannerService_Method_CancelPreview:
  40. if (dwSignature == PortableScannerService_MethodSignature_CancelPreview) {
  41. bOverlap = true;
  42. } else {
  43. Error = Error_MethodSignatureFailed;
  44. }
  45. break;
  46. case PortableScannerService_Method_ScanImage:
  47. if (dwSignature == PortableScannerService_MethodSignature_ScanImage) {
  48. bOverlap = true;
  49. } else {
  50. Error = Error_MethodSignatureFailed;
  51. }
  52. break;
  53. case PortableScannerService_Method_ScanImageEx:
  54. if (dwSignature == PortableScannerService_MethodSignature_ScanImageEx) {
  55. bOverlap = true;
  56. } else {
  57. Error = Error_MethodSignatureFailed;
  58. }
  59. break;
  60. case PortableScannerService_Method_SetProperty:
  61. if (dwSignature == PortableScannerService_MethodSignature_SetProperty) {
  62. bOverlap = true;
  63. } else {
  64. Error = Error_MethodSignatureFailed;
  65. }
  66. break;
  67. case PortableScannerService_Method_SetWinPos:
  68. if (dwSignature == PortableScannerService_MethodSignature_SetWinPos) {
  69. bOverlap = true;
  70. } else {
  71. Error = Error_MethodSignatureFailed;
  72. }
  73. break;
  74. case PortableScannerService_Method_ShowProperty:
  75. if (dwSignature == PortableScannerService_MethodSignature_ShowProperty) {
  76. bOverlap = true;
  77. } else {
  78. Error = Error_MethodSignatureFailed;
  79. }
  80. break;
  81. case PortableScannerService_Method_GetDevStatus:
  82. if (dwSignature == PortableScannerService_MethodSignature_GetDevStatus) {
  83. bOverlap = true;
  84. } else {
  85. Error = Error_MethodSignatureFailed;
  86. }
  87. break;
  88. case PortableScannerService_Method_GetDevInfo:
  89. if (dwSignature == PortableScannerService_MethodSignature_GetDevInfo) {
  90. bOverlap = true;
  91. } else {
  92. Error = Error_MethodSignatureFailed;
  93. }
  94. break;
  95. case PortableScannerService_Method_Exit:
  96. if (dwSignature == PortableScannerService_MethodSignature_Exit) {
  97. bOverlap = true;
  98. } else {
  99. Error = Error_MethodSignatureFailed;
  100. }
  101. break;
  102. default:
  103. Error = Error_MethodNotFound;
  104. break;
  105. }
  106. return Error;
  107. }
  108. int CheckMessageSignature(DWORD dwMessageID, DWORD dwSignature)
  109. {
  110. ErrorCodeEnum Error = Error_Succeed;
  111. switch (dwMessageID) {
  112. case PortableScannerService_Method_BindCameraDevice:
  113. if (dwSignature != PortableScannerService_MethodSignature_BindCameraDevice) {
  114. Error = Error_MethodSignatureFailed;
  115. }
  116. break;
  117. case PortableScannerService_Method_DropOffDevice:
  118. if (dwSignature != PortableScannerService_MethodSignature_DropOffDevice) {
  119. Error = Error_MethodSignatureFailed;
  120. }
  121. break;
  122. case PortableScannerService_Method_StartPreview:
  123. if (dwSignature != PortableScannerService_MethodSignature_StartPreview) {
  124. Error = Error_MethodSignatureFailed;
  125. }
  126. break;
  127. case PortableScannerService_Method_CancelPreview:
  128. if (dwSignature != PortableScannerService_MethodSignature_CancelPreview) {
  129. Error = Error_MethodSignatureFailed;
  130. }
  131. break;
  132. case PortableScannerService_Method_ScanImage:
  133. if (dwSignature != PortableScannerService_MethodSignature_ScanImage) {
  134. Error = Error_MethodSignatureFailed;
  135. }
  136. break;
  137. case PortableScannerService_Method_ScanImageEx:
  138. if (dwSignature != PortableScannerService_MethodSignature_ScanImageEx) {
  139. Error = Error_MethodSignatureFailed;
  140. }
  141. break;
  142. case PortableScannerService_Method_SetProperty:
  143. if (dwSignature != PortableScannerService_MethodSignature_SetProperty) {
  144. Error = Error_MethodSignatureFailed;
  145. }
  146. break;
  147. case PortableScannerService_Method_SetWinPos:
  148. if (dwSignature != PortableScannerService_MethodSignature_SetWinPos) {
  149. Error = Error_MethodSignatureFailed;
  150. }
  151. break;
  152. case PortableScannerService_Method_ShowProperty:
  153. if (dwSignature != PortableScannerService_MethodSignature_ShowProperty) {
  154. Error = Error_MethodSignatureFailed;
  155. }
  156. break;
  157. case PortableScannerService_Method_GetDevStatus:
  158. if (dwSignature != PortableScannerService_MethodSignature_GetDevStatus) {
  159. Error = Error_MethodSignatureFailed;
  160. }
  161. break;
  162. case PortableScannerService_Method_GetDevInfo:
  163. if (dwSignature != PortableScannerService_MethodSignature_GetDevInfo) {
  164. Error = Error_MethodSignatureFailed;
  165. }
  166. break;
  167. case PortableScannerService_Method_Exit:
  168. if (dwSignature != PortableScannerService_MethodSignature_Exit) {
  169. Error = Error_MethodSignatureFailed;
  170. }
  171. break;
  172. default:
  173. Error = Error_MethodNotFound;
  174. break;
  175. }
  176. return Error;
  177. }
  178. virtual void Handle_BindCameraDevice(SpReqAnsContext<PortableScannerService_BindCameraDevice_Req, PortableScannerService_BindCameraDevice_Ans>::Pointer ctx)
  179. {
  180. /// override by user
  181. }
  182. virtual void Handle_DropOffDevice(SpOnewayCallContext<PortableScannerService_DropOffDevice_Info>::Pointer ctx)
  183. {
  184. /// override by user
  185. }
  186. virtual void Handle_StartPreview(SpReqAnsContext<PortableScannerService_StartPreview_Req, PortableScannerService_StartPreview_Ans>::Pointer ctx)
  187. {
  188. /// override by user
  189. }
  190. virtual void Handle_CancelPreview(SpReqAnsContext<PortableScannerService_CancelPreview_Req, PortableScannerService_CancelPreview_Ans>::Pointer ctx)
  191. {
  192. /// override by user
  193. }
  194. virtual void Handle_ScanImage(SpReqAnsContext<PortableScannerService_ScanImage_Req, PortableScannerService_ScanImage_Ans>::Pointer ctx)
  195. {
  196. /// override by user
  197. }
  198. virtual void Handle_ScanImageEx(SpReqAnsContext<PortableScannerService_ScanImageEx_Req, PortableScannerService_ScanImageEx_Ans>::Pointer ctx)
  199. {
  200. /// override by user
  201. }
  202. virtual void Handle_SetProperty(SpReqAnsContext<PortableScannerService_SetProperty_Req, PortableScannerService_SetProperty_Ans>::Pointer ctx)
  203. {
  204. /// override by user
  205. }
  206. virtual void Handle_SetWinPos(SpReqAnsContext<PortableScannerService_SetWinPos_Req, PortableScannerService_SetWinPos_Ans>::Pointer ctx)
  207. {
  208. /// override by user
  209. }
  210. virtual void Handle_ShowProperty(SpReqAnsContext<PortableScannerService_ShowProperty_Req, PortableScannerService_ShowProperty_Ans>::Pointer ctx)
  211. {
  212. /// override by user
  213. }
  214. virtual void Handle_GetDevStatus(SpReqAnsContext<PortableScannerService_GetDevStatus_Req, PortableScannerService_GetDevStatus_Ans>::Pointer ctx)
  215. {
  216. /// override by user
  217. }
  218. virtual void Handle_GetDevInfo(SpReqAnsContext<PortableScannerService_GetDevInfo_Req, PortableScannerService_GetDevInfo_Ans>::Pointer ctx)
  219. {
  220. /// override by user
  221. }
  222. virtual void Handle_Exit(SpOnewayCallContext<PortableScannerService_Exit_Info>::Pointer ctx)
  223. {
  224. /// override by user
  225. }
  226. virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
  227. {
  228. CAutoBuffer Buf;
  229. DWORD dwMessageID;
  230. DWORD dwMessageSignature;
  231. ErrorCodeEnum Error = pTransactionContext->GetReceiveBuffer(dwMessageID, dwMessageSignature, Buf);
  232. if (Error == Error_Succeed) {
  233. #ifdef DEBUG
  234. assert(CheckMessageSignature(dwMessageID, dwMessageSignature) == Error_Succeed);
  235. #else
  236. if (CheckMessageSignature(dwMessageID, dwMessageSignature) != Error_Succeed) {
  237. pTransactionContext->SendAnswer(Error_MethodSignatureFailed);
  238. return;
  239. }
  240. #endif
  241. switch (dwMessageID) {
  242. case PortableScannerService_Method_BindCameraDevice:
  243. {
  244. SpReqAnsContext<PortableScannerService_BindCameraDevice_Req,PortableScannerService_BindCameraDevice_Ans>::Pointer ctx;
  245. ctx.Attach(new SpReqAnsContext<PortableScannerService_BindCameraDevice_Req,PortableScannerService_BindCameraDevice_Ans>(pTransactionContext));
  246. SpBuffer2Object(Buf, ctx->Req);
  247. Handle_BindCameraDevice(ctx);
  248. }
  249. break;
  250. case PortableScannerService_Method_DropOffDevice:
  251. {
  252. SpOnewayCallContext<PortableScannerService_DropOffDevice_Info>::Pointer ctx;
  253. ctx.Attach(new SpOnewayCallContext<PortableScannerService_DropOffDevice_Info>());
  254. SpBuffer2Object(Buf, ctx->Info);
  255. Handle_DropOffDevice(ctx);
  256. }
  257. break;
  258. case PortableScannerService_Method_StartPreview:
  259. {
  260. SpReqAnsContext<PortableScannerService_StartPreview_Req,PortableScannerService_StartPreview_Ans>::Pointer ctx;
  261. ctx.Attach(new SpReqAnsContext<PortableScannerService_StartPreview_Req,PortableScannerService_StartPreview_Ans>(pTransactionContext));
  262. SpBuffer2Object(Buf, ctx->Req);
  263. Handle_StartPreview(ctx);
  264. }
  265. break;
  266. case PortableScannerService_Method_CancelPreview:
  267. {
  268. SpReqAnsContext<PortableScannerService_CancelPreview_Req,PortableScannerService_CancelPreview_Ans>::Pointer ctx;
  269. ctx.Attach(new SpReqAnsContext<PortableScannerService_CancelPreview_Req,PortableScannerService_CancelPreview_Ans>(pTransactionContext));
  270. SpBuffer2Object(Buf, ctx->Req);
  271. Handle_CancelPreview(ctx);
  272. }
  273. break;
  274. case PortableScannerService_Method_ScanImage:
  275. {
  276. SpReqAnsContext<PortableScannerService_ScanImage_Req,PortableScannerService_ScanImage_Ans>::Pointer ctx;
  277. ctx.Attach(new SpReqAnsContext<PortableScannerService_ScanImage_Req,PortableScannerService_ScanImage_Ans>(pTransactionContext));
  278. SpBuffer2Object(Buf, ctx->Req);
  279. Handle_ScanImage(ctx);
  280. }
  281. break;
  282. case PortableScannerService_Method_ScanImageEx:
  283. {
  284. SpReqAnsContext<PortableScannerService_ScanImageEx_Req,PortableScannerService_ScanImageEx_Ans>::Pointer ctx;
  285. ctx.Attach(new SpReqAnsContext<PortableScannerService_ScanImageEx_Req,PortableScannerService_ScanImageEx_Ans>(pTransactionContext));
  286. SpBuffer2Object(Buf, ctx->Req);
  287. Handle_ScanImageEx(ctx);
  288. }
  289. break;
  290. case PortableScannerService_Method_SetProperty:
  291. {
  292. SpReqAnsContext<PortableScannerService_SetProperty_Req,PortableScannerService_SetProperty_Ans>::Pointer ctx;
  293. ctx.Attach(new SpReqAnsContext<PortableScannerService_SetProperty_Req,PortableScannerService_SetProperty_Ans>(pTransactionContext));
  294. SpBuffer2Object(Buf, ctx->Req);
  295. Handle_SetProperty(ctx);
  296. }
  297. break;
  298. case PortableScannerService_Method_SetWinPos:
  299. {
  300. SpReqAnsContext<PortableScannerService_SetWinPos_Req,PortableScannerService_SetWinPos_Ans>::Pointer ctx;
  301. ctx.Attach(new SpReqAnsContext<PortableScannerService_SetWinPos_Req,PortableScannerService_SetWinPos_Ans>(pTransactionContext));
  302. SpBuffer2Object(Buf, ctx->Req);
  303. Handle_SetWinPos(ctx);
  304. }
  305. break;
  306. case PortableScannerService_Method_ShowProperty:
  307. {
  308. SpReqAnsContext<PortableScannerService_ShowProperty_Req,PortableScannerService_ShowProperty_Ans>::Pointer ctx;
  309. ctx.Attach(new SpReqAnsContext<PortableScannerService_ShowProperty_Req,PortableScannerService_ShowProperty_Ans>(pTransactionContext));
  310. SpBuffer2Object(Buf, ctx->Req);
  311. Handle_ShowProperty(ctx);
  312. }
  313. break;
  314. case PortableScannerService_Method_GetDevStatus:
  315. {
  316. SpReqAnsContext<PortableScannerService_GetDevStatus_Req,PortableScannerService_GetDevStatus_Ans>::Pointer ctx;
  317. ctx.Attach(new SpReqAnsContext<PortableScannerService_GetDevStatus_Req,PortableScannerService_GetDevStatus_Ans>(pTransactionContext));
  318. SpBuffer2Object(Buf, ctx->Req);
  319. Handle_GetDevStatus(ctx);
  320. }
  321. break;
  322. case PortableScannerService_Method_GetDevInfo:
  323. {
  324. SpReqAnsContext<PortableScannerService_GetDevInfo_Req,PortableScannerService_GetDevInfo_Ans>::Pointer ctx;
  325. ctx.Attach(new SpReqAnsContext<PortableScannerService_GetDevInfo_Req,PortableScannerService_GetDevInfo_Ans>(pTransactionContext));
  326. SpBuffer2Object(Buf, ctx->Req);
  327. Handle_GetDevInfo(ctx);
  328. }
  329. break;
  330. case PortableScannerService_Method_Exit:
  331. {
  332. SpOnewayCallContext<PortableScannerService_Exit_Info>::Pointer ctx;
  333. ctx.Attach(new SpOnewayCallContext<PortableScannerService_Exit_Info>());
  334. SpBuffer2Object(Buf, ctx->Info);
  335. Handle_Exit(ctx);
  336. }
  337. break;
  338. default:
  339. assert(0);
  340. break;
  341. }
  342. } else {
  343. pTransactionContext->SendAnswer(Error);
  344. }
  345. }
  346. };
  347. ///////////////////////////
  348. } // namespace PortableScanner
  349. #endif // __PORTABLESCANNER_SERVER_G_H