diff -r 000000000000 -r 307788aac0a8 realtimenetprots/rtp/cfrtp/inc/rtpscpr.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/rtp/cfrtp/inc/rtpscpr.h Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,95 @@ +// Copyright (c) 2008-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: +// RTP SubConnection Provider class definition. +// +// + +/** + @file + @internalComponent +*/ + +#ifndef SYMBIAN_RTPSCPR_H +#define SYMBIAN_RTPSCPR_H + +#include +#include +#include + +#include +#include + + +#if defined(_DEBUG) || defined(__RTP_LOG_ACTIVE) +#define KRTPSCprTag KESockSubConnectionTag +_LIT8(KRTPSCprSubTag, "RtpScpr"); +#endif + +_LIT(KRtpScprPanic, "RtpScprPanic"); + +namespace RtpSCprStates + { + class TNoTagOrErrorTag; + class TCreateDataClient; + class TSetParameters; + class TRequestCommsBinder; + class TAwaitingBinderRequest; + } + +NONSHARABLE_CLASS(CRtpSubConnectionProvider) : public CCoreSubConnectionProvider +/** RTP Subconnection provider. Created as a result of CSubConRTPGenericParamSet + parameter setting on subconnection. + +@internalTechnology +*/ + { + friend class CRtpSubConnectionProviderFactory; + friend class RtpSCprStates::TNoTagOrErrorTag; + friend class RtpSCprStates::TCreateDataClient; + friend class RtpSCprStates::TSetParameters; + friend class RtpSCprStates::TRequestCommsBinder; + friend class RtpSCprStates::TAwaitingBinderRequest; + +public: + virtual ~CRtpSubConnectionProvider(); + inline ESock::RCFParameterFamilyBundle_const& GetLocalParameterBundle() + { + return iLocalParameterBundle; + } + ESock::RCFParameterFamilyBundle& GetOrCreateLocalParameterBundleL(); +protected: + //-==================================== + //Construction methods bundle - accessible thru the factory only + //-==================================== + CRtpSubConnectionProvider(ESock::CSubConnectionProviderFactoryBase& aFactory); + static CRtpSubConnectionProvider* NewL(ESock::CSubConnectionProviderFactoryBase& aFactory); + void ConstructL(); + + //-==================================== + //ACFNode overrides + //-==================================== + void Received(MeshMachine::TNodeContextBase& aContext); + void ReceivedL(const Messages::TRuntimeCtxId& aSender, const Messages::TNodeId& aRecipient, Messages::TSignatureBase& aMessage); + +private: + //RTP param stored here + TInt iRTPProtocolID; + TUid iRTPProtocolUiD; + TInt iServiceProtocolID; + RSubConnection::TSubConnType iSubConnType; + ESock::RCFParameterFamilyBundle iLocalParameterBundle; + }; + + +#endif //SYMBIAN_RTPSCPR_H