--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/smartinstaller/bootstrap/inc/bootstrapappui.h Wed Jun 30 11:01:26 2010 +0530
@@ -0,0 +1,186 @@
+/*
+* Copyright (c) 2009-2010 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:
+* CBootstrapAppUi application UI class declaration.
+*
+*
+*/
+
+
+#ifndef __BOOTSTRAPAPPUI_H__
+#define __BOOTSTRAPAPPUI_H__
+
+// INCLUDES
+#include <eikapp.h>
+#include <aknappui.h>
+#include <aknglobalconfirmationquery.h>
+#include "debug.h"
+
+// FORWARD DECLARATIONS
+class CAknGlobalNote;
+class CGlobalWaitNoteObserver;
+class CStateMachine;
+
+enum AppErrorId
+ {
+ ENoAppError = 0, //0
+ EInstallationFailed,
+ EDownloadFailed //2
+ };
+
+// CLASS DECLARATION
+/**
+* CBootstrapAppUi application UI class.
+* Interacts with the user through the UI and request message processing
+* from the handler class
+*/
+class CBootstrapAppUi : public CAknAppUi
+ {
+public: // Constructors and destructor
+
+ /**
+ * ConstructL.
+ * 2nd phase constructor.
+ */
+ void ConstructL();
+
+ /**
+ * CBootstrapAppUi.
+ * C++ default constructor. This needs to be public due to
+ * the way the framework constructs the AppUi
+ */
+ CBootstrapAppUi();
+
+ /**
+ * ~CBootstrapAppUi.
+ * Virtual Destructor.
+ */
+ virtual ~CBootstrapAppUi();
+
+ /**
+ * ExitApp
+ * Handle exit of App for success as well failures on all cases
+ */
+ void ExitApp(TInt aAppState);
+
+ /**
+ * HandleGlobalWaitNoteCancel
+ * Handle user press cancel
+ */
+ void HandleGlobalWaitNoteCancel(const TInt& aStatus);
+
+ /**
+ * SetErrorId
+ * Set the Error Id - to determine the type of error note displayed.
+ */
+ inline void SetErrorId( AppErrorId aErrorId )
+ {
+ iErrorId = aErrorId;
+ };
+
+ inline CEikonEnv* EikonEnv() const {return iEikonEnv;}
+
+private:
+
+ /**
+ * InitializeSIL
+ * Init the app and start the SM.
+ */
+ void InitializeSIL();
+
+ /**
+ * WaitForInstallCompleteL
+ * Subscribe to the installer and get the wrapper UID (latest installation) once installer is free.
+ */
+ void WaitForInstallCompleteL();
+
+ /**
+ * HandleForegroundEventL
+ * Push the application to background.
+ * Called by the framework when the application switches
+ * to foreground.
+ */
+ void HandleForegroundEventL(TBool aForeground);
+
+ /**
+ * SendToBackgroundL
+ * Sends application to background.
+ */
+ void SendToBackgroundL(TBool aBackground = ETrue);
+
+ /**
+ * ShowGlobalWaitNoteL
+ * Show the Global wait note. (starts in EBSStateInit)
+ */
+ void ShowGlobalWaitNoteL();
+
+ /**
+ * StopGlobalWaitNoteL
+ * Stop the Global wait note incase of failure.
+ */
+ void StopGlobalWaitNoteL();
+
+ /**
+ * ShowNoteL
+ * Show an error note incase of failure.
+ */
+ void ShowNoteL( const TAknGlobalNoteType& aType , const TInt& aResourceId );
+
+ /**
+ * GetLatestInstalledL
+ * Get the UID of latest installation.
+ */
+ TUint32 GetLatestInstalledL();
+
+private: // Data
+ friend class CStateMachine;
+
+ CStateMachine* iStateMachine; //< owns
+
+ CAknGlobalNote* iGlobalWaitNote; //< owns
+
+ CGlobalWaitNoteObserver* iGlobalWaitNoteObserver; //< owns
+
+ /**
+ * ETrue, if Ovi Store client is running
+ */
+ TBool iOviStoreRunning;
+
+ /**
+ * Wrapper package UID
+ */
+ TUint32 iWrapperPackageUid;
+
+ /**
+ * Can Bootstrap UI be moved to foreground
+ */
+ TBool iAllowForeground;
+
+ /**
+ * WaitNoteId
+ */
+ TInt iGlobalWaitNoteId;
+
+ /**
+ * ErrorId - used to determine whether and type of error note to be displayed
+ */
+ AppErrorId iErrorId;
+
+ INIT_OBJECT_DEBUG_LOG
+};
+
+#endif // __BootstrapAPPUI_H__
+
+// End of File
+