diff -r 000000000000 -r dfb7c4ff071f datacommsserver/esockserver/inc/ss_mmnode_subsess.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/datacommsserver/esockserver/inc/ss_mmnode_subsess.h Thu Dec 17 09:22:25 2009 +0200 @@ -0,0 +1,69 @@ +/** +* Copyright (c) 2005-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: +* base class for mesh-machine based ESock sub-sessions +* THIS API IS INTERNAL TO NETWORKING AND IS SUBJECT TO CHANGE AND NOT FOR EXTERNAL USE +* +* +*/ + + + +/** + @file + @internalTechnology +*/ + +#ifndef _SS_MMNODE_SUBSESS_H_ +#define _SS_MMNODE_SUBSESS_H_ + +#include +#include + +namespace ESock +{ + +//base class for mesh-machine based subsessions +class CMMSockSubSession : public CSockSubSession, + public ACFMMNodeIdBase + { +protected: + CMMSockSubSession(const MeshMachine::TNodeActivityMap& aActivityMap, CSockSession* aSession, CPlayer* aPlayer, const TSubSessionUniqueId aSubSessionUniqueId) + : CSockSubSession(aSession, aPlayer, aSubSessionUniqueId), + ACFMMNodeIdBase(aActivityMap) + { + } + + virtual void HandleMessageReturnValue(MeshMachine::TNodeContextBase& aContext); + void ConstructL(); + + virtual void CommsApiExtBindIfaceL(const RMessage2& aMessage); + virtual void CommsApiExtIfaceSendReceiveL(const RMessage2& aMessage); + virtual void CloseExtensionInterface(const RMessage2& aMessage); + virtual void CancelAndCloseAllClientExtIfaces(); + +public: + void ReceivedL(TUint16 aIpcId, const Messages::TSignatureBase& aCFMessage); //Very useful function not to have to construct a message on the stack + virtual Messages::RNodeInterface* ServiceProvider() const + { + return ACFMMNodeIdBase::ServiceProvider(); + } + }; + +} //namespace Esock + + +#endif +//_SS_MMNODE_SUBSESS_H_ +