--- /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