mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/src/mcemediastream.cpp
--- a/mmsharing/livecommsui/lcui/tsrc/mustester/Stubs/mceclientstub/src/mcemediastream.cpp Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,401 +0,0 @@
-/*
-* Copyright (c) 2005 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:
-*
-*/
-
-
-#include "mcemediastream.h"
-#include "mcesession.h"
-#include "mcemanager.h"
-#include "mcestreamobserver.h"
-#include "mcemediasource.h"
-#include "mcemediasink.h"
-
-
-
-// ============================ MEMBER FUNCTIONS ===============================
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::~CMceMediaStream
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMceMediaStream::~CMceMediaStream()
- {
- delete iMediaSDPLines;
-
- if ( iSource )
- {
- DeleteSource();
- }
-
- if ( iLinkOwner )
- {
- delete iLinkedStream;
- }
-
- while( iSinks.Count() > 0 )
- {
- DeleteSink( 0 );
- }
-
- iSinks.Reset();
- iSinks.Close();
-
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMceMediaStream::TState CMceMediaStream::State() const
- {
- return iState;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::Type
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TMceMediaType CMceMediaStream::Type() const
- {
- return iType;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::SetMediaAttributeLinesL(
- CDesC8Array* aMediaSDPLines )
- {
- delete iMediaSDPLines;
- iMediaSDPLines = aMediaSDPLines;
- }
-
-// -----------------------------------------------------------------------------
-//
-// -----------------------------------------------------------------------------
-//
-EXPORT_C MDesC8Array* CMceMediaStream::MediaAttributeLinesL()
- {
- if ( iMediaSDPLines )
- {
- CDesC8Array* array = new ( ELeave ) CDesC8ArrayFlat( 1 );
- CleanupStack::PushL( array );
- for ( TInt i = 0; i < iMediaSDPLines->Count(); ++i )
- {
- array->AppendL( iMediaSDPLines->MdcaPoint(i) );
- }
- CleanupStack::Pop( array );
- return array;
- }
-
- return NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::SetStartMediaPort
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::SetLocalMediaPortL( TUint aLocalMediaPort )
- {
- iLocalMediaPort = aLocalMediaPort;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::StartMediaPort
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TUint CMceMediaStream::LocalMediaPort() const
- {
- return iLocalMediaPort;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::Session
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMceSession* CMceMediaStream::Session() const
- {
- return iSession;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::EnableL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::EnableL()
- {
- iIsEnabled = ETrue;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::DisableL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::DisableL()
- {
- iIsEnabled = EFalse;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::IsEnabled
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMceMediaStream::IsEnabled() const
- {
- return iIsEnabled;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::SetSourceL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::SetSourceL( CMceMediaSource* aSource )
- {
- if ( aSource )
- {
- aSource->ReferenceCount()++;
- }
-
- if ( iSource )
- {
- DeleteSource();
- }
- iSource = aSource;
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::AddSinkL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::AddSinkL( CMceMediaSink* aSink )
- {
- __ASSERT_ALWAYS( aSink, User::Leave( KErrArgument ) );
- iSinks.AppendL( aSink );
- aSink->ReferenceCount()++;
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::Source
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMceMediaSource* CMceMediaStream::Source() const
- {
- return iSource;
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::Sinks
-// -----------------------------------------------------------------------------
-//
-EXPORT_C const RPointerArray<CMceMediaSink>& CMceMediaStream::Sinks() const
- {
- return iSinks;
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::RemoveSinkL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::RemoveSinkL( CMceMediaSink& aSink )
- {
- for ( TInt i = 0; i < iSinks.Count(); i++ )
- {
- if ( iSinks[i] == &aSink )
- {
- DeleteSink( i );
- iSinks.Compress();
- return;
- }
- }
- User::Leave( KErrNotFound );
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::BindL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C void CMceMediaStream::BindL( CMceMediaStream* aStream )
- {
-
- __ASSERT_ALWAYS( !(! iLinkOwner &&
- iLinkedStream ),
- User::Leave( KErrArgument ) );
-
- if ( aStream )
- {
- iLinkOwner = ETrue;
- aStream->DoBindL( this );
- DoBindL( aStream );
- }
- else
- {
- iLinkOwner = EFalse;
- delete iLinkedStream;
- iLinkedStream = NULL;
- }
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::BoundStreamL
-// -----------------------------------------------------------------------------
-//
-EXPORT_C CMceMediaStream& CMceMediaStream::BoundStreamL() const
- {
- __ASSERT_ALWAYS( iLinkedStream , User::Leave( KErrNotFound ) );
-
- return *iLinkedStream;
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::BoundStream
-// -----------------------------------------------------------------------------
-//
-EXPORT_C TBool CMceMediaStream::BoundStream() const
- {
- return iLinkedStream != NULL;
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::Binder
-// -----------------------------------------------------------------------------
-//
-TBool CMceMediaStream::Binder() const
- {
- return iLinkOwner;
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::InitializeL
-// -----------------------------------------------------------------------------
-//
-void CMceMediaStream::InitializeL( CMceSession& aParent )
- {
- iSession = &aParent;
-
- if ( Binder() && BoundStream() )
- {
- iLinkedStream->InitializeL( aParent );
- }
-
- if ( iSource )
- {
- iSource->InitializeL( *this );
- }
-
- for( TInt i = 0; i < iSinks.Count();i++)
- {
- iSinks[i]->InitializeL( *this );
- }
-
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::InitializeL
-// -----------------------------------------------------------------------------
-//
-void CMceMediaStream::InitializeL( CMceManager* aManager )
- {
- if ( Binder() && BoundStream() )
- {
- iLinkedStream->InitializeL( aManager );
- }
-
- if ( iSource )
- {
- iSource->InitializeL( aManager );
- }
-
- for( TInt i = 0; i < iSinks.Count();i++)
- {
- iSinks[i]->InitializeL( aManager );
- }
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::CMceMediaStream
-// -----------------------------------------------------------------------------
-//
-CMceMediaStream::CMceMediaStream()
- :iLinkedStream( NULL ),
- iSource( NULL ),
- iLinkOwner( EFalse ),
- iIsEnabled( ETrue ),
- iState( CMceMediaStream::EUninitialized )
- {
- }
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::DeleteSink
-// -----------------------------------------------------------------------------
-//
-void CMceMediaStream::DeleteSink( TInt aIndex )
- {
-
- iSinks[ aIndex ]->ReferenceCount()--;
- if ( iSinks[ aIndex ]->ReferenceCount() == 0 )
- {
- delete iSinks[ aIndex ];
- }
- iSinks.Remove( aIndex );
-
- }
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::DeleteSource
-// -----------------------------------------------------------------------------
-//
-void CMceMediaStream::DeleteSource()
- {
- iSource->ReferenceCount()--;
- if ( iSource->ReferenceCount() == 0 )
- {
- delete iSource;
- }
- iSource = NULL;
- }
-
-
-
-// -----------------------------------------------------------------------------
-// CMceMediaStream::DoBindL
-// -----------------------------------------------------------------------------
-//
-void CMceMediaStream::DoBindL( CMceMediaStream* aStream )
- {
- if ( Session() )
- {
- aStream->InitializeL( *Session() );
- }
- delete iLinkedStream;
- iLinkedStream = aStream;
- }