phoneuis/vmbx/inc/VmAppUi.h
changeset 0 5f000ab63145
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phoneuis/vmbx/inc/VmAppUi.h	Mon Jan 18 20:18:27 2010 +0200
@@ -0,0 +1,196 @@
+/*
+* Copyright (c) 2002-2009 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:  Declares UI class for application.
+*
+*/
+
+
+#ifndef VMAPPUI_H
+#define VMAPPUI_H
+
+// INCLUDES
+#include <aknappui.h>
+#include <bldvariant.hrh>
+#include "vm.hrh"
+#include "VmQueryLauncher.h"
+
+// FORWARD DECLARATIONS
+class CVmContainer;
+class CAiwServiceHandler;
+class CRepository;
+
+/**
+* Status of AppUi
+*/
+enum TVmbxAppUiState
+    {
+    /** idle state of AppUi */
+    EIdle= 0,
+    /** state of that AppUi launch to CVmQueryLauncher
+    * for querying number */
+    ELauncherQueryingNumber
+    };
+
+// Constants
+const TInt KVmCmdAiwVoiceCall = EVmCmdAiwCmdLast;
+const TInt KVmCmdAiwVideoCall = EVmCmdAiwCmdLast+1;
+const TInt KVmCmdAiwVoipCall  = EVmCmdAiwCmdLast+2;
+
+// CLASS DECLARATION
+
+/**
+*  Application UI class.
+*  Provides support for the following features:
+*  - UIKON control architecture
+*
+*  @lib ?library
+*  @since ?Series60_version
+*/
+class CVmAppUi : public CAknAppUi, public MVmQueryLauncher
+    {
+    public:  // Constructors and destructor
+
+        /**
+        * Symbian OS default constructor.
+        */
+        void ConstructL();
+
+        /**
+        * Destructor.
+        */
+        ~CVmAppUi();
+
+    public: // New functions
+
+        /**
+        * Loads CBA buttons for MSK
+        * @return void
+        */
+        void DrawCbaButtonsL();
+
+        /**
+        * Get current AppUi state
+        * @return TVmbxAppUiState, state of AppUi
+        */
+        TVmbxAppUiState GetAppUiState();
+
+    private: // New functions
+
+        /**
+        * Adds an item in menu.
+        *
+        * @param aMenuPane menu pane
+        * @param aText item text
+        * @param aCommandId menu command id
+        */
+        void AddMenuItemL( CEikMenuPane* aMenuPane, const TDesC& aText,
+                                                         TInt aCommandId );
+        /**
+        * Defines whether voice mail is started from general settings
+        * @return TBool, ETrue if started from GS else EFalse
+        */
+        TBool IsStartedFromGSL();
+
+        /**
+         * Set in MenuPane cmomand's item specific property.
+         * @since S60 v5.2
+         * @param aMenuPane curent munu pane
+         * @param aCommandId command Id
+         */
+        void SetItemSpecificL( CEikMenuPane* aMenuPane, TInt aCommandId );
+
+    private: // Functions from base classes
+
+        /**
+        * From MEikMenuObserver, dynamically initialises menu pane.
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane* aMenuPane );
+
+        /**
+        * From CCoeAppUi, gets a list of help contexts for a particular
+        * application user interface.
+        */
+        CArrayFix<TCoeHelpContext>* HelpContextL() const;
+
+        /**
+        * From CEikAppUi, takes care of command handling.
+        * @param aCommand command to be handled
+        */
+        void HandleCommandL( TInt aCommand );
+
+        /**
+        * From CEikAppUi, Handles changes in keyboard focus when an application
+        * switches to,  or from, the foreground.
+        * @param aForeground ETrue if the application is in the foreground,
+        *                     otherwise EFalse.
+        */
+        void HandleForegroundEventL( TBool aForeground );
+
+       /**
+         * From MVmQueryLauncher,Callback when query number completed
+         *
+         */
+        void NumberQueryComplete();
+
+        /**
+         * see VmContainer::IsIpVoiceMailboxServices
+         */
+        TBool IsIpVoiceMailboxServices();
+
+    private: // Data
+
+        //AppUi container
+        CVmContainer* iAppContainer;
+
+        //menupane text strings
+        HBufC* iTextShowDetails;  // owned
+        HBufC* iTextClearIcon; // owned
+        HBufC* iTextCallVoiceMail;  // owned
+        HBufC* iTextDefineNumber;  // owned
+        HBufC* iTextDefineVideoNumber;  // owned
+        HBufC* iTextChangeNumber;  // owned
+        HBufC* iTextHelp;  // owned
+        HBufC* iTextExit;  // owned
+        HBufC* iTextActivate; // owned
+        HBufC* iTextCallIntVoiceMail;  // owned
+        HBufC* iTextCancel; // owned
+        HBufC* iTextCheckStatus; // owned
+        HBufC* iTextCheckMessage; // owned
+        HBufC* iTextCallVideoMail;  // owned
+
+        //type of vmbx
+        TInt iType;
+
+        //title of the popupList
+        HBufC* iTextRingingTime; // owned
+
+        //CVmQueryLauncher object for asking vmbx number
+        CVmQueryLauncher* iQueryLauncher;  // owned
+
+        // AIW
+        CAiwServiceHandler* iServiceHandler; // owned
+
+        TBool iFeatureManagerInitialized;
+
+        // Boolean defining whether voice mail is started from
+        // general settings or not
+        TBool iFromGS;
+
+        // state of AppUi
+        TVmbxAppUiState iAppUiState;
+    };
+
+#endif  // VMAPPUI_H
+
+// End of File