--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/rtp/rtpstack/tsrc/ut_rtpstack/inc/UT_CRtpSession.h Tue Feb 02 01:03:15 2010 +0200
@@ -0,0 +1,303 @@
+/*
+* Copyright (c) 2004 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:
+*
+*/
+
+
+
+
+#ifndef __UT_CRTPSESSION_H__
+#define __UT_CRTPSESSION_H__
+
+// EXTERNAL INCLUDES
+#include <digia/eunit/ceunittestsuiteclass.h>
+
+// INTERNAL INCLUDES
+#include "rtpsdes.h"
+#include "rtppacket.h"
+#include "rtppacketparam.h"
+#include "rtpstream.h"
+#include "rtpasignuniqueid.h"
+#include <rtpdef.h>
+#include <commdbconnpref.h>
+#include <e32std.h>
+#include "rtptimer.h"
+
+
+// FORWARD DECLARATIONS
+class CRtpSession;
+
+#include <e32def.h>
+#ifndef NONSHARABLE_CLASS
+ #define NONSHARABLE_CLASS(x) class x
+#endif
+const TInt KRtpNumPayloadTypes = 128;
+
+// CLASS DEFINITION
+/**
+ *
+ * EUnitWizard generated test class.
+ *
+ */
+NONSHARABLE_CLASS( UT_CRtpSession )
+ : public CEUnitTestSuiteClass,
+ public MRtpErrNotify,
+ public MRtpAsignUniqueID,
+ public MRtcpObserver, MRtpObserver,
+ public MNonRTPDataObserver,MTimeOutNotify
+ {
+ public: // Constructors and destructors
+
+ /**
+ * Two phase construction
+ */
+ static UT_CRtpSession* NewL();
+ static UT_CRtpSession* NewLC();
+ /**
+ * Destructor
+ */
+ ~UT_CRtpSession();
+
+ private: // Constructors and destructors
+
+ UT_CRtpSession();
+ void ConstructL();
+
+ public: // From observer interface
+ void ErrorNotify( TInt aErrCode );
+ //from MRtpAsignUniqueID
+ TRtpId AssignUniqueID();
+ TInt AddStreamToSession(TRtpId aSessionId, TRtpId aStreamId);
+ // from MRtpObserver
+ void RtpPacketReceived( TRtpId aStreamId,
+ const TRtpRecvHeader& aHeaderInfo,
+ const TDesC8& aPayloadData );
+ // from MRtcpObserver
+
+ void SdesReceived( TRtpSSRC aSSRC,
+ const TRtpSdesParams& aParams );
+
+ void ByeReceived( TRtpId aStreamId, TRtpSSRC aSSRC,
+ const TDesC8& aReason );
+
+ void AppReceived( TRtpId aStreamId, TRtpSSRC aSSRC,
+ const TRtcpApp& aApp );
+
+ void SrReceived( TRtpId aStreamId, TRtpSSRC aSSRC,
+ const TTimeStamps& aTimeStamps );
+
+ void RrReceived( TRtpId aStreamId, TRtpSSRC aSSRC );
+
+ // from MNonRTPDataObserver
+ void NonRTPDataReceived( TUint aPort, TBool aRTPport, const TDesC8& aNonRTPData );
+
+ // from MTimeOutNotify
+ void OnExpiredL( TInt aStatus );
+ private: // New methods
+
+ void SetupL();
+
+ void Setup2L();
+
+ void Teardown();
+
+ void UT_CRtpSession_NewLL();
+
+
+ void UT_CRtpSession_SSRCL();
+
+
+ void UT_CRtpSession_StartSessionL();
+
+
+ void UT_CRtpSession_SetRemoteAddressL();
+
+
+ void UT_CRtpSession_SetRemoteRtcpAddressL();
+
+
+ void UT_CRtpSession_CreateReceiveStreamLL();
+
+
+ void UT_CRtpSession_CreateTransmitStreamLL();
+
+
+ void UT_CRtpSession_CreateTransmitStreamExtLL();
+
+
+ void UT_CRtpSession_CloseStreamL();
+
+
+ void UT_CRtpSession_ResetTxStreamStatsL();
+
+
+ void UT_CRtpSession_ResetRxStreamStatsL();
+
+
+ void UT_CRtpSession_RegisterRtpObserverL();
+
+
+ void UT_CRtpSession_UnregisterRtpObserverL();
+
+
+ void UT_CRtpSession_SetNonRTPDataObserverL();
+
+
+ void UT_CRtpSession_SendRtpPacketL();
+
+
+ void UT_CRtpSession_SendRtpPacket_1L();
+
+
+ void UT_CRtpSession_SendRtpPacket_2L();
+
+
+ void UT_CRtpSession_SendRtpPacket_3L();
+
+
+ void UT_CRtpSession_SendRtpPacket_4L();
+
+
+ void UT_CRtpSession_SendDataL();
+
+
+ void UT_CRtpSession_CancelSendL();
+
+
+ void UT_CRtpSession_RegisterRtcpObserverL();
+
+
+ void UT_CRtpSession_UnregisterRtcpObserverL();
+
+
+ void UT_CRtpSession_SendRtcpByePacketLL();
+
+
+ void UT_CRtpSession_SendRtcpAppPacketL();
+
+
+ void UT_CRtpSession_SendRtcpSrPacket1L();
+ void UT_CRtpSession_SendRtcpSrPacket2L();
+ void UT_CRtpSession_RemoveSdesFromArrayL();
+
+ void UT_CRtpSession_SendRtcpRrPacketL();
+
+ void UT_CRtpSession_DoBuildSendRTCPReportIfNotSentL();
+ void UT_CRtpSession_DoBuildSendRTCPReportL();
+ void UT_CRtpSession_BuildSendRTCPReport1L();
+ void UT_CRtpSession_BuildSendRTCPReport2L();
+ void UT_CRtpSession_SendRTCPReportL( );
+
+ void UT_CRtpSession_CreateSDESL( ) ;
+ void UT_CRtpSession_ProcessOneRTCPReportSectionL();
+
+ void UT_CRtpSession_ProcessRTCPReportL();
+
+ void UT_CRtpSession_ProcessSDESDataL();
+
+ void UT_CRtpSession_ProcessSDESData2L();
+
+ void UT_CRtpSession_ProcessRRSectionL();
+
+ void UT_CRtpSession_ProcessSRSectionL();
+
+ void UT_CRtpSession_ProcessBYESectionL();
+ void UT_CRtpSession_GetRtpSocketL();
+
+
+ void UT_CRtpSession_GetRtcpSocketL();
+
+
+ void UT_CRtpSession_GetStreamStatisticsL();
+
+
+ void UT_CRtpSession_SetRtcpParametersL();
+
+
+ void UT_CRtpSession_GetSessionIdL();
+
+
+ void UT_CRtpSession_StopRtcpSendingL();
+
+
+ void UT_CRtpSession_ResumeRtcpSendingL();
+
+
+ void UT_CRtpSession_IsRtcpSendingSuspendedL();
+
+
+ void UT_CRtpSession_CheckRemoteSsrcL();
+
+
+ void UT_CRtpSession_OnExpiredL();
+
+ void UT_CRtpSession_ScheduleRtcpSend();
+
+ void UT_CRtpSession_OnRtpReceivedLL();
+
+ void UT_CRtpSession_OnRtpReceivedL2L( );
+
+ void UT_CRtpSession_OnRtcpReceivedLL();
+
+
+ void UT_CRtpSession_OnReceptionErrorL();
+
+
+ void UT_CRtpSession_OnPacketRejectedL();
+
+ void UT_CRtpSession_BuildRTCPReportWithoutStreams();
+
+ void UT_CRtpSession_BuildRTCPReportWithoutPackets();
+
+ void UT_CRtpSession_OnRtpReceivedL3L( );
+ void UT_CRtpSession_SendSRTCPReport();
+ void UT_CRtpSession_DeallocateMemoryForSdesL( );
+ void UT_CRtpSession_NextRTCPIntervalL();
+ void UT_CRtpSession_MatchSSRCToStreamL();
+ void UT_CRtpSession_MatchSSRCToStream2L( );
+ void UT_CRtpSession_RcvStreamReceivedRtpPacketL();
+
+ void UT_CRtpSession_GetRcvStreamByIndexL( );
+ void UT_CRtpSession_CreateNewRecvStreamLL();
+ void UT_CRtpSession_SendSrtcpReportLL();
+ //Test Utility function
+ TBool PeerStatsEqual( TRtpPeerStat aStat1, TRtpPeerStat aStat2 );
+
+ void Hex(HBufC8& aString);
+ private: // Data
+ CRtpSession* iSession;
+ CRtpSession* iSession2;
+ RSocketServ iSocketServ;
+ RConnection iConn;
+ CRtpSDES* iSdes;
+ TUint32 iProfileRTPTimeRates[KRtpNumPayloadTypes];
+ RLibrary iLibrary;
+ TRtpId iNumOfObjects; // count of session and participants IDs assigned
+ TRtpSSRC iTxStreamSSRC; // the local SSRC of the Tx stream we work with
+ TRtpSSRC iRxStreamSSRC; // the remote SSRC of the Rx stream we work with
+ TInt iPacketsExpected;
+ TRtpId iTranstreamId;
+ TRtpId iRecvstreamId;
+
+ TBool iRollBackRtcp;
+ TBool iRollBackRtcpValue;
+
+ EUNIT_DECLARE_TEST_TABLE;
+
+ };
+
+#endif // __UT_CRTPSESSION_H__
+
+// End of file