diff -r 73a1feb507fb -r bc78a40cd63c mmsharing/mmshui/inc/musuiappui.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mmsharing/mmshui/inc/musuiappui.h Wed Sep 01 12:31:01 2010 +0100 @@ -0,0 +1,206 @@ +/* +* 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: The MUS application's UI class. +* +*/ + + +#ifndef MUSUIAPPUI_H +#define MUSUIAPPUI_H + +#include "musuieventobserver.h" +#include "musuiqueryobserver.h" + +#include +#include +#include +#include +#include +#include +#include + +class CMusUiStatusPaneHandler; +class CMusUiActiveQueryDialog; +class CRemConInterfaceSelector; +class CRemConCoreApiTarget; + +/** + * The MUS application's UI class. + * + * @lib musui.exe + */ +class CMusUiAppUi : public CAknViewAppUi, + public MMusUiEventObserver, + public MMusUiQueryObserver, + public MRemConCoreApiTargetObserver, + public MCoeControlObserver + { + +public: // constructors and destructor + + /** + * EPOC default constructor. + */ + void ConstructL( ); + + /** + * Destructor. + */ + ~CMusUiAppUi(); + +public: // New functions + + CMusUiStatusPaneHandler* MusStatusPane(); + + TBool ExitValue(); + + +public: // from base class CEikAppUi + + void HandleWsEventL( const TWsEvent& aEvent, CCoeControl* aDestination ); + + void HandleForegroundEventL( TBool aForeground ); + +public: // from MRemConCoreApiTargetObserver + + void MrccatoCommand( TRemConCoreApiOperationId aOperationId, + TRemConCoreApiButtonAction aButtonAct ); + + +public: // from MMusUiQueryObserver + + virtual void QueryAcceptedL( TBool aAccepted ); + + /** + * Error handler for QueryAcceptedL. + * + * @param aError is error to be handled. + * @return KErrNone means handled value. All other values will lead to + * a panic. + */ + virtual TInt HandleQueryError( TInt aError ); + + +public: // from MMusUiEventObserver + + virtual void ActivateLocalMusViewL( TUid aViewId ); + + virtual void ActivateLocalMusViewL( TUid aViewId, + TUid aCustomMessageId, + const TDesC8& aCustomMessage ); + + virtual void ShowAsyncConfirmationQueryDialogL( const TDesC& aPrompt ); + + virtual void SetToolbarVisibility( TBool aVisible ); + + virtual void ShowNaviPaneIconL( TMusUiNaviMediaDecorator aIcon ); + + virtual CEikonEnv* EikonEnv( ) const; + + virtual void TerminateCall(); + + virtual CAknAppUiBase::TAppUiOrientation AppOrientation() const; + + /** + * Switch the active view's orientation, if it's in the foreground, + * from landscape to portrait, or vice versa. + */ + virtual void SwitchOrientationL( TAppUiOrientation aAppOrientation ); + + virtual void HandleError( const TInt aReason ); + + virtual void HandleExit(); + + virtual TBool OrientationCanBeChanged() const; + + virtual TInt GetUiVolumeValue(); + + virtual CMusUiResourceHandler* ResourceHandler(); + +private: // from base class CEikAppUi + + /** + * Takes care of command handling. + * + * @param aCommand The command to be handled. + */ + void HandleCommandL( TInt aCommand ); + + /** + * Handles a change to the application's resources which are shared + * across the environment. + * + * @param aType The type of resources that have changed. + */ + void HandleResourceChangeL( TInt aType ); + + TKeyResponse HandleKeyEventL( const TKeyEvent& aKeyEvent, TEventCode aType ); + + // Help context from CCoeAppUi + CArrayFix* HelpContextL() const; + +private: + + //from MCoeControlObserver + void HandleControlEventL(CCoeControl* aControl,TCoeEvent aEventType); + +private: + + void DoHandleForegroundEventL( TInt aEventType ); + + void FindWindowGroupIdentifiersL(); + + +private: // data + + /** Owns. Handle to status pane handler */ + CMusUiStatusPaneHandler* iStatusPaneHandler; + + CMusUiActiveQueryDialog* iConfirmationQuery; + + CRemConInterfaceSelector* iInterfaceSelector; + + CRemConCoreApiTarget* iCoreTarget; + + TBool iExit; + + TInt iLastKeyCode; + + /** + * ETrue if operator specific functionality is needed + */ + TBool iOperatorSpecificFunctionality; + + // Window group id of this application. + TInt iThisApplicationWgId; + + // Window group id of eikon server. + TInt iEikonServerWgId; + + // Window group id for AknCapServer + TInt iAknCapServerWgId; + + // Window group id for Akn Notifier Server + TInt iAknNfyServerWgId; + + TBool iForeground; + + CMusUiResourceHandler* iResourceHandler; + + + }; + +#endif // MUSUIAPPUI_H + +// end of file