mmsharing/livecommsui/lcui/tsrc/ipvtengine/inc/musengmcesession.h
branchRCL_3
changeset 33 bc78a40cd63c
parent 32 73a1feb507fb
child 35 6c57ef9392d2
--- a/mmsharing/livecommsui/lcui/tsrc/ipvtengine/inc/musengmcesession.h	Tue Aug 31 15:12:07 2010 +0300
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,295 +0,0 @@
-/*
-* Copyright (c) 2005 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 MUSENGMCESESSION_H
-#define MUSENGMCESESSION_H
-
-// USER
-#include "musengcamerahandler.h"
-#include "musengdisplayhandler.h"
-#include "lcsession.h"
-#include "lcaudiocontrol.h"
-#include "svptimerobserver.h"
-
-#include <e32base.h>
-
-#include    <lcvtindicatorcontroller.h>
-
-
-// FORWARD DECLARATIONS
-class CContactTextField;
-class CPbkContactItem;
-class CPbkContactEngine;
-class MLcSessionObserver;
-class CMusEngLiveVideoPlayer;
-class CMusEngRemoteVideoPlayer;
-class CSVPTimer;
-class CMccScreen;
-
-
-// CONSTANTS
-
-_LIT8( KMusEngAcceptContactHeader, 
-       "Accept-Contact: *;+g.3gpp.cs-voice; explicit" );
-_LIT8( KMusAcceptHeader, 
-       "Accept: application/sdp" );
-_LIT8( KMusEngSessionSdpLineXApplication, "a=X-application:com.nokia.rtvs\r\n" );
-_LIT8( KMusEngSessionSdpLineApplication , "a=application:com.gsma.rts\r\n" );
-_LIT8( KMusEngSessionSdpLineType, "a=type:videolive\r\n" );
-_LIT8( KMusEngSessionSdpLineBandwidthLine  , "b=AS:" );
-_LIT8( KMusEngSessionSdpLineBandwidthField  , "b=AS:85\r\n" );
-_LIT8( KMusEngSessionSdpLineTiasLine  , "b=TIAS:" );
-_LIT8( KMusPPreferredIdentity, "P-Preferred-Identity" );
-_LIT8( KMusEngNewLine  , "\r\n" );
-
-const TInt KMusTiasMultiplier = 1000;
-const TUint8 KMusEngRtpKeepAliveTimer = 5;
-const TUint8 KMusEngKeepAlivePayloadTypeVideoH263 = 96;
-const TUint8 KMusEngKeepAlivePayloadTypeAudio = 97;
-const TUint8 KMusEngKeepAlivePayloadTypeVideoAvc = 98;
-
-// CLASS DECLARATION
-
-/**
-* Base class for Multimedia Sharing Engine MCE sessions, inherited by
-* CMusEngLiveSession CMusEngClipSession and CMusEngReceiveSession.
-*
-* CMusEngMceSession encapsulates CMCESession and simplifies use of
-* MCE Sessions to user interface. Also splits observers messy events
-* to simplified function calls.
-*
-* @lib musengine.lib
-*/
-class CMusEngMceSession : public CBase,
-                          public MLcSession,
-                          public MLcAudioControl,
-			  public MMusEngDisplayHandler,
-			  public MSVPTimerObserver
-    {
-    public:
-
-        /**
-        * Destructor
-        */
-        ~CMusEngMceSession();
-
-        void SetRemoteL( const TDesC& aRemote );
-	      void ToggleCameraL();
-	      void PlayCameraL();
-	      void PauseCameraL();
-        void InformUiProviderAboutReceivingStart();
-
-    public: //  from MSVPTimerObserver
-
-        virtual void TimedOut( TInt aTimerId );       
-
-        
-    public: //  from MMusEngDisplayHandler
-
-        /**
-        * Returns currently assigned drawing area
-        *
-        * @return TRect This session drawing area rectangle
-        */
-        TRect Rect() const;
-        
-        /**
-        * Sets new drawing area
-        *
-        * @param TRect This session new drawing area rectangle
-        */
-        void SetRectL( const TRect& aRect );
-        
-        /**
-        * Sets secondary rect (e.g. viewfinder in twoway session)
-        * @param TRect This session new secondary drawing area rectangle
-        */
-        void SetSecondaryRectL( const TRect& aSecondaryRect );
-        
-        /**
-        * Gets secondary rect.
-        * @return TRect This session secondary drawing area rectangle
-        */
-        virtual TRect SecondaryRect() const;
-            
-        /**
-        * Returns current display orientation.
-        *
-        * @pre Session is ongoing
-        * @return Current display orientation 
-        * @leave KErrNotReady if precondition is not fullfilled
-        */
-        TDisplayOrientation OrientationL();
-        
-        /**
-        * Sets display orientation.
-        *
-        * @pre Session is ongoing
-        * @return Sets display orientation 
-        * @leave KErrNotReady if precondition is not fullfilled
-        */
-        void SetOrientationL( TDisplayOrientation aOrientation );
-
-        /**
-        * Permission to draw on screen device.
-        * 
-        * @pre Session is ongoing
-        */
-        void EnableDisplayL( TBool aEnable );
-        
-        /**
-        * Implements virtual from MMusEngDisplayHandler
-        *
-        * @pre Session is ongoing
-        */
-        TBool IsDisplayEnabled();
-        
-        /**
-        * Implements virtual from MMusEngDisplayHandler
-        *
-        * @pre Session is ongoing
-        */
-        TBool IsDisplayActive();
-
-        
-    public: // From MMusEngAudioRoutingObserver
-        
-        void AudioRoutingChanged();        
-        
-        
-    public: // From MLcSession
-        
-        virtual TLcSessionState LcSessionState() const;
-        
-        void SetLcSessionObserver( MLcSessionObserver* aObserver );
-
-        void SetLcUiProvider( MLcUiProvider* aUiProvider );        
-        
-        virtual MLcVideoPlayer* RemoteVideoPlayer();
-    
-        virtual MLcVideoPlayer* LocalVideoPlayer();       
-       
-        virtual const TDesC& LocalDisplayName();
-    
-        virtual const TDesC& RemoteDisplayName();
-
-        TInt SetParameter( TInt aId, TInt aValue );
-
-        TInt ParameterValue( TInt aId );    
-        
-        TBool IsBackgroundStartup();
-        
-        TInt SetForegroundStatus( TBool aIsForeground );
-        
-        const TDesC& RemoteDetails();
-        
-        TBool SendDialTone( TChar aKey);
-        
-        
-    public: // From MLcAudioControl
-        
-        TBool IsLcAudioMutedL();
-
-        void MuteLcAudioL( TBool aMute );       
-
-        TBool IsLcMicMutedL();    
-
-        void MuteLcMicL( TBool aMute );
-        
-        TBool IsEnablingLcLoudspeakerAllowed();
-
-        void EnableLcLoudspeakerL( TBool aEnabled );
-        
-        TBool IsLcLoudspeakerEnabled();
-
-        TInt LcVolumeL();
-     
-        void SetLcVolumeL( TInt aValue );    
-    
-        void IncreaseLcVolumeL();
-        
-        void DecreaseLcVolumeL();        
-
-        
-    protected: // CONSTRUCTORS
-
-        /**
-        * Constructor
-        *
-        */
-        CMusEngMceSession();
-
-        /**
-        * Second-phase constructor
-        */
-        void ConstructL();
-                            
-    protected: // Data
-
-        /**
-        * Drawing area rect.
-        */
-        TRect iRect;
-        
-        /**
-        * ETrue if operator specific behavior is expected
-        */
-        TBool iOperatorVariant;
-
-        /**
-        * Session state for MLcSession 
-        */
-        MLcSession::TLcSessionState iLcSessionState;       
-                                
-        TMusEngCameraHandler iCameraHandler;
-
-        CMusEngLiveVideoPlayer* iLiveVideoPlayer;
-        CMusEngRemoteVideoPlayer* iRemoteVideoPlayer;
-        TRect iSetRemoteRect;
-        TRect iSetLocalRect;
-	CSVPTimer* iTimer;
-    	TLcSessionState lLcSessionState;
-	HBufC* iRemoteAddress;
-	CMccScreen* iScreen;
-
-    private: // Data
-
-        /**
-        * The session observer, if present.
-        */
-        MLcSessionObserver* iLcSessionObserver;
-
-        /**
-        * The UI provider, if present.
-        */        
-        MLcUiProvider* iLcUiProvider;        
-                
-        /**
-        * Value indicates whether session was started in background mode.
-        * (see IsBackgroundStartup()). Once sending of video started, 
-        * iBackground is set to EFalse
-        */
-        TBool iBackground;
-        
-        // indicator control
-        LcVtIndicatorController* iIndicatorCtr;
-
-
-    };
-    
-#endif // MUSENGMCESESSION_H