diff -r 000000000000 -r 5f000ab63145 phoneuis/vmbx/inc/VmAppUi.h --- /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 +#include +#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* 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