diff -r 000000000000 -r 1bce908db942 natfw/natfwstunplugin/tsrc/ut_cnatfwstunplugin/stubs/cncmstream_stub.cpp --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/natfw/natfwstunplugin/tsrc/ut_cnatfwstunplugin/stubs/cncmstream_stub.cpp Tue Feb 02 01:04:58 2010 +0200 @@ -0,0 +1,405 @@ +/* +* 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: Connection multiplexer stream abstraction. +* +*/ + + + + + +#include "cncmstream.h" +#include "ncmconnectionmultiplexerlogs.h" +#include "ncmconnectionmultiplexerassert.h" +#include "natfwmediawrapper.h" +#include "cncmconnectionobserverhandler.h" +#include "cncmconnection.h" + +const TUint KFirstConnectionId = 1; + +// --------------------------------------------------------------------------- +// CNcmStream::CNcmStream +// --------------------------------------------------------------------------- +// +CNcmStream::CNcmStream( TUint aSessionId, + TUint aStreamId, TInt aQos, TUint aProtocol ): + iSessionId( aSessionId ), iStreamId( aStreamId ), iQos( aQos ), + iStreamProtocol( aProtocol ), + iNextConnectionId( KFirstConnectionId ), + iMediaConnectionId( 0 ) + { + } + + +// --------------------------------------------------------------------------- +// CNcmStream::NewL +// --------------------------------------------------------------------------- +// +CNcmStream* CNcmStream::NewL( TUint aSessionId, + TUint aStreamId, TInt aQos, TUint aProtocol ) + { + __CONNECTIONMULTIPLEXER( "CNcmStream::NewL" ) + + CNcmStream* self = + CNcmStream::NewLC( aSessionId, aStreamId, aQos, aProtocol ); + + CleanupStack::Pop( self ); + return self; + } + + +// --------------------------------------------------------------------------- +// CNcmStream::NewLC +// --------------------------------------------------------------------------- +// +CNcmStream* CNcmStream::NewLC( TUint aSessionId, + TUint aStreamId, TInt aQos, TUint aProtocol ) + { + __CONNECTIONMULTIPLEXER( "CNcmStream::NewLC" ) + + CNcmStream* self = + new( ELeave ) CNcmStream( aSessionId, aStreamId, aQos, aProtocol ); + + CleanupStack::PushL( self ); + self->ConstructL(); + return self; + } + +// --------------------------------------------------------------------------- +// CNcmStream::ConstructL +// --------------------------------------------------------------------------- +// +void CNcmStream::ConstructL() + { + /* + iConnectionObserverHandler = + CNcmConnectionObserverHandler::NewL(); + */ + } + +// --------------------------------------------------------------------------- +// CNcmStream::~CNcmStream +// --------------------------------------------------------------------------- +// +CNcmStream::~CNcmStream() + { + /* + __CONNECTIONMULTIPLEXER_INT1( + "CNcmStream::~CNcmStream, CONN_COUNT: ", + iConnections.Count() ) + + TInt ind( KErrNotFound ); + while ( KErrNotFound != ( ind = iConnections.Count() - 1 ) ) + { + TUint connectionId = iConnections[ind]->ConnectionId(); + + delete iConnections[ind]; + iConnections.Remove( ind ); + + if ( iConnectionObserverHandler ) + { + iConnectionObserverHandler->ConnectionNotify( iStreamId, + connectionId, EMultiplexerConnectionRemoved, KErrNone ); + } + } + iConnections.Close(); + + if ( iWrapper ) + { + iWrapper->Close(); + } + + iWrapper = NULL; + delete iConnectionObserverHandler; + */ + } +/* +// --------------------------------------------------------------------------- +// CNcmStream::CreateConnectionL +// --------------------------------------------------------------------------- +// +TUint CNcmStream::CreateConnectionL( + MNcmMultiplexerConnectionObserver& aObserver, + CNcmConnectionObserverHandler& + aConnectionObserverHandler ) + { + CNcmConnection* multiplexer( + CNcmConnection::NewL( iSessionId, iStreamId, + iNextConnectionId, iLocalAddr, aObserver, + aConnectionObserverHandler ) ); + + CleanupStack::PushL( multiplexer ); + + iConnections.AppendL( multiplexer ); + + iNextConnectionId++; + CleanupStack::Pop( multiplexer ); + return multiplexer->ConnectionId(); + } + +// --------------------------------------------------------------------------- +// CNcmStream::RemoveConnectionL +// --------------------------------------------------------------------------- +// +void CNcmStream::RemoveConnectionL( TUint aConnectionId ) + { + __CONNECTIONMULTIPLEXER_INT1( + "CNcmStream::Remove - RemoveConnectionL: ", aConnectionId ) + + TInt count( iConnections.Count() ); + TBool found( EFalse ); + + for ( TInt i = 0; i < count; i++ ) + { + if ( iConnections[i]->ConnectionId() == aConnectionId ) + { + delete iConnections[i]; + iConnections.Remove( i ); + found = ETrue; + break; + } + } + + if ( !found ) + { + User::Leave( KErrNotFound ); + } + } +*/ +// --------------------------------------------------------------------------- +// CNcmStream::StreamId +// --------------------------------------------------------------------------- +// +TUint CNcmStream::StreamId() const + { + return iStreamId; + } + +/* +// --------------------------------------------------------------------------- +// CNcmStream::Qos +// --------------------------------------------------------------------------- +// +TInt CNcmStream::Qos() const + { + return iQos; + } + + +// --------------------------------------------------------------------------- +// CNcmStream::SetQos +// --------------------------------------------------------------------------- +// +void CNcmStream::SetQos( TInt aQos ) + { + __CONNECTIONMULTIPLEXER_INT1( "CNcmStream::SetQos - aQos: ", aQos ) + + iQos = aQos; + } + +// --------------------------------------------------------------------------- +// CNcmStream::ConnectionL +// --------------------------------------------------------------------------- +// +CNcmConnection* CNcmStream::ConnectionL( + TUint aConnectionId ) + { + __CONNECTIONMULTIPLEXER_INT1( + "CNcmStream::ConnectionL - aConnectionId: ", aConnectionId ) + + TInt count( iConnections.Count() ); + + for ( TInt i = 0; i < count; i++ ) + { + if ( iConnections[i]->ConnectionId() == aConnectionId ) + { + return iConnections[i]; + } + } + User::Leave( KErrNotFound ); +#ifndef _DEBUG_EUNIT + return NULL; +#endif + } + + +// --------------------------------------------------------------------------- +// CNcmStream::RegisterWrapperL +// --------------------------------------------------------------------------- +// +void CNcmStream::RegisterWrapperL( + MNATFWMediaWrapper* aWrapper ) + { + __CONNECTIONMULTIPLEXER( + "CNcmStream::RegisterWrapperL" ) + __CONNECTIONMULTIPLEXER_ASSERT_L( NULL != aWrapper, KErrArgument ); + __CONNECTIONMULTIPLEXER_ASSERT_L( NULL == iWrapper, KErrAlreadyExists ); + + iWrapper = aWrapper; + } + + +// --------------------------------------------------------------------------- +// CNcmStream::WrapperL +// --------------------------------------------------------------------------- +// +MNATFWMediaWrapper& CNcmStream::WrapperL() + { + __CONNECTIONMULTIPLEXER( "CNcmStream::WrapperL" ) + __CONNECTIONMULTIPLEXER_ASSERT_L( NULL != iWrapper, KErrNotReady ); + + return *iWrapper; + } + + +// --------------------------------------------------------------------------- +// CNcmStream::StreamProtocol +// --------------------------------------------------------------------------- +// +TUint CNcmStream::StreamProtocol() const + { + __CONNECTIONMULTIPLEXER( + "CNcmStream::StreamProtocol" ) + + return iStreamProtocol; + } + + +// --------------------------------------------------------------------------- +// CNcmStream::SetStreamProtocol +// --------------------------------------------------------------------------- +// +void CNcmStream::SetStreamProtocol( + TUint aProtocol ) + { + __CONNECTIONMULTIPLEXER( + "CNcmStream::SetStreamProtocol" ) + + iStreamProtocol = aProtocol; + } + +// --------------------------------------------------------------------------- +// SetPendingDefaultConnection +// --------------------------------------------------------------------------- +// +TUint CNcmStream::DefaultConnectionId() const + { + __CONNECTIONMULTIPLEXER( + "CNcmStream::DefaultConnectionId ") + + return iDefaultConnectionId; + } +*/ +// --------------------------------------------------------------------------- +// CNcmStream::SetLocalAddr +// --------------------------------------------------------------------------- +// +/*void CNcmStream::SetLocalAddr( const TInetAddr& aLocalAddr ) + { + iLocalAddr = aLocalAddr; + iLocalAddr.SetPort( aLocalAddr.Port() ); + } */ + +// --------------------------------------------------------------------------- +// CNcmStream::LocalAddress +// --------------------------------------------------------------------------- +// +/*TInetAddr& CNcmStream::LocalAddress() + { + return iLocalAddr; + }*/ +/* +// --------------------------------------------------------------------------- +// CNcmStream::Port() +// --------------------------------------------------------------------------- +// +TUint CNcmStream::Port() const + { + return iLocalAddr.Port(); + } + +// --------------------------------------------------------------------------- +// CNcmStream::SetPort() +// --------------------------------------------------------------------------- +// +void CNcmStream::SetPort( TUint aPort ) + { + iLocalAddr.SetPort( aPort ); + } + +// ----------------------------------------------------------------------------- +// CNcmStream::ConnectionObserverHandler +// ----------------------------------------------------------------------------- +// +CNcmConnectionObserverHandler& + CNcmStream::ConnectionObserverHandler() + { + return *iConnectionObserverHandler; + } + +// --------------------------------------------------------------------------- +// CNcmStream::ConnectionIdByDestinationAddressL( +// --------------------------------------------------------------------------- +// +CNcmConnection* + CNcmStream::ConnectionByDestinationAddressL( + const TInetAddr& aDestinationAddress ) + { + __CONNECTIONMULTIPLEXER( + "CNcmStream::ConnectionByDestinationAddressL" ) + + TInt ind( iConnections.Count() ); + + while ( ind-- ) + { + if ( iConnections[ind]->Destination()-> + CheckSenderValidityToSending( aDestinationAddress ) ) + { + return iConnections[ind]; + } + } + + User::Leave( KErrNotFound ); +#ifndef _DEBUG_EUNIT + return NULL; +#endif + } + +// --------------------------------------------------------------------------- +// CNcmStream::RegisterMediaSourceL +// --------------------------------------------------------------------------- +// +void CNcmStream::RegisterMediaSourceL( CNcmMediaSource* aMediaSource ) + { + iConnectionObserverHandler->RegisterMediaSourceL( aMediaSource ); + } + +// --------------------------------------------------------------------------- +// CNcmStream::IcmpErrorReceived +// --------------------------------------------------------------------------- +// +TBool CNcmStream::IcmpErrorReceived() const + { + return iIcmpErrorReceived; + } + +// --------------------------------------------------------------------------- +// CNcmStream::SetIcmpErrorReceived +// --------------------------------------------------------------------------- +// +void CNcmStream::SetIcmpErrorReceived( TBool aIcmpErrorReceived ) + { + iIcmpErrorReceived = aIcmpErrorReceived; + } + */