#ifndef __LOCALMEDIAPLAY_SERVER_G_H #define __LOCALMEDIAPLAY_SERVER_G_H #pragma once // This code is generated by spgen tool! #include "LocalMediaPlay_def_g.h" namespace LocalMediaPlay { class PlayService_ServerSessionBase : public CServerSessionBase { public: PlayService_ServerSessionBase() { /// override by user } virtual ~PlayService_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 PlayService_Method_StartPlayVideo: if (dwSignature == PlayService_MethodSignature_StartPlayVideo) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StartPlayAudio: if (dwSignature == PlayService_MethodSignature_StartPlayAudio) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StartPlayImage: if (dwSignature == PlayService_MethodSignature_StartPlayImage) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayVideo: if (dwSignature == PlayService_MethodSignature_StopPlayVideo) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayAudio: if (dwSignature == PlayService_MethodSignature_StopPlayAudio) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayImage: if (dwSignature == PlayService_MethodSignature_StopPlayImage) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_GetLocalVideoVolume: if (dwSignature == PlayService_MethodSignature_GetLocalVideoVolume) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_SetLocalVideoVolume: if (dwSignature == PlayService_MethodSignature_SetLocalVideoVolume) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_GetLocalAudioVolume: if (dwSignature == PlayService_MethodSignature_GetLocalAudioVolume) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_SetLocalAudioVolume: if (dwSignature == PlayService_MethodSignature_SetLocalAudioVolume) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StartPlayNotice: if (dwSignature == PlayService_MethodSignature_StartPlayNotice) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayNotice: if (dwSignature == PlayService_MethodSignature_StopPlayNotice) { bOverlap = true; } else { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayAllMedias: if (dwSignature == PlayService_MethodSignature_StopPlayAllMedias) { 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 PlayService_Method_StartPlayVideo: if (dwSignature != PlayService_MethodSignature_StartPlayVideo) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StartPlayAudio: if (dwSignature != PlayService_MethodSignature_StartPlayAudio) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StartPlayImage: if (dwSignature != PlayService_MethodSignature_StartPlayImage) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayVideo: if (dwSignature != PlayService_MethodSignature_StopPlayVideo) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayAudio: if (dwSignature != PlayService_MethodSignature_StopPlayAudio) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayImage: if (dwSignature != PlayService_MethodSignature_StopPlayImage) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_GetLocalVideoVolume: if (dwSignature != PlayService_MethodSignature_GetLocalVideoVolume) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_SetLocalVideoVolume: if (dwSignature != PlayService_MethodSignature_SetLocalVideoVolume) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_GetLocalAudioVolume: if (dwSignature != PlayService_MethodSignature_GetLocalAudioVolume) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_SetLocalAudioVolume: if (dwSignature != PlayService_MethodSignature_SetLocalAudioVolume) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StartPlayNotice: if (dwSignature != PlayService_MethodSignature_StartPlayNotice) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayNotice: if (dwSignature != PlayService_MethodSignature_StopPlayNotice) { Error = Error_MethodSignatureFailed; } break; case PlayService_Method_StopPlayAllMedias: if (dwSignature != PlayService_MethodSignature_StopPlayAllMedias) { Error = Error_MethodSignatureFailed; } break; default: Error = Error_MethodNotFound; break; } return Error; } virtual void Handle_StartPlayVideo(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StartPlayAudio(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StartPlayImage(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopPlayVideo(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopPlayAudio(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopPlayImage(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_GetLocalVideoVolume(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_SetLocalVideoVolume(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_GetLocalAudioVolume(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_SetLocalAudioVolume(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StartPlayNotice(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopPlayNotice(SpReqAnsContext::Pointer ctx) { /// override by user } virtual void Handle_StopPlayAllMedias(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 PlayService_Method_StartPlayVideo: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StartPlayVideo(ctx); } break; case PlayService_Method_StartPlayAudio: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StartPlayAudio(ctx); } break; case PlayService_Method_StartPlayImage: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StartPlayImage(ctx); } break; case PlayService_Method_StopPlayVideo: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopPlayVideo(ctx); } break; case PlayService_Method_StopPlayAudio: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopPlayAudio(ctx); } break; case PlayService_Method_StopPlayImage: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopPlayImage(ctx); } break; case PlayService_Method_GetLocalVideoVolume: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetLocalVideoVolume(ctx); } break; case PlayService_Method_SetLocalVideoVolume: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_SetLocalVideoVolume(ctx); } break; case PlayService_Method_GetLocalAudioVolume: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_GetLocalAudioVolume(ctx); } break; case PlayService_Method_SetLocalAudioVolume: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_SetLocalAudioVolume(ctx); } break; case PlayService_Method_StartPlayNotice: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StartPlayNotice(ctx); } break; case PlayService_Method_StopPlayNotice: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopPlayNotice(ctx); } break; case PlayService_Method_StopPlayAllMedias: { SpReqAnsContext::Pointer ctx; ctx.Attach(new SpReqAnsContext(pTransactionContext)); SpBuffer2Object(Buf, ctx->Req); pTransactionContext->GetLinkContext(ctx->link); EntityResource::setLink(ctx->link); Handle_StopPlayAllMedias(ctx); } break; default: assert(0); break; } } else { pTransactionContext->SendAnswer(Error); } } }; /////////////////////////// } // namespace LocalMediaPlay #endif // __LOCALMEDIAPLAY_SERVER_G_H