phonebookui/Phonebook2/Application/inc/CPbk2AppUi.h
branchRCL_3
changeset 63 f4a778e096c2
child 64 c1e8ba0c2b16
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/phonebookui/Phonebook2/Application/inc/CPbk2AppUi.h	Wed Sep 01 12:29:52 2010 +0100
@@ -0,0 +1,168 @@
+/*
+* Copyright (c) 2005-2007 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:  Phonebook 2 application UI.
+*
+*/
+
+
+#ifndef CPBK2APPUI_H
+#define CPBK2APPUI_H
+
+//  INCLUDES
+#include <CPbk2AppUiBase.h>
+#include <coemain.h>
+#include <MPbk2AppUiExtension.h>
+#include <MPbk2KeyEventHandler.h>
+#include <RPbk2LocalizedResourceFile.h>
+
+//  FORWARD DECLARATIONS
+class CPbk2Document;
+class CPbk2Application;
+class MPbk2AppUiExtension;
+class CPbk2ViewExplorer;
+class CPbk2StartupMonitor;
+class CPbk2ViewState;
+class CPbk2StoreManager;
+class CPbk2TabGroupContainer;
+class MPbk2ApplicationServices;
+class MPbk2ApplicationServices2;
+
+//  CLASS DECLARATION
+
+/**
+ * Phonebook2 application UI.
+ * An object of this class is created by the Symbian OS
+ * framework by a call to CPbk2Document::CreateAppUiL().
+ * The application UI object creates and owns the application's
+ * views and handles system commands selected from the menu.
+ */
+class CPbk2AppUi : public CPbk2AppUiBase<CAknViewAppUi>,
+                   public MPbk2KeyEventHandler,
+                   private MCoeForegroundObserver
+    {
+    public:  // Constructors and destructor
+
+        /**
+         * Constructor.
+         */
+        CPbk2AppUi();
+
+        /**
+         * Destructor.
+         */
+        ~CPbk2AppUi();
+
+    public: // Interface
+
+        /**
+         * Returns the Phonebook 2 document object.
+         *
+         * @return  Phonebook document.
+         */
+        CPbk2Document* PhonebookDocument() const;
+
+        /**
+         * Returns the concrete store manager.
+         *
+         * @return  Store manager.
+         */
+        CPbk2StoreManager& StoreManager() const;
+
+        /**
+         * Returns the Phonebook 2 application object.
+         *
+         * @return  Phonebook application.
+         */
+        CPbk2Application* Pbk2Application() const;
+
+        /**
+         * Exits Phonebook 2 in a correct way.
+         */
+        void ExitL();
+
+        /**
+         * Activates Phonebook view.
+         *
+         * @param aViewId       Id of the view to activate.
+         * @param aViewState    View activation parameters.
+         */
+        void ActivatePhonebookViewL(
+                TUid aViewId,
+                const CPbk2ViewState* aViewState );
+
+    public: // From CPbk2AppUiBase
+        CPbk2AppViewBase* ActiveView() const;
+        MPbk2ViewExplorer* Pbk2ViewExplorer() const;
+        MPbk2StartupMonitor* Pbk2StartupMonitor() const;
+        CPbk2TabGroupContainer* TabGroups() const;
+        MPbk2KeyEventHandler& KeyEventHandler();
+        MPbk2ApplicationServices& ApplicationServices() const;
+        void HandleCommandL(
+                TInt aCommand );
+        void ExitApplication();
+
+    private: // From MCoeForegroundObserver
+        void HandleGainingForeground();
+        void HandleLosingForeground();
+
+    private: // From CAknViewAppUi
+        void DynInitMenuPaneL(
+                TInt aResourceId,
+                CEikMenuPane* aMenuPane );
+        TKeyResponse HandleKeyEventL(
+                const TKeyEvent& aKeyEvent,
+                TEventCode aType );
+        void HandleResourceChangeL(
+                TInt aType );
+        void HandleForegroundEventL(
+                TBool aForeground );
+
+    private: // From MPbk2KeyEventHandler
+        TBool Pbk2ProcessKeyEventL(
+                const TKeyEvent& aKeyEvent,
+                TEventCode aType );
+
+    private: // Implementation
+        void ConstructL();
+        void CmdExit();
+        TBool LocalVariationFeatureEnabled(
+                TInt aFeatureFlag );
+        void LeavePbkInMemExitL();
+
+    private: // Data
+        /// Own: Phonebook 2 UI controls dll resource file
+        RPbk2LocalizedResourceFile iUiControlsResourceFile;
+        /// Own: Phonebook 2 commands dll resource file
+        RPbk2LocalizedResourceFile iCommandsResourceFile;
+        /// Own: Phonebook 2 common UI dll resource file
+        RPbk2LocalizedResourceFile iCommonUiResourceFile;
+        /// Own: View explorer
+        CPbk2ViewExplorer* iViewExplorer;
+        /// Own: Tab group
+        CPbk2TabGroupContainer* iTabGroups;
+        /// Own: AppUI extension
+        MPbk2AppUiExtension* iAppUiExtension;
+        /// Own: Start-up monitor
+        CPbk2StartupMonitor* iStartupMonitor;
+        /// Own: Indicates is this app in foreground
+        TBool iIsRunningForeground;
+        /// Ref: Application services
+        MPbk2ApplicationServices* iAppServices;
+        /// Ref: Application services extension
+        MPbk2ApplicationServices2* iAppServicesExtension;
+    };
+
+#endif  // CPBK2APPUI_H
+
+// End of File