diff -r 3f419852be07 -r 364021cecc90 smartinstaller/bootstrap/inc/bootstrapappui.h --- /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 +#include +#include +#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 +