#ifndef __UPGRADEMANAGER_SERVER_G_H #define __UPGRADEMANAGER_SERVER_G_H #pragma once // This code is generated by spgen tool! #include "UpgradeManager_def_g.h" namespace UpgradeManager { class UpgradeMgrService_ServerSessionBase : public CServerSessionBase { public: UpgradeMgrService_ServerSessionBase() { /// override by user } virtual ~UpgradeMgrService_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 UpgradeMgrService_Method_GetUpgradeState: if (dwSignature == UpgradeMgrService_MethodSignature_GetUpgradeState) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_RegistLocalPack: if (dwSignature == UpgradeMgrService_MethodSignature_RegistLocalPack) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_CancelUpdate: if (dwSignature == UpgradeMgrService_MethodSignature_CancelUpdate) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_RollbackUpdate: if (dwSignature == UpgradeMgrService_MethodSignature_RollbackUpdate) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_SwitchUpgrade: if (dwSignature == UpgradeMgrService_MethodSignature_SwitchUpgrade) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_RegistManualPack: if (dwSignature == UpgradeMgrService_MethodSignature_RegistManualPack) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_GetManualPacks: if (dwSignature == UpgradeMgrService_MethodSignature_GetManualPacks) { 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 UpgradeMgrService_Method_GetUpgradeState: if (dwSignature != UpgradeMgrService_MethodSignature_GetUpgradeState) { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_RegistLocalPack: if (dwSignature != UpgradeMgrService_MethodSignature_RegistLocalPack) { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_CancelUpdate: if (dwSignature != UpgradeMgrService_MethodSignature_CancelUpdate) { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_RollbackUpdate: if (dwSignature != UpgradeMgrService_MethodSignature_RollbackUpdate) { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_SwitchUpgrade: if (dwSignature != UpgradeMgrService_MethodSignature_SwitchUpgrade) { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_RegistManualPack: if (dwSignature != UpgradeMgrService_MethodSignature_RegistManualPack) { Error = Error_MethodSignatureFailed; } break; case UpgradeMgrService_Method_GetManualPacks: if (dwSignature != UpgradeMgrService_MethodSignature_GetManualPacks) { Error = Error_MethodSignatureFailed; } break; default: Error = Error_MethodNotFound; break; } return Error; } virtual void Handle_GetUpgradeState(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_RegistLocalPack(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CancelUpdate(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_RollbackUpdate(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_SwitchUpgrade(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_RegistManualPack(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_GetManualPacks(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 UpgradeMgrService_Method_GetUpgradeState: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetUpgradeState(ctx); } break; case UpgradeMgrService_Method_RegistLocalPack: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_RegistLocalPack(ctx); } break; case UpgradeMgrService_Method_CancelUpdate: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CancelUpdate(ctx); } break; case UpgradeMgrService_Method_RollbackUpdate: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_RollbackUpdate(ctx); } break; case UpgradeMgrService_Method_SwitchUpgrade: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_SwitchUpgrade(ctx); } break; case UpgradeMgrService_Method_RegistManualPack: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_RegistManualPack(ctx); } break; case UpgradeMgrService_Method_GetManualPacks: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetManualPacks(ctx); } break; default: assert(0); break; } } else { pTransactionContext->SendAnswer(Error); } } }; /////////////////////////// } // namespace UpgradeManager #endif // __UPGRADEMANAGER_SERVER_G_H