diff -r 33a5d2bbf6fc -r 73a1feb507fb mmsharing/mmshui/inc/musuisendcontroller.h --- a/mmsharing/mmshui/inc/musuisendcontroller.h Thu Aug 19 09:51:39 2010 +0300 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,258 +0,0 @@ -/* -* Copyright (c) 2007 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 MUSUISENDCONTROLLER_H -#define MUSUISENDCONTROLLER_H - -#include "musuieventcontroller.h" -#include "musengoutsessionobserver.h" -#include "musunittesting.h" - -#include "musengoutsessionobserver.h" -#include - -class MMusUiSendObserver; -class CMusEngMceOutSession; -class CDirectoryLocalizer; - -/** - * - * - * @lib musui.exe - */ -class CMusUiSendController : public CMusUiEventController, - public MMusEngOutSessionObserver - { - -public: - - virtual ~CMusUiSendController(); - - -public: // From CMusUiEventController: - - /** - * Returns a pointer to engine side session. - */ - virtual CMusEngMceSession* EngineSession(); - - /** - * - */ - virtual const TDesC& TypedAddress() const; - - /** - * - */ - virtual TBool ManualAddressTyped() const; - - /** - * Makes out session specific preparations for engine session deletion. - */ - virtual void DeleteEngineSession(); - - -public: // From MMusUiPropertyObserver - - virtual void HandlePropertyError( const TInt aReason ); - - -public: // From MMusUiCallbackObserver - - /** - * Handles async events common to outgoing session types. - * Should be called if child classes are not able to handle the call. - */ - virtual void HandleAsyncEventL( TMusUiAsyncEvent aEventId ); - - -public: // new functions: - - /** - * Returns a pointer to engine side session. - */ - virtual CMusEngMceOutSession* EngineOutSession() = 0; - - virtual void InviteL( const TDesC& aRecipient ) = 0; - - virtual void HandleSliderValueChangeL( TInt aNewLevel ) = 0; - - void StartInvitationL(); - - void InviteL(); - - void CancelInvitationL(); - - virtual void HandleForegroundEventL( TBool aForeground ); - - virtual void PlayL(); - - virtual void PauseL(); - - TBool IsPlayingL(); - - -public: // from MMusEngSessionObserver - - virtual void SessionEstablished(); - - -public: // from MMusEngOutSessionObserver - - virtual void SessionRejected(); // e.g. 603 DECLINE - - virtual void SessionBadRequest(); // 400 - - virtual void SessionUnauthorized(); // 401 - - virtual void SessionPaymentRequired(); // 402 - - virtual void SessionRecipientNotFound(); // 404 - - virtual void SessionProxyAuthenticationRequired(); // 407 - - virtual void SessionRequestTimeOut(); // 408 - - virtual void SessionUnsupportedMediaType(); // 415 - - virtual void SessionBusyHere(); // 486 - - virtual void SessionRequestCancelled(); // 487 - - virtual void SessionTemporarilyNotAvailable(); // 480 - - -protected: // Contructors - - void ConstructL(); - - CMusUiSendController( MMusUiEventObserver& aEventObserver, - MMusUiSharingObserver& aSharingObserver, - MMusUiSendObserver& aSendObserver ); - - -protected: // from MusUiEventController - - /** - * Send specific functionality of exit procedure - */ - virtual void ExitProcedureL( TBool aUserAcceptance ); - - /** - * Handles status changes specific to sending side sharing types. - * To be overridden in sibling classes for sharing type specific - * status changes. Calls base class version if status change is not - * sending side specific. - */ - virtual void HandleChangedStatusL( TMusAvailabilityStatus aStatus ); - - -protected: - - /** - * - */ - const TDesC& VideoFileNameL(); - - void ShowInvitingWaitDialogL(); - - void DismissWaitDialog(); - - -private: // Helpers - - void SplitL( const TDesC& aDes, const TDesC& aChar, CDesCArray* aArray ); - - void SetVideoPathValueL(); - - void ShowVideoSavedDialogL(); - - void DeleteVideoL(); - - void DeleteFileL(); - -protected: // Data - - /* - * Interface for outgoing session specific callbacks - */ - MMusUiSendObserver& iSendObserver; - - HBufC* iAddress; - - TBool iVideoToBeSaved; - - TBool iManualAddressTyped; - - TInt iTriedInvitations; - - /** - * - */ - TBool iSipRegistrationPending; - - /** - * - */ - HBufC* iRemoteSipAddress; - - /** - * - */ - HBufC* iRemoteSipAddressProposal; - - -private: // Data - - /** - * If this variable is ETrue, playback should be continued - * when gaining focus. ETrue by default. - */ - TBool iContinuePlayingWhenForeground; - - /** - * - */ - HBufC* iVideoFileName; - - CDirectoryLocalizer* iLocalizer; - -protected: - /** - * The class is used as a call back service of the wait dialog - */ - class TWaitDialogCallback : public MProgressDialogCallback - { - public: - TWaitDialogCallback( CMusUiSendController& aController ); - void DialogDismissedL( TInt /*aButtonId*/ ); - - private: - CMusUiSendController& iController; - - }iWaitDialogCallback; - - /** - * If this variable is ETrue, playback should be continued - * when gaining focus. ETrue by default. - */ - }; - -#endif // MUSUISENDCONTROLLER_H - -// end of file