|
@@ -1,508 +0,0 @@
|
|
|
-#ifndef __CARDISSUER_COMMON_H
|
|
|
-#define __CARDISSUER_COMMON_H
|
|
|
-
|
|
|
-#pragma once
|
|
|
-
|
|
|
-#include "SpHelper.h"
|
|
|
-
|
|
|
-namespace CardIssuer {
|
|
|
-//
|
|
|
-// const goes here
|
|
|
-//
|
|
|
-
|
|
|
-#define CardIssuerService_Method_Insert 0
|
|
|
-#define CardIssuerService_Method_CancelInsert 1
|
|
|
-#define CardIssuerService_Method_Read 2
|
|
|
-#define CardIssuerService_Method_Issue 3
|
|
|
-#define CardIssuerService_Method_Capture 4
|
|
|
-#define CardIssuerService_Method_Eject 5
|
|
|
-#define CardIssuerService_Method_PreOnline 6
|
|
|
-#define CardIssuerService_Method_PostOnline 7
|
|
|
-#define CardIssuerService_Method_GetDevInfo 65535
|
|
|
-
|
|
|
-#define CardIssuerService_MethodSignature_Insert 1091033773
|
|
|
-#define CardIssuerService_MethodSignature_CancelInsert -1202478828
|
|
|
-#define CardIssuerService_MethodSignature_Read -1456939493
|
|
|
-#define CardIssuerService_MethodSignature_Issue 438783077
|
|
|
-#define CardIssuerService_MethodSignature_Capture -1807054569
|
|
|
-#define CardIssuerService_MethodSignature_Eject -377455114
|
|
|
-#define CardIssuerService_MethodSignature_PreOnline 2089532238
|
|
|
-#define CardIssuerService_MethodSignature_PostOnline 1466953860
|
|
|
-#define CardIssuerService_MethodSignature_GetDevInfo 296205965
|
|
|
-
|
|
|
-struct CardIssuerService_Insert_Req
|
|
|
-{
|
|
|
- CSimpleStringA aid;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & aid;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Insert_Ans
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_CancelInsert_Info
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Read_Req
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Read_Ans
|
|
|
-{
|
|
|
- CSimpleStringA data1;
|
|
|
- CSimpleStringA data2;
|
|
|
- CSimpleStringA data3;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & data1 & data2 & data3;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Issue_Req
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Issue_Ans
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Capture_Req
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Capture_Ans
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Eject_Req
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_Eject_Ans
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_PreOnline_Req
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_PreOnline_Ans
|
|
|
-{
|
|
|
- CSimpleStringA result;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & result;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_PostOnline_Req
|
|
|
-{
|
|
|
- CBlob data;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & data;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_PostOnline_Ans
|
|
|
-{
|
|
|
- CSimpleStringA result;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & result;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_GetDevInfo_Req
|
|
|
-{
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-struct CardIssuerService_GetDevInfo_Ans
|
|
|
-{
|
|
|
- CSimpleStringA type;
|
|
|
- CSimpleStringA model;
|
|
|
- CSimpleStringA version;
|
|
|
- int state;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & type & model & version & state;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-#define eMsg_FetchCard 0
|
|
|
-
|
|
|
-#define eMsgSig_FetchCard 1110804794
|
|
|
-
|
|
|
-struct FetchCard
|
|
|
-{
|
|
|
- int status;
|
|
|
-
|
|
|
- void Serialize(SpBuffer &Buf)
|
|
|
- {
|
|
|
- Buf & status;
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-
|
|
|
-class CardIssuerService_ServerSessionBase : public CServerSessionBase
|
|
|
-{
|
|
|
-public:
|
|
|
- CardIssuerService_ServerSessionBase() { }
|
|
|
-
|
|
|
- virtual ~CardIssuerService_ServerSessionBase() { }
|
|
|
-
|
|
|
- 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 CardIssuerService_Method_Insert:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_Insert) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_CancelInsert:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_CancelInsert) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Read:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_Read) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Issue:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_Issue) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Capture:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_Capture) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Eject:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_Eject) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_PreOnline:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_PreOnline) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_PostOnline:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_PostOnline) {
|
|
|
- bOverlap = true;
|
|
|
- } else {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_GetDevInfo:
|
|
|
- if (dwSignature == CardIssuerService_MethodSignature_GetDevInfo) {
|
|
|
- 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 CardIssuerService_Method_Insert:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_Insert) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_CancelInsert:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_CancelInsert) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Read:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_Read) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Issue:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_Issue) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Capture:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_Capture) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Eject:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_Eject) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_PreOnline:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_PreOnline) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_PostOnline:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_PostOnline) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_GetDevInfo:
|
|
|
- if (dwSignature != CardIssuerService_MethodSignature_GetDevInfo) {
|
|
|
- Error = Error_MethodSignatureFailed;
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- Error = Error_MethodNotFound;
|
|
|
- break;
|
|
|
- }
|
|
|
- return Error;
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_Insert(SpReqAnsContext<CardIssuerService_Insert_Req, CardIssuerService_Insert_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_CancelInsert(SpOnewayCallContext<CardIssuerService_CancelInsert_Info>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_Read(SpReqAnsContext<CardIssuerService_Read_Req, CardIssuerService_Read_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_Issue(SpReqAnsContext<CardIssuerService_Issue_Req, CardIssuerService_Issue_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_Capture(SpReqAnsContext<CardIssuerService_Capture_Req, CardIssuerService_Capture_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_Eject(SpReqAnsContext<CardIssuerService_Eject_Req, CardIssuerService_Eject_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_PreOnline(SpReqAnsContext<CardIssuerService_PreOnline_Req, CardIssuerService_PreOnline_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_PostOnline(SpReqAnsContext<CardIssuerService_PostOnline_Req, CardIssuerService_PostOnline_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void Handle_GetDevInfo(SpReqAnsContext<CardIssuerService_GetDevInfo_Req, CardIssuerService_GetDevInfo_Ans>::Pointer ctx)
|
|
|
- {
|
|
|
- /// override by user
|
|
|
- }
|
|
|
-
|
|
|
- virtual void OnRequest(CSmartPointer<ITransactionContext> 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 CardIssuerService_Method_Insert:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_Insert_Req,CardIssuerService_Insert_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_Insert_Req,CardIssuerService_Insert_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_Insert(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_CancelInsert:
|
|
|
- {
|
|
|
- SpOnewayCallContext<CardIssuerService_CancelInsert_Info>::Pointer ctx;
|
|
|
- ctx.Attach(new SpOnewayCallContext<CardIssuerService_CancelInsert_Info>());
|
|
|
- SpBuffer2Object(Buf, ctx->Info);
|
|
|
- Handle_CancelInsert(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Read:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_Read_Req,CardIssuerService_Read_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_Read_Req,CardIssuerService_Read_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_Read(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Issue:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_Issue_Req,CardIssuerService_Issue_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_Issue_Req,CardIssuerService_Issue_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_Issue(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Capture:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_Capture_Req,CardIssuerService_Capture_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_Capture_Req,CardIssuerService_Capture_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_Capture(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_Eject:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_Eject_Req,CardIssuerService_Eject_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_Eject_Req,CardIssuerService_Eject_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_Eject(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_PreOnline:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_PreOnline_Req,CardIssuerService_PreOnline_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_PreOnline_Req,CardIssuerService_PreOnline_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_PreOnline(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_PostOnline:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_PostOnline_Req,CardIssuerService_PostOnline_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_PostOnline_Req,CardIssuerService_PostOnline_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_PostOnline(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- case CardIssuerService_Method_GetDevInfo:
|
|
|
- {
|
|
|
- SpReqAnsContext<CardIssuerService_GetDevInfo_Req,CardIssuerService_GetDevInfo_Ans>::Pointer ctx;
|
|
|
- ctx.Attach(new SpReqAnsContext<CardIssuerService_GetDevInfo_Req,CardIssuerService_GetDevInfo_Ans>(pTransactionContext));
|
|
|
- SpBuffer2Object(Buf, ctx->Req);
|
|
|
- Handle_GetDevInfo(ctx);
|
|
|
- }
|
|
|
- break;
|
|
|
- default:
|
|
|
- assert(0);
|
|
|
- break;
|
|
|
- }
|
|
|
-
|
|
|
- } else {
|
|
|
- pTransactionContext->SendAnswer(Error);
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
-};
|
|
|
-///////////////////////////
|
|
|
-
|
|
|
-} // namespace CardIssuer
|
|
|
-
|
|
|
-
|
|
|
-#endif //__CARDISSUER_COMMON_H
|