diff -r 000000000000 -r 1bce908db942 natfw/natfwicecandidatehandler/src/cicestreamcollection.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/natfw/natfwicecandidatehandler/src/cicestreamcollection.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,139 @@ +/* +* Copyright (c) 2006-2007 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: Represents stream collection. +* +*/ + + + + +#include "cicestreamcollection.h" +#include "icecandidatehandlerlogs.h" + +// ======== MEMBER FUNCTIONS ======== + +CIceStreamCollection::CIceStreamCollection( TUint aCollectionId ) + : + iCollectionId( aCollectionId ) + { + __ICEDP( "CIceStreamCollection::CIceStreamCollection" ) + } + + +CIceStreamCollection* CIceStreamCollection::NewL( TUint aCollectionId ) + { + __ICEDP( "CIceStreamCollection::NewL" ) + + CIceStreamCollection* self + = CIceStreamCollection::NewLC( aCollectionId ); + CleanupStack::Pop( self ); + + return self; + } + + +CIceStreamCollection* CIceStreamCollection::NewLC( TUint aCollectionId ) + { + __ICEDP( "CIceStreamCollection::NewLC" ) + + CIceStreamCollection* self + = new( ELeave ) CIceStreamCollection( aCollectionId ); + CleanupStack::PushL( self ); + + return self; + } + + +CIceStreamCollection::~CIceStreamCollection() + { + __ICEDP( "CIceStreamCollection::~CIceStreamCollection" ) + + iMediaComponents.Close(); + } + + +// --------------------------------------------------------------------------- +// CIceStreamCollection::StreamCollectionId +// --------------------------------------------------------------------------- +// +TUint CIceStreamCollection::StreamCollectionId() const + { + __ICEDP( "CIceStreamCollection::StreamCollectionId" ) + + return iCollectionId; + } + + +// --------------------------------------------------------------------------- +// CIceStreamCollection::AddMediaComponentL +// --------------------------------------------------------------------------- +// +void CIceStreamCollection::AddMediaComponentL( TUint aStreamId, + TUint aComponentId ) + { + __ICEDP( "CIceStreamCollection::AddMediaComponentL" ) + + TIceMediaComponent item = TIceMediaComponent( aStreamId, aComponentId ); + TInt ind( iMediaComponents.Find( item ) ); + __ASSERT_DEBUG( KErrNotFound == ind, User::Leave( KErrAlreadyExists ) ); + + iMediaComponents.AppendL( item ); + } + + +// --------------------------------------------------------------------------- +// CIceStreamCollection::RemoveMediaComponent +// --------------------------------------------------------------------------- +// +void CIceStreamCollection::RemoveMediaComponent( TUint aStreamId ) + { + __ICEDP( "CIceStreamCollection::RemoveMediaComponent" ) + + for ( TInt i( iMediaComponents.Count() - 1 ); i >= 0; --i ) + { + if ( iMediaComponents[i].StreamId() == aStreamId ) + { + iMediaComponents.Remove( i ); + } + } + } + + +// --------------------------------------------------------------------------- +// CIceStreamCollection::HasMediaComponent +// --------------------------------------------------------------------------- +// +TBool CIceStreamCollection::HasMediaComponent( TUint aStreamId ) const + { + TInt count( iMediaComponents.Count() ); + for ( TInt i( 0 ); i < count; ++i ) + { + if ( iMediaComponents[i].StreamId() == aStreamId ) + { + return ETrue; + } + } + + return EFalse; + } + + +// --------------------------------------------------------------------------- +// CIceStreamCollection::NumOfMediaComponents +// --------------------------------------------------------------------------- +// +TInt CIceStreamCollection::NumOfMediaComponents() const + { + return iMediaComponents.Count(); + }