htiui/HtiAdmin/inc/HtiAdminAppUi.h
changeset 0 d6fe6244b863
child 31 e7a04a6385be
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/htiui/HtiAdmin/inc/HtiAdminAppUi.h	Tue Feb 02 00:17:27 2010 +0200
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 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:  AppUi class
+*
+*/
+
+
+#ifndef __HTIADMIN_APPUI_H__
+#define __HTIADMIN_APPUI_H__
+
+// INCLUDES
+#include <aknappui.h>
+
+// FORWARD DECLARATIONS
+class CHtiAdminAppView;
+class CHtiCfg;
+
+// CLASS DECLARATION
+
+/**
+* An instance of class CHtiAdminAppUi is the UserInterface part of the AVKON
+* application framework for the HtiAdmin application
+*/
+class CHtiAdminAppUi : public CAknAppUi
+    {
+    public:
+        /**
+        * Perform the second phase construction of a CHtiAdminAppUi object.
+        * This needs to be public due to the way the framework constructs the AppUi
+        */
+        void ConstructL();
+
+        /**
+        * Perform the first phase of two phase construction.
+        * This needs to be public due to the way the framework constructs the AppUi
+        */
+        CHtiAdminAppUi();
+
+
+        /**
+        * Destroy the object and release all memory objects.
+        */
+        ~CHtiAdminAppUi();
+
+        /**
+        * Tries to find the HTIFramework.exe process and open a handle to it.
+        * @param aPrs on return contains an open handle to the HTIFramework.exe
+        * process if process found and opened successfully
+        * @return ETrue if process found and opened successfully,
+        * otherwise EFalse
+        */
+        TBool OpenHtiProcess( RProcess& aPrs );
+
+        /**
+        * Updates the version text in the display.
+        */
+        void UpdateVersion();
+
+        /**
+        * Updates the HTI Framework process status in the display.
+        */
+        void UpdateStatusL();
+
+        /**
+        * Updates the HTI auto start status in the display.
+        */
+        void UpdateAutoStartStatus();
+
+        /**
+        * Updates the selected communication in the display.
+        */
+        void UpdateSelectedComm();
+
+        /**
+        * Kills the HtiWatchDog process if it is running.
+        */
+        void KillHtiWatchDogL();
+
+        /**
+        * Stops the timer issuing the periodical HTI Framework process
+        * status checks.
+        */
+        void KillTimer();
+
+        /**
+        * The method called by the periodic timer.
+        * @param aPtr pointer to this CHtiAdminAppUi instance
+        * @return zero if the callback function should not be called again,
+        * otherwise non-zero. Current implementation returns always ETrue.
+        */
+        static TInt TimerCallBackL( TAny* aPtr );
+
+    public: // from CAknAppUi
+        /**
+        * Handle user menu selections
+        * @param aCommand the enumerated code for the option selected
+        */
+        void HandleCommandL( TInt aCommand );
+
+        /**
+        * Updates the HTI Framework status information and starts the
+        * periodical status polling when application comes to foreground -
+        * stops the polling when going to background.
+        * @param aForeground ETrue if the application is in the foreground,
+        * otherwise EFalse
+        */
+        void HandleForegroundEventL( TBool aForeground );
+
+    public: // from MEikMenuObserver
+        /**
+        * Used to initialize user menu content dynamically
+        * @param aResourceId the resource id of the menu pane being initialised
+        * @param aMenuPane the in-memory representation of the menu pane
+        */
+        void DynInitMenuPaneL( TInt aResourceId, CEikMenuPane *aMenuPane );
+    
+    private:
+    	void ShowBTListQueryL();
+    	void ShowIPListQueryL();
+    	void ShowCommsListQueryL();
+    	void ShowCommsDBListQueryL();
+    	void HandleBtByAddress();
+    	void HandleBtByName();
+    	void HandleBtSearch();
+    	void HandleIPConnect();
+    	void HandleIPListen();
+
+    private:
+
+        // The application view
+        CHtiAdminAppView* iAppView;
+
+        // Timer triggering periodic checking of HTIFramework process status
+        CPeriodic*        iPeriodic;
+
+        // For reading and writing HTI configuration files
+        CHtiCfg*          iHtiCfg;
+    };
+
+#endif // __HTIADMIN_APPUI_H__
+
+// End of File