#ifndef __CUSTMNGRAUTH_SERVER_G_H #define __CUSTMNGRAUTH_SERVER_G_H #pragma once // This code is generated by spgen tool! #include "CustMngrAuth_def_g.h" namespace CustMngrAuth { class CustMngrAuthService_ServerSessionBase : public CServerSessionBase { public: CustMngrAuthService_ServerSessionBase() { /// override by user } virtual ~CustMngrAuthService_ServerSessionBase() { /// override by user } virtual bool IsExclusive() { return false; } virtual bool IsSessionOverlap() { return true; } virtual ErrorCodeEnum GetMessageAttr(DWORD dwMessageID, DWORD dwSignature, bool &bOverlap) { ErrorCodeEnum Error = Error_Succeed; switch (dwMessageID) { case CustMngrAuthService_Method_HoldOn: if (dwSignature == CustMngrAuthService_MethodSignature_HoldOn) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StartAuthorize: if (dwSignature == CustMngrAuthService_MethodSignature_StartAuthorize) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StopAuthorize: if (dwSignature == CustMngrAuthService_MethodSignature_StopAuthorize) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CollectFingerPrint: if (dwSignature == CustMngrAuthService_MethodSignature_CollectFingerPrint) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StopCollect: if (dwSignature == CustMngrAuthService_MethodSignature_StopCollect) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_SaveFingerPrint: if (dwSignature == CustMngrAuthService_MethodSignature_SaveFingerPrint) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CheckUkey: if (dwSignature == CustMngrAuthService_MethodSignature_CheckUkey) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CollectFingerPrintEx: if (dwSignature == CustMngrAuthService_MethodSignature_CollectFingerPrintEx) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_QueryAuthorInfo: if (dwSignature == CustMngrAuthService_MethodSignature_QueryAuthorInfo) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StopAuthorizeEx: if (dwSignature == CustMngrAuthService_MethodSignature_StopAuthorizeEx) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CollectFingerPrintInfo: if (dwSignature == CustMngrAuthService_MethodSignature_CollectFingerPrintInfo) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_GenerateTemplate: if (dwSignature == CustMngrAuthService_MethodSignature_GenerateTemplate) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; default: Error = Error_MethodNotFound; break; } return Error; } int CheckMessageSignature(DWORD dwMessageID, DWORD dwSignature) { ErrorCodeEnum Error = Error_Succeed; switch (dwMessageID) { case CustMngrAuthService_Method_HoldOn: if (dwSignature != CustMngrAuthService_MethodSignature_HoldOn) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StartAuthorize: if (dwSignature != CustMngrAuthService_MethodSignature_StartAuthorize) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StopAuthorize: if (dwSignature != CustMngrAuthService_MethodSignature_StopAuthorize) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CollectFingerPrint: if (dwSignature != CustMngrAuthService_MethodSignature_CollectFingerPrint) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StopCollect: if (dwSignature != CustMngrAuthService_MethodSignature_StopCollect) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_SaveFingerPrint: if (dwSignature != CustMngrAuthService_MethodSignature_SaveFingerPrint) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CheckUkey: if (dwSignature != CustMngrAuthService_MethodSignature_CheckUkey) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CollectFingerPrintEx: if (dwSignature != CustMngrAuthService_MethodSignature_CollectFingerPrintEx) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_QueryAuthorInfo: if (dwSignature != CustMngrAuthService_MethodSignature_QueryAuthorInfo) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_StopAuthorizeEx: if (dwSignature != CustMngrAuthService_MethodSignature_StopAuthorizeEx) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_CollectFingerPrintInfo: if (dwSignature != CustMngrAuthService_MethodSignature_CollectFingerPrintInfo) { Error = Error_MethodSignatureFailed; } break; case CustMngrAuthService_Method_GenerateTemplate: if (dwSignature != CustMngrAuthService_MethodSignature_GenerateTemplate) { Error = Error_MethodSignatureFailed; } break; default: Error = Error_MethodNotFound; break; } return Error; } virtual void Handle_HoldOn(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StartAuthorize(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopAuthorize(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CollectFingerPrint(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopCollect(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_SaveFingerPrint(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CheckUkey(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CollectFingerPrintEx(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_QueryAuthorInfo(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopAuthorizeEx(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CollectFingerPrintInfo(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_GenerateTemplate(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void OnRequest(CSmartPointer pTransactionContext) { CAutoBuffer Buf; DWORD dwMessageID; DWORD dwMessageSignature; ErrorCodeEnum Error = pTransactionContext->GetReceiveBuffer(dwMessageID, dwMessageSignature, Buf); if (Error == Error_Succeed) { #ifdef DEBUG assert(CheckMessageSignature(dwMessageID, dwMessageSignature) == Error_Succeed); #else if (CheckMessageSignature(dwMessageID, dwMessageSignature) != Error_Succeed) { pTransactionContext->SendAnswer(Error_MethodSignatureFailed); return; } #endif switch (dwMessageID) { case CustMngrAuthService_Method_HoldOn: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_HoldOn(ctx); } break; case CustMngrAuthService_Method_StartAuthorize: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StartAuthorize(ctx); } break; case CustMngrAuthService_Method_StopAuthorize: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopAuthorize(ctx); } break; case CustMngrAuthService_Method_CollectFingerPrint: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CollectFingerPrint(ctx); } break; case CustMngrAuthService_Method_StopCollect: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopCollect(ctx); } break; case CustMngrAuthService_Method_SaveFingerPrint: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_SaveFingerPrint(ctx); } break; case CustMngrAuthService_Method_CheckUkey: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CheckUkey(ctx); } break; case CustMngrAuthService_Method_CollectFingerPrintEx: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CollectFingerPrintEx(ctx); } break; case CustMngrAuthService_Method_QueryAuthorInfo: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_QueryAuthorInfo(ctx); } break; case CustMngrAuthService_Method_StopAuthorizeEx: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopAuthorizeEx(ctx); } break; case CustMngrAuthService_Method_CollectFingerPrintInfo: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CollectFingerPrintInfo(ctx); } break; case CustMngrAuthService_Method_GenerateTemplate: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GenerateTemplate(ctx); } break; default: assert(0); break; } } else { pTransactionContext->SendAnswer(Error); } } }; /////////////////////////// } // namespace CustMngrAuth #endif // __CUSTMNGRAUTH_SERVER_G_H