AccessAuthorization_server_g.h 6.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227
  1. #ifndef __ACCESSAUTHORIZATION_SERVER_G_H
  2. #define __ACCESSAUTHORIZATION_SERVER_G_H
  3. #pragma once
  4. // This code is generated by spgen tool!
  5. #include "AccessAuthorization_def_g.h"
  6. namespace AccessAuthorization {
  7. class AccessAuthService_ServerSessionBase : public CServerSessionBase
  8. {
  9. public:
  10. AccessAuthService_ServerSessionBase() { }
  11. virtual ~AccessAuthService_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 AccessAuthService_Method_Regist:
  19. if (dwSignature == AccessAuthService_MethodSignature_Regist) {
  20. bOverlap = true;
  21. } else {
  22. Error = Error_MethodSignatureFailed;
  23. }
  24. break;
  25. case AccessAuthService_Method_Unregist:
  26. if (dwSignature == AccessAuthService_MethodSignature_Unregist) {
  27. bOverlap = true;
  28. } else {
  29. Error = Error_MethodSignatureFailed;
  30. }
  31. break;
  32. case AccessAuthService_Method_Reregist:
  33. if (dwSignature == AccessAuthService_MethodSignature_Reregist) {
  34. bOverlap = true;
  35. } else {
  36. Error = Error_MethodSignatureFailed;
  37. }
  38. break;
  39. case AccessAuthService_Method_PushTerminalStage:
  40. if (dwSignature == AccessAuthService_MethodSignature_PushTerminalStage) {
  41. bOverlap = true;
  42. } else {
  43. Error = Error_MethodSignatureFailed;
  44. }
  45. break;
  46. case AccessAuthService_Method_InitDev:
  47. if (dwSignature == AccessAuthService_MethodSignature_InitDev) {
  48. bOverlap = true;
  49. } else {
  50. Error = Error_MethodSignatureFailed;
  51. }
  52. break;
  53. case AccessAuthService_Method_SyncTime:
  54. if (dwSignature == AccessAuthService_MethodSignature_SyncTime) {
  55. bOverlap = true;
  56. } else {
  57. Error = Error_MethodSignatureFailed;
  58. }
  59. break;
  60. default:
  61. Error = Error_MethodNotFound;
  62. break;
  63. }
  64. return Error;
  65. }
  66. int CheckMessageSignature(DWORD dwMessageID, DWORD dwSignature)
  67. {
  68. ErrorCodeEnum Error = Error_Succeed;
  69. switch (dwMessageID) {
  70. case AccessAuthService_Method_Regist:
  71. if (dwSignature != AccessAuthService_MethodSignature_Regist) {
  72. Error = Error_MethodSignatureFailed;
  73. }
  74. break;
  75. case AccessAuthService_Method_Unregist:
  76. if (dwSignature != AccessAuthService_MethodSignature_Unregist) {
  77. Error = Error_MethodSignatureFailed;
  78. }
  79. break;
  80. case AccessAuthService_Method_Reregist:
  81. if (dwSignature != AccessAuthService_MethodSignature_Reregist) {
  82. Error = Error_MethodSignatureFailed;
  83. }
  84. break;
  85. case AccessAuthService_Method_PushTerminalStage:
  86. if (dwSignature != AccessAuthService_MethodSignature_PushTerminalStage) {
  87. Error = Error_MethodSignatureFailed;
  88. }
  89. break;
  90. case AccessAuthService_Method_InitDev:
  91. if (dwSignature != AccessAuthService_MethodSignature_InitDev) {
  92. Error = Error_MethodSignatureFailed;
  93. }
  94. break;
  95. case AccessAuthService_Method_SyncTime:
  96. if (dwSignature != AccessAuthService_MethodSignature_SyncTime) {
  97. Error = Error_MethodSignatureFailed;
  98. }
  99. break;
  100. default:
  101. Error = Error_MethodNotFound;
  102. break;
  103. }
  104. return Error;
  105. }
  106. virtual void Handle_Regist(SpOnewayCallContext<AccessAuthService_Regist_Info>::Pointer ctx)
  107. {
  108. /// override by user
  109. }
  110. virtual void Handle_Unregist(SpOnewayCallContext<AccessAuthService_Unregist_Info>::Pointer ctx)
  111. {
  112. /// override by user
  113. }
  114. virtual void Handle_Reregist(SpOnewayCallContext<AccessAuthService_Reregist_Info>::Pointer ctx)
  115. {
  116. /// override by user
  117. }
  118. virtual void Handle_PushTerminalStage(SpOnewayCallContext<AccessAuthService_PushTerminalStage_Info>::Pointer ctx)
  119. {
  120. /// override by user
  121. }
  122. virtual void Handle_InitDev(SpReqAnsContext<AccessAuthService_InitDev_Req, AccessAuthService_InitDev_Ans>::Pointer ctx)
  123. {
  124. /// override by user
  125. }
  126. virtual void Handle_SyncTime(SpOnewayCallContext<AccessAuthService_SyncTime_Info>::Pointer ctx)
  127. {
  128. /// override by user
  129. }
  130. virtual void OnRequest(CSmartPointer<ITransactionContext> pTransactionContext)
  131. {
  132. CAutoBuffer Buf;
  133. DWORD dwMessageID;
  134. DWORD dwMessageSignature;
  135. ErrorCodeEnum Error = pTransactionContext->GetReceiveBuffer(dwMessageID, dwMessageSignature, Buf);
  136. if (Error == Error_Succeed) {
  137. #ifdef DEBUG
  138. assert(CheckMessageSignature(dwMessageID, dwMessageSignature) == Error_Succeed);
  139. #else
  140. if (CheckMessageSignature(dwMessageID, dwMessageSignature) != Error_Succeed) {
  141. pTransactionContext->SendAnswer(Error_MethodSignatureFailed);
  142. return;
  143. }
  144. #endif
  145. switch (dwMessageID) {
  146. case AccessAuthService_Method_Regist:
  147. {
  148. SpOnewayCallContext<AccessAuthService_Regist_Info>::Pointer ctx;
  149. ctx.Attach(new SpOnewayCallContext<AccessAuthService_Regist_Info>());
  150. SpBuffer2Object(Buf, ctx->Info);
  151. Handle_Regist(ctx);
  152. }
  153. break;
  154. case AccessAuthService_Method_Unregist:
  155. {
  156. SpOnewayCallContext<AccessAuthService_Unregist_Info>::Pointer ctx;
  157. ctx.Attach(new SpOnewayCallContext<AccessAuthService_Unregist_Info>());
  158. SpBuffer2Object(Buf, ctx->Info);
  159. Handle_Unregist(ctx);
  160. }
  161. break;
  162. case AccessAuthService_Method_Reregist:
  163. {
  164. SpOnewayCallContext<AccessAuthService_Reregist_Info>::Pointer ctx;
  165. ctx.Attach(new SpOnewayCallContext<AccessAuthService_Reregist_Info>());
  166. SpBuffer2Object(Buf, ctx->Info);
  167. Handle_Reregist(ctx);
  168. }
  169. break;
  170. case AccessAuthService_Method_PushTerminalStage:
  171. {
  172. SpOnewayCallContext<AccessAuthService_PushTerminalStage_Info>::Pointer ctx;
  173. ctx.Attach(new SpOnewayCallContext<AccessAuthService_PushTerminalStage_Info>());
  174. SpBuffer2Object(Buf, ctx->Info);
  175. Handle_PushTerminalStage(ctx);
  176. }
  177. break;
  178. case AccessAuthService_Method_InitDev:
  179. {
  180. SpReqAnsContext<AccessAuthService_InitDev_Req,AccessAuthService_InitDev_Ans>::Pointer ctx;
  181. ctx.Attach(new SpReqAnsContext<AccessAuthService_InitDev_Req,AccessAuthService_InitDev_Ans>(pTransactionContext));
  182. SpBuffer2Object(Buf, ctx->Req);
  183. Handle_InitDev(ctx);
  184. }
  185. break;
  186. case AccessAuthService_Method_SyncTime:
  187. {
  188. SpOnewayCallContext<AccessAuthService_SyncTime_Info>::Pointer ctx;
  189. ctx.Attach(new SpOnewayCallContext<AccessAuthService_SyncTime_Info>());
  190. SpBuffer2Object(Buf, ctx->Info);
  191. Handle_SyncTime(ctx);
  192. }
  193. break;
  194. default:
  195. assert(0);
  196. break;
  197. }
  198. } else {
  199. pTransactionContext->SendAnswer(Error);
  200. }
  201. }
  202. };
  203. ///////////////////////////
  204. } // namespace AccessAuthorization
  205. #endif // __ACCESSAUTHORIZATION_SERVER_G_H