#ifndef __RESOURCEWATCHER_SERVER_G_H #define __RESOURCEWATCHER_SERVER_G_H #pragma once // This code is generated by spgen tool! #include "ResourceWatcher_def_g.h" namespace ResourceWatcher { class ResourceWatcherService_ServerSessionBase : public CServerSessionBase { public: ResourceWatcherService_ServerSessionBase() { /// override by user } virtual ~ResourceWatcherService_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 ResourceWatcherService_Method_GetDevInfo: if (dwSignature == ResourceWatcherService_MethodSignature_GetDevInfo) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_OperateFile: if (dwSignature == ResourceWatcherService_MethodSignature_OperateFile) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_CheckNetType: if (dwSignature == ResourceWatcherService_MethodSignature_CheckNetType) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_GetBizLinks: if (dwSignature == ResourceWatcherService_MethodSignature_GetBizLinks) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_BizLinkDetect: if (dwSignature == ResourceWatcherService_MethodSignature_BizLinkDetect) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_GetThirdPartyInstallState: if (dwSignature == ResourceWatcherService_MethodSignature_GetThirdPartyInstallState) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_InstallThirdPartyProgram: if (dwSignature == ResourceWatcherService_MethodSignature_InstallThirdPartyProgram) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_UninstallThirdPartyProgram: if (dwSignature == ResourceWatcherService_MethodSignature_UninstallThirdPartyProgram) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_RestartThirdPartyProgram: if (dwSignature == ResourceWatcherService_MethodSignature_RestartThirdPartyProgram) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_ProcessDetectThirdPartyProgram: if (dwSignature == ResourceWatcherService_MethodSignature_ProcessDetectThirdPartyProgram) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_FilesClean: if (dwSignature == ResourceWatcherService_MethodSignature_FilesClean) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_FetchSystemSnapshot: if (dwSignature == ResourceWatcherService_MethodSignature_FetchSystemSnapshot) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_CheckIsFileExists: if (dwSignature == ResourceWatcherService_MethodSignature_CheckIsFileExists) { 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 ResourceWatcherService_Method_GetDevInfo: if (dwSignature != ResourceWatcherService_MethodSignature_GetDevInfo) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_OperateFile: if (dwSignature != ResourceWatcherService_MethodSignature_OperateFile) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_CheckNetType: if (dwSignature != ResourceWatcherService_MethodSignature_CheckNetType) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_GetBizLinks: if (dwSignature != ResourceWatcherService_MethodSignature_GetBizLinks) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_BizLinkDetect: if (dwSignature != ResourceWatcherService_MethodSignature_BizLinkDetect) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_GetThirdPartyInstallState: if (dwSignature != ResourceWatcherService_MethodSignature_GetThirdPartyInstallState) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_InstallThirdPartyProgram: if (dwSignature != ResourceWatcherService_MethodSignature_InstallThirdPartyProgram) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_UninstallThirdPartyProgram: if (dwSignature != ResourceWatcherService_MethodSignature_UninstallThirdPartyProgram) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_RestartThirdPartyProgram: if (dwSignature != ResourceWatcherService_MethodSignature_RestartThirdPartyProgram) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_ProcessDetectThirdPartyProgram: if (dwSignature != ResourceWatcherService_MethodSignature_ProcessDetectThirdPartyProgram) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_FilesClean: if (dwSignature != ResourceWatcherService_MethodSignature_FilesClean) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_FetchSystemSnapshot: if (dwSignature != ResourceWatcherService_MethodSignature_FetchSystemSnapshot) { Error = Error_MethodSignatureFailed; } break; case ResourceWatcherService_Method_CheckIsFileExists: if (dwSignature != ResourceWatcherService_MethodSignature_CheckIsFileExists) { Error = Error_MethodSignatureFailed; } break; default: Error = Error_MethodNotFound; break; } return Error; } virtual void Handle_GetDevInfo(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_OperateFile(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CheckNetType(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_GetBizLinks(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_BizLinkDetect(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_GetThirdPartyInstallState(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_InstallThirdPartyProgram(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_UninstallThirdPartyProgram(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_RestartThirdPartyProgram(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_ProcessDetectThirdPartyProgram(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_FilesClean(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_FetchSystemSnapshot(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_CheckIsFileExists(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 ResourceWatcherService_Method_GetDevInfo: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetDevInfo(ctx); } break; case ResourceWatcherService_Method_OperateFile: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_OperateFile(ctx); } break; case ResourceWatcherService_Method_CheckNetType: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CheckNetType(ctx); } break; case ResourceWatcherService_Method_GetBizLinks: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetBizLinks(ctx); } break; case ResourceWatcherService_Method_BizLinkDetect: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_BizLinkDetect(ctx); } break; case ResourceWatcherService_Method_GetThirdPartyInstallState: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetThirdPartyInstallState(ctx); } break; case ResourceWatcherService_Method_InstallThirdPartyProgram: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_InstallThirdPartyProgram(ctx); } break; case ResourceWatcherService_Method_UninstallThirdPartyProgram: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_UninstallThirdPartyProgram(ctx); } break; case ResourceWatcherService_Method_RestartThirdPartyProgram: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_RestartThirdPartyProgram(ctx); } break; case ResourceWatcherService_Method_ProcessDetectThirdPartyProgram: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_ProcessDetectThirdPartyProgram(ctx); } break; case ResourceWatcherService_Method_FilesClean: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_FilesClean(ctx); } break; case ResourceWatcherService_Method_FetchSystemSnapshot: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_FetchSystemSnapshot(ctx); } break; case ResourceWatcherService_Method_CheckIsFileExists: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_CheckIsFileExists(ctx); } break; default: assert(0); break; } } else { pTransactionContext->SendAnswer(Error); } } }; /////////////////////////// } // namespace ResourceWatcher #endif // __RESOURCEWATCHER_SERVER_G_H