--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/multimediacommscontroller/tsrc/componenttests/src/mccteststubs.cpp Tue Feb 02 01:04:58 2010 +0200
@@ -0,0 +1,442 @@
+/*
+* Copyright (c) 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:
+*
+*/
+
+
+//*******************************************************************************
+// Method :
+// Purpose : Working as a stub for CMccInterface instantation tests
+// Parameters :
+// Return Value:
+//*******************************************************************************
+#include <e32base.h>
+#include <e32debug.h>
+#include "mccteststubs.h"
+#include "mmccnetworksettings.h"
+
+CMccInterfaceStub* CMccInterfaceStub::NewL()
+ {
+ CMccInterfaceStub* self = new (ELeave) CMccInterfaceStub();
+ return self;
+ }
+
+
+CMccInterfaceStub::CMccInterfaceStub()
+ {
+
+ }
+
+CMccInterfaceStub::~CMccInterfaceStub()
+ {
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccEventReceived( const TMccEvent& aEvent )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccEventReceived") );
+ RDebug::Print( _L("SESSID: %d, LINKID: %d, STREAMID: %d, ENDPOINTID: %d"),
+ aEvent.iSessionId, aEvent.iLinkId, aEvent.iStreamId, aEvent.iEndpointId );
+ RDebug::Print( _L("CATEGORY: %d, EVENTTYPE: %d, ERRCODE: %d"),
+ aEvent.iEventCategory, aEvent.iEventType, aEvent.iErrorCode );
+
+ HandleEventReceival( aEvent );
+
+ if ( KMccEventCategoryDtmf == aEvent.iEventCategory
+ && KMccDtmfControl == aEvent.iEventType )
+ {
+ const TMccDtmfEventData& dtmfEvent =
+ (*reinterpret_cast<const TMccDtmfEventDataPackage*>(
+ &aEvent.iEventData ))();
+
+ switch ( dtmfEvent.iDtmfEventType )
+ {
+ case KMccDtmfManualStart:
+ RDebug::Print( _L("EMccDtmfManualStart") );
+ break;
+ case KMccDtmfManualStop:
+ RDebug::Print( _L("EMccDtmfManualStop") );
+ break;
+ case KMccDtmfManualAbort:
+ RDebug::Print( _L("EMccDtmfManualAbort") );
+ break;
+ case KMccDtmfSequenceStart:
+ RDebug::Print( _L("EMccDtmfSequenceStart") );
+ break;
+ case KMccDtmfSequenceStop:
+ RDebug::Print( _L("EMccDtmfSequenceStop") );
+ break;
+ case KMccDtmfSequenceAbort:
+ RDebug::Print( _L("EMccDtmfSequenceAbort") );
+ break;
+ case KMccDtmfStopInDtmfString:
+ RDebug::Print( _L("EMccDtmfStopInDtmfString") );
+ break;
+ case KMccDtmfSendingComplete:
+ RDebug::Print( _L("KMccDtmfSendingComplete") );
+ break;
+ default:
+ break;
+ }
+ }
+
+ if ( KMccEventCategoryRtp == aEvent.iEventCategory
+ && KMccMediaQualityStatus == aEvent.iEventType )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccEventReceived JITTER STATUS RECV") );
+
+ const TMccRtpEventData& rtpEvent =
+ (*reinterpret_cast<const TMccRtpEventDataPackage*>(
+ &aEvent.iEventData ))();
+
+ RDebug::Print( _L("jitter estimate: %u, packets received: %u, prev trans time: %u, triggered jitter level: %u"),
+ rtpEvent.iJitterEstimate, rtpEvent.iPacketsReceived, rtpEvent.iPrevTransTime, rtpEvent.iTriggeredJitterLevel );
+ }
+
+ if ( KMccLinkCreated == aEvent.iEventType )
+ {
+ RDebug::Print( _L("KMccLinkCreated Event arrived succesfully!") );
+
+ TMccNetSettingsPackage package;
+ package.Copy( aEvent.iEventData );
+ TBuf<50> localAddr;
+ TBuf<50> localPublicAddr;
+ TMccNetSettings netSettings = package();
+ netSettings.iLocalAddress.Output( localAddr );
+ netSettings.iLocalPublicAddress.Output( localPublicAddr );
+
+ RDebug::Print( _L("Local ADDR: %S, PORT: %d, Public ADDR: %S, PORT: %d,"),
+ &localAddr, netSettings.iLocalAddress.Port(),
+ &localPublicAddr, netSettings.iLocalPublicAddress.Port() );
+ RDebug::Print( _L("Local RTCP PORT: %d, Public RTCP PORT: %d"),
+ netSettings.iLocalRtcpPort, netSettings.iLocalPublicRtcpPort );
+ }
+ }
+
+void CMccInterfaceStub::MccMediaStarted( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaStarted") );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryStream, KMccStreamStarted, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+void CMccInterfaceStub::MccMediaStopped( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaStopped") );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryStream, KMccStreamStopped, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccMediaPaused( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaPaused") );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryStream, KMccStreamPaused, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccMediaResumed( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaResumed") );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryStream, KMccStreamResumed, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccMediaPrepared( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaPrepared") );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryStream, KMccStreamPrepared, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccMediaInactive( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaInactive" ) );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryRtp, KMccInactivityEvent, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccMediaActive( TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccMediaActive") );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryRtp, KMccActivityEvent, KErrNone, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::MccCtrlError( TInt aError,
+ TUint32 aSessionId,
+ TUint32 aLinkId,
+ TUint32 aStreamId,
+ TUint32 aSinkSourceId )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::MccCtrlError, ERR: %d"), aError );
+ RDebug::Print( _L("SESSID: %u, LINKID: %u, STREAMID: %u, SINKSOURCEID: %u"),
+ aSessionId, aLinkId, aStreamId, aSinkSourceId );
+
+ TMccEvent event = TMccEvent( aSessionId, aLinkId, aStreamId, aSinkSourceId,
+ KMccEventCategoryStream, KMccStreamError, aError, KNullDesC8 );
+
+ HandleEventReceival( event );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::UnknownMediaReceived( TUint32 aSessionId,
+ TUint32 /*aLinkId*/,
+ TUint32 aStreamId,
+ TUint32 /*aSinkSourceId*/,
+ TUint8 aPayloadType )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::UnknownMediaReceived") );
+ RDebug::Print( _L("SESSID: %u, STREAMID: %u, PT: %u"),
+ aSessionId, aStreamId, aPayloadType );
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::WaitForEvent
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::WaitForEvent( TUint32 aSessionId, TUint32 aLinkId,
+ TUint32 aStreamId, TMccEventType aEventType )
+ {
+ ClearEvent( iEventToWaitFor );
+ iEventToWaitFor.iSessionId = aSessionId;
+ iEventToWaitFor.iLinkId = aLinkId;
+ iEventToWaitFor.iStreamId = aStreamId;
+ iEventToWaitFor.iEventType = aEventType;
+
+ CActiveScheduler::Start();
+ }
+
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::WaitForEvent
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::WaitForEvent( TUint32 aSessionId, TUint32 aLinkId,
+ TUint32 aStreamId, TUint32 aSinkSourceId, TMccEventType aEventType )
+ {
+ ClearEvent( iEventToWaitFor );
+ iEventToWaitFor.iSessionId = aSessionId;
+ iEventToWaitFor.iLinkId = aLinkId;
+ iEventToWaitFor.iStreamId = aStreamId;
+ iEventToWaitFor.iEndpointId = aSinkSourceId;
+ iEventToWaitFor.iEventType = aEventType;
+
+ CActiveScheduler::Start();
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::WaitForEvent
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::WaitForEvent( TUint32 aSessionId, TUint32 aLinkId,
+ TUint32 aStreamId, TMccEventType aEventType, TMccDtmfEventType aDtmfEventType )
+ {
+ ClearEvent( iEventToWaitFor );
+ iEventToWaitFor.iSessionId = aSessionId;
+ iEventToWaitFor.iLinkId = aLinkId;
+ iEventToWaitFor.iStreamId = aStreamId;
+ iEventToWaitFor.iEventCategory = KMccEventCategoryDtmf;
+ iEventToWaitFor.iEventType = aEventType;
+
+ TMccDtmfEventData dtmfEvent;
+ dtmfEvent.iDtmfEventType = aDtmfEventType;
+ iEventToWaitFor.iEventData = TMccDtmfEventDataPackage( dtmfEvent );
+
+ CActiveScheduler::Start();
+ }
+
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::EventsAreEqual
+//
+// ---------------------------------------------------------------------------
+//
+TBool CMccInterfaceStub::EventsAreEqual(
+ const TMccEvent& aEvent1, const TMccEvent& aEvent2 ) const
+ {
+ TBool match( EFalse );
+ match = ( aEvent1.iSessionId == aEvent2.iSessionId );
+
+ if ( match && aEvent1.iLinkId != 0 )
+ {
+ match = ( aEvent1.iLinkId == aEvent2.iLinkId );
+ }
+
+ if ( match && aEvent1.iStreamId != 0 )
+ {
+ match = ( aEvent1.iStreamId == aEvent2.iStreamId );
+ }
+
+ if ( match && aEvent1.iEndpointId != 0 )
+ {
+ match = ( aEvent1.iEndpointId == aEvent2.iEndpointId );
+ }
+
+ if ( match && aEvent1.iEventCategory != 0 )
+ {
+ match = ( aEvent1.iEventCategory == aEvent2.iEventCategory );
+ }
+
+ if ( match && aEvent1.iEventType != KMccEventNone )
+ {
+ match = ( aEvent1.iEventType == aEvent2.iEventType );
+ }
+
+ if ( match && aEvent1.iEventData != KNullDesC8 )
+ {
+ if ( KMccEventCategoryDtmf == aEvent1.iEventCategory )
+ {
+ const TMccDtmfEventData& dtmfEvent1 =
+ (*reinterpret_cast<const TMccDtmfEventDataPackage*>
+ ( &aEvent1.iEventData ) )();
+
+ const TMccDtmfEventData& dtmfEvent2 =
+ (*reinterpret_cast<const TMccDtmfEventDataPackage*>
+ ( &aEvent1.iEventData ) )();
+
+ match = ( dtmfEvent1.iDtmfEventType == dtmfEvent2.iDtmfEventType );
+ }
+ }
+
+ return match;
+ }
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::ClearEvent
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::ClearEvent( TMccEvent& aEvent )
+ {
+ aEvent = TMccEvent();
+ }
+
+
+// ---------------------------------------------------------------------------
+// CMccInterfaceStub::HandleEventReceival
+//
+// ---------------------------------------------------------------------------
+//
+void CMccInterfaceStub::HandleEventReceival( const TMccEvent& aEvent )
+ {
+ if ( EventsAreEqual( iEventToWaitFor, aEvent ) )
+ {
+ RDebug::Print( _L("CMccInterfaceStub::HandleEventReceival, STOP WAIT LOOP") );
+ CActiveScheduler::Stop();
+ }
+ else
+ {
+ // Eat event and continue to listen a new one
+ RDebug::Print( _L("CMccInterfaceStub::HandleEventReceival, UNEXPECTED EVENT") );
+ }
+ }