diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/inc/ss_msgs.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/inc/ss_msgs.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,170 @@ +// Copyright (c) 2004-2009 Nokia Corporation and/or its subsidiary(-ies). +// All rights reserved. +// This component and the accompanying materials are made available +// under the terms of "Eclipse Public License v1.0" +// which accompanies this distribution, and is available +// at the URL "http://www.eclipse.org/legal/epl-v10.html". +// +// Initial Contributors: +// Nokia Corporation - initial contribution. +// +// Contributors: +// +// Description: +// + +/** + @file + @internalComponent +*/ + +#if !defined(__SS_MSGS_H__) +#define __SS_MSGS_H__ + +#include +//#include + +namespace ESock +{ + class RTierThreadMap; +} + +/** +@class TWorkerCookiesMsg +*/ +class TWorkerCookiesMsg : public Den::TWorkerMsg + { +public: + enum {KCode = Den::TWorkerMsg::EWorkerCookies};//< Message code + inline TWorkerCookiesMsg ( + const Messages::TNodeId& aDataPlaneFC, + const Messages::TNodeId& aSubConnPlaneFC, + const Messages::TNodeId& aConnPlaneFC, + const Messages::TNodeId& aMetaConnPlaneFC, + const Messages::TNodeId& aTierManagerFC + ) + : Den::TWorkerMsg(KCode) + { + TParams* params=reinterpret_cast(ParamBlock()); + Mem::FillZ(params, sizeof(TParams)); + params->iDataPlaneFC = aDataPlaneFC; + params->iSubConnPlaneFC = aSubConnPlaneFC; + params->iConnPlaneFC = aConnPlaneFC; + params->iMetaConnPlaneFC = aMetaConnPlaneFC; + params->iTierManagerFC = aTierManagerFC; + } + + inline const Messages::TNodeId& DataPlaneFC() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iDataPlaneFC; + } + inline const Messages::TNodeId& SubConnPlaneFC() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iSubConnPlaneFC; + } + inline const Messages::TNodeId& ConnPlaneFC() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iConnPlaneFC; + } + inline const Messages::TNodeId& MetaConnPlaneFC() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iMetaConnPlaneFC; + } + inline const Messages::TNodeId& TierManagerFC() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iTierManagerFC; + } +private: + struct TParams /** Message parameters */ + { + // Cookies for plane factory containers (only filled by threads containing a Player) + Messages::TNodeId iTierManagerFC; + Messages::TNodeId iMetaConnPlaneFC; + Messages::TNodeId iConnPlaneFC; + Messages::TNodeId iSubConnPlaneFC; + Messages::TNodeId iDataPlaneFC; + }; + + __ASSERT_COMPILE(sizeof(TParams) <= CommsFW::KCFMessageParamBlockSize); + }; + +/** +@class TWorkerLoadTierMappings +@see TWorkerMsg::ELoadTierMappings +*/ +class TWorkerLoadTierMappings : public Den::TWorkerMsg + { +public: + enum {KCode = TWorkerMsg::ELoadTierMappings};/**Message code*/ + inline TWorkerLoadTierMappings() + : Den::TWorkerMsg(KCode) + { + } + }; + +/** +@class TWorkerTierMappingsLoaded +@see TWorkerMsg::ETierMappingsLoaded +*/ +class TWorkerTierMappingsLoaded : public Den::TWorkerMsg + { +public: + enum {KCode = TWorkerMsg::ETierMappingsLoaded};/**Message code*/ + + inline TWorkerTierMappingsLoaded(ESock::RTierThreadMap* aTierMap) + : Den::TWorkerMsg(KCode) + { + TParams* params=reinterpret_cast(ParamBlock()); + params->iTierMap = aTierMap; + } + + inline const ESock::RTierThreadMap* TierMap() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iTierMap; + } + +private: + struct TParams /** Message parameters */ + { + ESock::RTierThreadMap* iTierMap; + }; + }; + + +class TBrokerIntroductionMsg : public Den::TWorkerMsg + { +public: + enum {KCode = Den::TWorkerMsg::EBrokerIntroduction}; + + inline TBrokerIntroductionMsg (const Messages::TNodeId& aBrokerId) + : Den::TWorkerMsg(KCode) + { + TParams* params=reinterpret_cast(ParamBlock()); + Mem::FillZ(params, sizeof(TParams)); + params->iBrokerId = aBrokerId; + } + + inline const Messages::TNodeId& BrokerId() const + { + const TParams* params = reinterpret_cast(ParamBlock()); + return params->iBrokerId; + } + +private: + // Message parameters + struct TParams + { + Messages::TNodeId iBrokerId; + }; + + __ASSERT_COMPILE(sizeof(TParams) <= CommsFW::KCFMessageParamBlockSize); + }; + +#endif +