--- /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;
+ }
+ */