pnpmobileservices/pnpms/PnP/PnpProvisioningAppInc/PnpProvisioningAppUi.h
changeset 0 3ce708148e4d
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/pnpmobileservices/pnpms/PnP/PnpProvisioningAppInc/PnpProvisioningAppUi.h	Thu Dec 17 08:40:12 2009 +0200
@@ -0,0 +1,128 @@
+/*
+* Copyright (c) 2004-2006 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: Implementation of PnPMS components
+*
+*/
+
+
+#ifndef PNPPROVISIONINGAPPUI_H
+#define PNPPROVISIONINGAPPUI_H
+
+// INCLUDES
+#include <eikapp.h>
+#include <eikdoc.h>
+#include <e32std.h>
+#include <coeccntx.h>
+#include <aknappui.h>
+#include "PnpProvisioningDocument.h"
+#include "mwaitdialogstatusnotifier.h"  // for MWaitDialogStatusNotifier
+#include <PnpProvUtil.h>
+#include "PnpServiceActivation.h"
+
+
+// FORWARD DECLARATIONS
+//class CPnpProvisioningContainer;
+class CWaitDialogMonitor;
+
+// CLASS DECLARATION
+
+/**
+* Application UI class.
+* Provides support for the following features:
+* - EIKON control architecture
+* 
+*/
+class CPnpProvisioningAppUi : 
+    public CAknAppUi,
+    public MCoeForegroundObserver,
+    private MWaitDialogStatusNotifier
+    {
+    public: // // Constructors and destructor
+
+        /**
+        * EPOC default constructor.
+        */      
+        void ConstructL();
+
+        /**
+        * Destructor.
+        */      
+        ~CPnpProvisioningAppUi();
+        
+    public: // New functions
+
+        /**
+        * From Exits app.
+        */
+        void DoExit();
+        void RedirectL( const TDesC& aUrl, THttpProvStates::TProvisioningStatus aStatus );
+        static TInt PeriodicCallback( TAny* aPtr );
+
+    public: // from MCoeForegroundObserver
+        void HandleGainingForeground();
+        void HandleLosingForeground();
+        
+    private:
+        // From MEikMenuObserver
+        void DynInitMenuPaneL(TInt aResourceId,CEikMenuPane* aMenuPane);
+    
+    public: // from MCMDialogStatusNotifier
+        void WaitDialogDismissedL( const TInt aStatusCode );
+
+    public:
+	TBool ServiceActivationEnabledL();
+        
+    private:
+        /**
+        * From CEikAppUi, takes care of command handling.
+        * @param aCommand command to be handled
+        */
+        void HandleCommandL(TInt aCommand);
+
+        /**
+        * From CEikAppUi, handles key events.
+        * @param aKeyEvent Event to handled.
+        * @param aType Type of the key event. 
+        * @return Response code (EKeyWasConsumed, EKeyWasNotConsumed). 
+        */
+        virtual TKeyResponse HandleKeyEventL(
+            const TKeyEvent& aKeyEvent,TEventCode aType);
+            
+        void ShowWaitNoteL();
+        
+        void TerminateBrowserL(TInt aError, TInt& aNoRedirect);
+
+    private: //Data
+        void DoPeriodicCallbackL( TAny* aPtr );
+        /**
+        Tries to read AP id from a connection (that is currently in use)
+        that RConnectionMonitor::GetConnectionInfo gives first.
+        */
+        void ResolveApL( TUint32& aAp );
+        
+        void ShowErrorNoteL();
+
+        //CPnpProvisioningContainer* iAppContainer; 
+        CPeriodic* iPeriodic;
+        TUint32 iApInUse;
+        
+         // wait note dialog monitor
+        CWaitDialogMonitor* iWaitDialogMonitor;
+        // wait note dialog
+        CAknGlobalNote* iGlobalWaitNote;
+    };
+
+#endif
+
+// End of File