diff -r 000000000000 -r 307788aac0a8 realtimenetprots/sipfw/ClientResolver/Resolver/src/CSIPClientData.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/realtimenetprots/sipfw/ClientResolver/Resolver/src/CSIPClientData.cpp Tue Feb 02 01:03:15 2010 +0200 @@ -0,0 +1,192 @@ +// Copyright (c) 2006-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: +// Name : CSIPClientData.cpp +// Part of : SIP Client Resolver +// Version : 1.0 +// + + + +#include "CSIPClientData.h" +#include "CSIPFeatureSet.h" +#include "sdpdocument.h" +#include "sipheaderbase.h" + +// ----------------------------------------------------------------------------- +// CSIPClientData::NewL +// ----------------------------------------------------------------------------- +// +CSIPClientData* CSIPClientData::NewL( const TUid& aImplementationUid, + const TUid& aClientUid, + TBool aRomBased, + TBool aHasDynamicCapabilities ) + { + CSIPClientData* self = NewLC( aImplementationUid, aClientUid, + aRomBased, aHasDynamicCapabilities); + CleanupStack::Pop( self ); + return self; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::NewLC +// ----------------------------------------------------------------------------- +// +CSIPClientData* CSIPClientData::NewLC( const TUid& aImplementationUid, + const TUid& aClientUid, + TBool aRomBased, + TBool aHasDynamicCapabilities ) + { + CSIPClientData* self = + new( ELeave ) CSIPClientData( aImplementationUid, aClientUid, + aRomBased, aHasDynamicCapabilities ); + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::CSIPClientData +// ----------------------------------------------------------------------------- +// +CSIPClientData::CSIPClientData( const TUid& aImplementationUid, + const TUid& aClientUid, + TBool aRomBased, + TBool aHasDynamicCapabilities ) + : iImplementationUid( aImplementationUid ), + iClientUid( aClientUid ), + iRomBased( aRomBased ), + iHasDynamicCapabilities( aHasDynamicCapabilities ) + { + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::ConstructL +// ----------------------------------------------------------------------------- +// +void CSIPClientData::ConstructL() + { + iSdpDocument = CSdpDocument::NewL(); + iSIPFeatureSet = CSIPFeatureSet::NewL(); + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::~CSIPClientData +// ----------------------------------------------------------------------------- +// +CSIPClientData::~CSIPClientData() + { + iSIPHeaders.ResetAndDestroy(); + delete iSIPFeatureSet; + delete iSdpDocument; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::ClientUid +// ----------------------------------------------------------------------------- +// +const TUid& CSIPClientData::ClientUid() const + { + return iClientUid; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::RomBased +// ----------------------------------------------------------------------------- +// +TBool CSIPClientData::RomBased() const + { + return iRomBased; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::HasDynamicCapabilities +// ----------------------------------------------------------------------------- +// +TBool CSIPClientData::HasDynamicCapabilities() const + { + return iHasDynamicCapabilities; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::ImplementationUid +// ----------------------------------------------------------------------------- +// +const TUid& CSIPClientData::ImplementationUid() const + { + return iImplementationUid; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::AllowStarting +// ----------------------------------------------------------------------------- +// +TBool CSIPClientData::AllowStarting() const + { + return iAllowStarting; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::SIPHeaders +// ----------------------------------------------------------------------------- +// +RPointerArray< CSIPHeaderBase >& CSIPClientData::SIPHeaders() + { + return iSIPHeaders; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::SIPFeatureSet +// ----------------------------------------------------------------------------- +// +CSIPFeatureSet& CSIPClientData::SIPFeatureSet() + { + return *iSIPFeatureSet; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::SdpDocument +// ----------------------------------------------------------------------------- +// +CSdpDocument& CSIPClientData::SdpDocument() + { + return *iSdpDocument; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::SetAllowStarting +// ----------------------------------------------------------------------------- +// +void CSIPClientData::SetAllowStarting( TBool aAllowStarting ) + { + iAllowStarting = aAllowStarting; + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::AddMediaFieldL +// ----------------------------------------------------------------------------- +// +void CSIPClientData::AddMediaFieldL( CSdpMediaField* aMediaField ) + { + iSdpDocument->MediaFields().AppendL( aMediaField ); + } + +// ----------------------------------------------------------------------------- +// CSIPClientData::CloneWithoutCapabilitiesLC +// ----------------------------------------------------------------------------- +// +CSIPClientData* CSIPClientData::CloneWithoutCapabilitiesLC() + { + return CSIPClientData::NewLC( iImplementationUid, iClientUid, iRomBased, + iHasDynamicCapabilities ); + }