mmsharing/mmshui/inc/musuiappui.h
branchRCL_3
changeset 33 bc78a40cd63c
child 35 6c57ef9392d2
--- /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 <eikapp.h>
+#include <eikdoc.h>
+#include <e32std.h>
+#include <coeccntx.h>
+#include <aknViewAppUi.h>
+#include <remconcoreapitargetobserver.h>
+#include <coecobs.h>
+
+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<TCoeHelpContext>* 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