--- a/mmsharing/mmshui/inc/musuieventcontroller.h Thu Aug 19 09:51:39 2010 +0300
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,482 +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 MUSUIEVENTCONTROLLER_H
-#define MUSUIEVENTCONTROLLER_H
-
-#include "musuipropertyobserver.h"
-#include "musuicallbackobserver.h"
-#include "musuibitmapdecoderobserver.h"
-#include "musresourceproperties.h"
-#include "musuidefinitions.h"
-#include "musmanagercommon.h"
-#include "musuimmcobserver.h"
-#include "musunittesting.h"
-
-#include "musengsessionobserver.h"
-#include "musengaudioroutingobserver.h"
-#include "musengvolumechangeobserver.h"
-
-#include <aknappui.h> // CAknAppUiBase::TAppUiOrientation
-
-class CMusUiCallbackService;
-class MMusUiEventObserver;
-class CMusUiMmcMonitor;
-class CMusUiPropertyWatch;
-class CMusUiBitmapDecoder;
-class CFbsBitmap;
-class CMusEngMceSession;
-class MMusUiSharingObserver;
-class CMusUiActivityManager;
-class CMusUiResourceHandler;
-
-using namespace MultimediaSharing;
-
-
-/**
- *
- *
- * @lib musui.exe
- */
-class CMusUiEventController : public CBase,
- public MMusUiPropertyObserver,
- public MMusUiCallbackObserver,
- public MMusUiMmcObserver,
- public MMusEngSessionObserver,
- public MMusEngAudioRoutingObserver,
- public MMusEngVolumeChangeObserver
- {
-
-public: // enumerations
-
- enum TMusUiShutdownState
- {
- EMusUiShutdownNotDefined,
- EMusUiShutdownStarted,
- EMusUiShutdownVideoSaved,
- EMusUiShutdownContactSavingQueried,
- EMusUiShutdownOver
- };
-
-
-public:
-
- /**
- *
- */
- virtual ~CMusUiEventController();
-
-
-protected:
-
- /**
- *
- */
- void ConstructL();
-
- /**
- *
- */
- CMusUiEventController( MMusUiEventObserver& aEventObserver,
- MMusUiSharingObserver& aSharingObserver );
-
-
-public: // From MMusUiPropertyObserver
-
- /**
- * Sets the property key value common to all sharing types.
- * To be overridden for specific key values.
- * CMusUiPropertyWatch calls MMusUiPropertyObserver::PropertyChanged,
- * when P&S key values change
- *
- * @param TUint aKey - The Property key
- * @param TInt aValue - The value of the Property key
- */
- virtual void PropertyChanged( const TUint aKey, const TInt aValue );
-
- /**
- *
- */
- virtual void HandlePropertyError( const TInt aReason );
-
-
-public: // From MMusUiCallbackObserver
-
- /**
- * Handles async events common to all session types.
- * Should be called if child classes are not able to handle the call.
- */
- virtual void HandleAsyncEventL( TMusUiAsyncEvent aEventId );
-
- /**
- * Error handler for HandleAsyncEventL.
- */
- virtual TInt HandleAsyncError( TInt aError );
-
-
-public: // From MMusUiMmcObserver
-
- /**
- *
- */
- virtual void MmcRemoved();
-
-
-public: // From
-
- /**
- * Handles session establishment procedures common to all session types.
- */
- virtual void SessionEstablished();
-
-
-public: // From MMusEngAudioRoutingObserver
-
- /**
- * Indicates that some other application has changed audio routing.
- *
- */
- virtual void AudioRoutingChanged( TBool aShowNote );
-
- /**
- * Before doing audio routing, permission is asked
- *
- */
- virtual TBool AudioRouteChangeAllowed() const;
-
-public: // From MMusEngVolumeChangeObserver
-
- /**
- * Indicates that some other application has changed volume level.
- *
- */
- virtual void VolumeChanged( TInt aVolume, TBool aAudioRouteChanged );
-
-
-public: // New functions
-
- /**
- *
- */
- void SetRect( const TRect& aRect );
-
- /**
- *
- */
- const TDesC& MusContactName();
-
- /**
- *
- */
- const TDesC& MusVideoCodecValue();
-
- /**
- *
- */
- const TDesC& MusTelNumberValue();
-
- /**
- *
- */
- const TDesC& SessionTimeFormatted( const TTimeIntervalSeconds& aSeconds );
-
- /**
- *
- */
- void SaveContactQueryL();
-
- /**
- *
- */
- void HandleError( const TInt aError );
-
- /**
- * Starts shutdown process
- */
- void HandleExitL( TBool aTerminateCall = EFalse );
-
- /**
- *
- */
- void AsyncQueryDialogAcceptedL( TBool aAccepted );
-
- /**
- *
- */
- TBool ExitOccured();
-
- /**
- *
- */
- TBool AudioRoutingCanBeChanged();
-
- /**
- *
- */
- TBool IsLoudSpeakerEnabled();
-
- /**
- *
- */
- TBool DeviceHasDedicatedVolumeKeys();
-
- /**
- * Queries flag for session state
- */
- TBool ConnectionEstablished() const;
-
- /**
- * Set session initialization state
- */
- void SetConnectionInitialized( TBool aConnectionInitialized );
-
- /**
- * Queries flag for session state
- */
- TBool ConnectionInitialized() const;
-
- /**
- *
- */
- void EnableDisplayL( TBool aEnable );
-
- /**
- *
- */
- void ChangeOrientationL( CAknAppUiBase::TAppUiOrientation aOrientation );
-
- /**
- *
- */
- TBool ToolbarVolumeSelected();
-
- /**
- *
- */
- TBool IsMicMutedL();
-
- /**
- * Function to be overridden in sibling classes
- * @return EFalse by default
- */
- virtual TBool ManualAddressTyped() const;
-
- /**
- *
- */
- virtual void HandleForegroundEventL( TBool aForeground );
-
- /**
- *
- */
- virtual TBool IsForeground() const;
-
- /**
- *
- */
- virtual void OfferToolbarEventL( TInt aCommand );
-
- /**
- *
- */
- virtual void HandleCommandL( TInt aCommand );
-
- /**
- * Returns a pointer to engine side session.
- */
- virtual CMusEngMceSession* EngineSession() = 0;
-
- /**
- *
- */
- virtual const TDesC& TypedAddress() const = 0;
-
- /**
- *
- */
- virtual void DeleteEngineSession() = 0;
-
- /**
- *
- */
- TBool IsDisplayEnabledL();
-
- /**
- *
- */
- TBool IsAudioRoutingLoudSpeaker();
-
-protected: // New functions
-
- /**
- * General functionality of exit procedure
- */
- virtual void ExitProcedureL( TBool aUserAcceptance );
-
- /**
- * Handles status changes common to all sharing types.
- * To be overridden in sibling classes for sharing type specific
- * status changes.
- */
- virtual void HandleChangedStatusL( TMusAvailabilityStatus aStatus );
-
-
-protected:
-
- /**
- *
- */
- MMusUiEventObserver& iEventObserver;
-
- /**
- *
- */
- MMusUiSharingObserver& iSharingObserver;
-
- /**
- *
- */
- CMusUiCallbackService* iCallbackService;
-
- /**
- * Flag of the connection state
- */
- TBool iConnectionEstablished;
-
- /**
- * Flag of the connection state
- */
- TBool iConnectionInitialized;
-
- /**
- *
- */
- TFileName iVideoFilePath;
-
- /**
- *
- */
- TFileName iLocalizedVideoFilePath;
-
- /**
- *
- */
- TFileName iVideoFileNamePlain;
-
- /**
- *
- */
- TInt iSipProfileId;
-
- /**
- *
- */
- TInt iContactId;
-
- /**
- *
- */
- HBufC* iContactName;
-
- /**
- *
- */
- HBufC* iTelNumber;
-
- /**
- *
- */
- HBufC* iDialogPrompt;
-
- /**
- *
- */
- HBufC* iVideoCodec;
-
- /**
- *
- */
- TBool iForeground;
-
- /**
- * ETrue if operator specific functionality is needed
- */
- TBool iOperatorSpecificFunctionality;
-
- /**
- *
- */
- CMusUiResourceHandler* iResourceHandler;
-
- /**
- *
- */
- TMusUiShutdownState iShutdownState;
-
- /**
- * Flag indicating whether show "loudspeaker deactived"
- */
- TBool iShowDialog;
-
-
-private:
-
- /**
- *
- */
- CMusUiMmcMonitor* iMmcMonitor;
-
- /**
- *
- */
- CMusUiActivityManager* iActivityManager;
-
- /**
- *
- */
- CMusUiPropertyWatch* iStatusPropertyWatch;
-
- /**
- *
- */
- CMusUiPropertyWatch* iMicMuteStatusPropertyWatch;
-
- /**
- *
- */
- TBuf<7> iTimeBuffer;
-
- /**
- * Flag of the Volume item in the Toolbar
- */
- TBool iToolbarVolumeSelected;
-
- /**
- * Flag indicating whether call has ended
- */
- TBool iActiveCall;
-
- MUS_UNITTEST( UT_CMusUiEventController )
- MUS_UNITTEST( UT_CMusUiLiveSharingController )
- MUS_UNITTEST( UT_CMusUiClipSharingController )
- MUS_UNITTEST( UT_CMusUiReceiveController )
- };
-
-#endif // MUSUIEVENTCONTROLLER_H
-
-// end of file