IDCertificate_server_g.h 9.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. #ifndef __IDCERTIFICATE_SERVER_G_H
  2. #define __IDCERTIFICATE_SERVER_G_H
  3. #pragma once
  4. // This code is generated by spgen tool!
  5. #include "IDCertificate_def_g.h"
  6. namespace IDCertificate {
  7. class IDCertService_ServerSessionBase : public CServerSessionBase
  8. {
  9. public:
  10. IDCertService_ServerSessionBase()
  11. {
  12. /// override by user
  13. }
  14. virtual ~IDCertService_ServerSessionBase()
  15. {
  16. /// override by user
  17. }
  18. virtual bool IsExclusive() { return false; }
  19. virtual bool IsSessionOverlap() { return true; }
  20. virtual ErrorCodeEnum GetMessageAttr(DWORD dwMessageID, DWORD dwSignature, bool &bOverlap)
  21. {
  22. ErrorCodeEnum Error = Error_Succeed;
  23. switch (dwMessageID) {
  24. case IDCertService_Method_CancelRead:
  25. if (dwSignature == IDCertService_MethodSignature_CancelRead) {
  26. bOverlap = true;
  27. } else {
  28. Error = Error_MethodSignatureFailed;
  29. }
  30. break;
  31. case IDCertService_Method_ReadWaitMore:
  32. if (dwSignature == IDCertService_MethodSignature_ReadWaitMore) {
  33. bOverlap = true;
  34. } else {
  35. Error = Error_MethodSignatureFailed;
  36. }
  37. break;
  38. case IDCertService_Method_Exit:
  39. if (dwSignature == IDCertService_MethodSignature_Exit) {
  40. bOverlap = true;
  41. } else {
  42. Error = Error_MethodSignatureFailed;
  43. }
  44. break;
  45. case IDCertService_Method_Eject:
  46. if (dwSignature == IDCertService_MethodSignature_Eject) {
  47. bOverlap = true;
  48. } else {
  49. Error = Error_MethodSignatureFailed;
  50. }
  51. break;
  52. case IDCertService_Method_GetDevInfo:
  53. if (dwSignature == IDCertService_MethodSignature_GetDevInfo) {
  54. bOverlap = true;
  55. } else {
  56. Error = Error_MethodSignatureFailed;
  57. }
  58. break;
  59. case IDCertService_Method_ReadAndScanUTF8:
  60. if (dwSignature == IDCertService_MethodSignature_ReadAndScanUTF8) {
  61. bOverlap = true;
  62. } else {
  63. Error = Error_MethodSignatureFailed;
  64. }
  65. break;
  66. case IDCertService_Method_ReadAndScanUTF8JS:
  67. if (dwSignature == IDCertService_MethodSignature_ReadAndScanUTF8JS) {
  68. bOverlap = true;
  69. } else {
  70. Error = Error_MethodSignatureFailed;
  71. }
  72. break;
  73. case IDCertService_Method_CancelReadJS:
  74. if (dwSignature == IDCertService_MethodSignature_CancelReadJS) {
  75. bOverlap = true;
  76. } else {
  77. Error = Error_MethodSignatureFailed;
  78. }
  79. break;
  80. default:
  81. Error = Error_MethodNotFound;
  82. break;
  83. }
  84. return Error;
  85. }
  86. int CheckMessageSignature(DWORD dwMessageID, DWORD dwSignature)
  87. {
  88. ErrorCodeEnum Error = Error_Succeed;
  89. switch (dwMessageID) {
  90. case IDCertService_Method_CancelRead:
  91. if (dwSignature != IDCertService_MethodSignature_CancelRead) {
  92. Error = Error_MethodSignatureFailed;
  93. }
  94. break;
  95. case IDCertService_Method_ReadWaitMore:
  96. if (dwSignature != IDCertService_MethodSignature_ReadWaitMore) {
  97. Error = Error_MethodSignatureFailed;
  98. }
  99. break;
  100. case IDCertService_Method_Exit:
  101. if (dwSignature != IDCertService_MethodSignature_Exit) {
  102. Error = Error_MethodSignatureFailed;
  103. }
  104. break;
  105. case IDCertService_Method_Eject:
  106. if (dwSignature != IDCertService_MethodSignature_Eject) {
  107. Error = Error_MethodSignatureFailed;
  108. }
  109. break;
  110. case IDCertService_Method_GetDevInfo:
  111. if (dwSignature != IDCertService_MethodSignature_GetDevInfo) {
  112. Error = Error_MethodSignatureFailed;
  113. }
  114. break;
  115. case IDCertService_Method_ReadAndScanUTF8:
  116. if (dwSignature != IDCertService_MethodSignature_ReadAndScanUTF8) {
  117. Error = Error_MethodSignatureFailed;
  118. }
  119. break;
  120. case IDCertService_Method_ReadAndScanUTF8JS:
  121. if (dwSignature != IDCertService_MethodSignature_ReadAndScanUTF8JS) {
  122. Error = Error_MethodSignatureFailed;
  123. }
  124. break;
  125. case IDCertService_Method_CancelReadJS:
  126. if (dwSignature != IDCertService_MethodSignature_CancelReadJS) {
  127. Error = Error_MethodSignatureFailed;
  128. }
  129. break;
  130. default:
  131. Error = Error_MethodNotFound;
  132. break;
  133. }
  134. return Error;
  135. }
  136. virtual void Handle_CancelRead(SpOnewayCallContext<IDCertService_CancelRead_Info>::Pointer ctx)
  137. {
  138. /// override by user
  139. }
  140. virtual void Handle_ReadWaitMore(SpOnewayCallContext<IDCertService_ReadWaitMore_Info>::Pointer ctx)
  141. {
  142. /// override by user
  143. }
  144. virtual void Handle_Exit(SpOnewayCallContext<IDCertService_Exit_Info>::Pointer ctx)
  145. {
  146. /// override by user
  147. }
  148. virtual void Handle_Eject(SpReqAnsContext<IDCertService_Eject_Req, IDCertService_Eject_Ans>::Pointer ctx)
  149. {
  150. /// override by user
  151. }
  152. virtual void Handle_GetDevInfo(SpReqAnsContext<IDCertService_GetDevInfo_Req, IDCertService_GetDevInfo_Ans>::Pointer ctx)
  153. {
  154. /// override by user
  155. }
  156. virtual void Handle_ReadAndScanUTF8(SpReqAnsContext<IDCertService_ReadAndScanUTF8_Req, IDCertService_ReadAndScanUTF8_Ans>::Pointer ctx)
  157. {
  158. /// override by user
  159. }
  160. virtual void Handle_ReadAndScanUTF8JS(SpReqAnsContext<IDCertService_ReadAndScanUTF8JS_Req, IDCertService_ReadAndScanUTF8JS_Ans>::Pointer ctx)
  161. {
  162. /// override by user
  163. }
  164. virtual void Handle_CancelReadJS(SpReqAnsContext<IDCertService_CancelReadJS_Req, IDCertService_CancelReadJS_Ans>::Pointer ctx)
  165. {
  166. /// override by user
  167. }
  168. virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
  169. {
  170. CAutoBuffer Buf;
  171. DWORD dwMessageID;
  172. DWORD dwMessageSignature;
  173. ErrorCodeEnum Error = pTransactionContext->GetReceiveBuffer(dwMessageID, dwMessageSignature, Buf);
  174. if (Error == Error_Succeed) {
  175. #ifdef DEBUG
  176. assert(CheckMessageSignature(dwMessageID, dwMessageSignature) == Error_Succeed);
  177. #else
  178. if (CheckMessageSignature(dwMessageID, dwMessageSignature) != Error_Succeed) {
  179. pTransactionContext->SendAnswer(Error_MethodSignatureFailed);
  180. return;
  181. }
  182. #endif
  183. switch (dwMessageID) {
  184. case IDCertService_Method_CancelRead:
  185. {
  186. SpOnewayCallContext<IDCertService_CancelRead_Info>::Pointer ctx;
  187. ctx.Attach(new SpOnewayCallContext<IDCertService_CancelRead_Info>());
  188. SpBuffer2Object(Buf, ctx->Info);
  189. pTransactionContext->GetLinkContext(ctx->link);
  190. EntityResource::setLink(ctx->link);
  191. Handle_CancelRead(ctx);
  192. }
  193. break;
  194. case IDCertService_Method_ReadWaitMore:
  195. {
  196. SpOnewayCallContext<IDCertService_ReadWaitMore_Info>::Pointer ctx;
  197. ctx.Attach(new SpOnewayCallContext<IDCertService_ReadWaitMore_Info>());
  198. SpBuffer2Object(Buf, ctx->Info);
  199. pTransactionContext->GetLinkContext(ctx->link);
  200. EntityResource::setLink(ctx->link);
  201. Handle_ReadWaitMore(ctx);
  202. }
  203. break;
  204. case IDCertService_Method_Exit:
  205. {
  206. SpOnewayCallContext<IDCertService_Exit_Info>::Pointer ctx;
  207. ctx.Attach(new SpOnewayCallContext<IDCertService_Exit_Info>());
  208. SpBuffer2Object(Buf, ctx->Info);
  209. pTransactionContext->GetLinkContext(ctx->link);
  210. EntityResource::setLink(ctx->link);
  211. Handle_Exit(ctx);
  212. }
  213. break;
  214. case IDCertService_Method_Eject:
  215. {
  216. SpReqAnsContext<IDCertService_Eject_Req,IDCertService_Eject_Ans>::Pointer ctx;
  217. ctx.Attach(new SpReqAnsContext<IDCertService_Eject_Req,IDCertService_Eject_Ans>(pTransactionContext));
  218. SpBuffer2Object(Buf, ctx->Req);
  219. pTransactionContext->GetLinkContext(ctx->link);
  220. EntityResource::setLink(ctx->link);
  221. Handle_Eject(ctx);
  222. }
  223. break;
  224. case IDCertService_Method_GetDevInfo:
  225. {
  226. SpReqAnsContext<IDCertService_GetDevInfo_Req,IDCertService_GetDevInfo_Ans>::Pointer ctx;
  227. ctx.Attach(new SpReqAnsContext<IDCertService_GetDevInfo_Req,IDCertService_GetDevInfo_Ans>(pTransactionContext));
  228. SpBuffer2Object(Buf, ctx->Req);
  229. pTransactionContext->GetLinkContext(ctx->link);
  230. EntityResource::setLink(ctx->link);
  231. Handle_GetDevInfo(ctx);
  232. }
  233. break;
  234. case IDCertService_Method_ReadAndScanUTF8:
  235. {
  236. SpReqAnsContext<IDCertService_ReadAndScanUTF8_Req,IDCertService_ReadAndScanUTF8_Ans>::Pointer ctx;
  237. ctx.Attach(new SpReqAnsContext<IDCertService_ReadAndScanUTF8_Req,IDCertService_ReadAndScanUTF8_Ans>(pTransactionContext));
  238. SpBuffer2Object(Buf, ctx->Req);
  239. pTransactionContext->GetLinkContext(ctx->link);
  240. EntityResource::setLink(ctx->link);
  241. Handle_ReadAndScanUTF8(ctx);
  242. }
  243. break;
  244. case IDCertService_Method_ReadAndScanUTF8JS:
  245. {
  246. SpReqAnsContext<IDCertService_ReadAndScanUTF8JS_Req,IDCertService_ReadAndScanUTF8JS_Ans>::Pointer ctx;
  247. ctx.Attach(new SpReqAnsContext<IDCertService_ReadAndScanUTF8JS_Req,IDCertService_ReadAndScanUTF8JS_Ans>(pTransactionContext));
  248. SpBuffer2Object(Buf, ctx->Req);
  249. pTransactionContext->GetLinkContext(ctx->link);
  250. EntityResource::setLink(ctx->link);
  251. Handle_ReadAndScanUTF8JS(ctx);
  252. }
  253. break;
  254. case IDCertService_Method_CancelReadJS:
  255. {
  256. SpReqAnsContext<IDCertService_CancelReadJS_Req,IDCertService_CancelReadJS_Ans>::Pointer ctx;
  257. ctx.Attach(new SpReqAnsContext<IDCertService_CancelReadJS_Req,IDCertService_CancelReadJS_Ans>(pTransactionContext));
  258. SpBuffer2Object(Buf, ctx->Req);
  259. pTransactionContext->GetLinkContext(ctx->link);
  260. EntityResource::setLink(ctx->link);
  261. Handle_CancelReadJS(ctx);
  262. }
  263. break;
  264. default:
  265. assert(0);
  266. break;
  267. }
  268. } else {
  269. pTransactionContext->SendAnswer(Error);
  270. }
  271. }
  272. };
  273. ///////////////////////////
  274. } // namespace IDCertificate
  275. #endif // __IDCERTIFICATE_SERVER_G_H