diff -r 65a3ef1d5bd0 -r f742655b05bf sipvoipprovider/inc/svprtpobserverrequest.h --- a/sipvoipprovider/inc/svprtpobserverrequest.h Thu Aug 19 09:45:22 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,159 +0,0 @@ -/* -* Copyright (c) 2008 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: RTP observer for SVP -* -*/ - - -#ifndef SVPRTPOBSERVERREQUEST_H -#define SVPRTPOBSERVERREQUEST_H - -// INCLUDES -#include -#include "svptimerobserver.h" - -// FORWARD DECLARATIONS -class CSVPSessionBase; -class CMceSession; -class CMceMediaStream; -class CSVPTimer; - -// CLASS DECLARATION - -/** - * CSVPRtpObserverRequest - * - */ -class CSVPRtpObserverRequest : public CBase, public MSVPTimerObserver - { -public: // Data types - - // Enumeration to determine RTCP activitytype - enum TReceivedRtcpPacket - { - ERtcpRrPacket = 0, - ERtcpSrPacket = 1 - }; - -public: // Constructors and destructor - - /** - * Destructor. - */ - ~CSVPRtpObserverRequest(); - - /** - * Two-phased constructor. - */ - static CSVPRtpObserverRequest* NewL( CSVPSessionBase& aSession ); - - /** - * Two-phased constructor. - */ - static CSVPRtpObserverRequest* NewLC( CSVPSessionBase& aSession ); - -public: // New functions - - /** - * Returns the SVP session associated to this request. - * @since S60 v3.2 - * @return CSVPSessionBase - */ - const CSVPSessionBase* SvpSession() const; - - /** - * Returns the MCE session associated to this request. - * @since S60 v3.2 - * @return CMceSession - */ - const CMceSession* MceSession() const; - - /** - * Called when RTCP RR or SR packet has been received. - * @since S60 v3.2 - * @aPacket RTCP packet type - * @aSession MCE session - * @aStream MCE media stream. - */ - void RtcpPacketReceived( TReceivedRtcpPacket aPacket, - CMceSession& aSession, CMceMediaStream& aStream ); - - /** - * Called when associated session's state has changed. - * @since S60 3.2 - */ - void Reset(); - - -public: // Functions from base classes - - // From MSVPTimerObserver - void TimedOut( TInt aTimerId ); - -private: // New functions - - /** - * Determines the RTCP timeout value based on the media stream and - * it's associated codecs. Returns default value (35 seconds) if - * error is encountered. - * @since S60 v3.2 - * @param aStream Stream from where to search the timeout value - * @return TInt RTCP timeout value in milliseconds - */ - TInt DetermineTimeoutValue( CMceMediaStream& aStream ) const; - - /** - * Returns ETrue if the associated session is currently in Hold state - * @since S60 v3.2.3 - * @return TBool value - */ - TBool IsSessionInHoldState(); - -private: // Consturctors - - /** - * Constructor for performing 1st stage construction - */ - CSVPRtpObserverRequest( CSVPSessionBase& aSession ); - - /** - * EPOC default constructor for performing 2nd stage construction - */ - void ConstructL(); - -private: // Data - - /** - * SVP session associated to this observing request - * Not own - */ - CSVPSessionBase& iSession; - - /** - * Timer for determining RTCP timeout. - * Own - */ - CSVPTimer* iTimer; - - /** - * Flag to indicate that 'disconnect' state has been informed. - */ - TBool iDisconnectSent; - -public: // For testing purposes - friend class UT_CSVPRtpObserverRequest; - }; - -#endif // SVPRTPOBSERVERREQUEST_H -