diff -r 000000000000 -r b497e44ab2fc syncmlfw/syncmlnotifier/inc/SyncMLFwUpdNotifier.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/syncmlfw/syncmlnotifier/inc/SyncMLFwUpdNotifier.h Thu Dec 17 09:07:52 2009 +0200 @@ -0,0 +1,235 @@ +/* +* Copyright (c) 2005 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: Synchronisation server alert and application launcher notifier. +* +*/ + + + +#ifndef CSYNCMLFWUPDNOTIFIER_H +#define CSYNCMLFWUPDNOTIFIER_H + +// INCLUDES +#include +#include "SyncMLNotifierBase.h" // Base class +#include "SyncMLMessageQueryDialog.h" +#include + +// CONSTANTS +// Taken from S60\OmaDSAppUi\inc\NSmlDMSyncPrivateCRKeys.h +const TUid KCRUidNSmlDMSyncApp = {0x101f6de5}; +const TUint32 KNSmlDMFotaConfigurationKey = 0x00000001; +const TUint KNSmlDMFotaEnableFotaViewFlag = 0x0004; + +//Constants required to indicate key presses in dialogs +enum + { + ESyncMLDlgRespKeyNone = -3, + ESyncMLDlgRespKeyOk = -2, + ESyncMLDlgRespKeyOthers = -1, + ESyncMLDlgRespKeyCancel = 0 + }; + + +//Constants used when update happen NSC/DM +enum { + EFotaUpdateNSC=1, + EFotaUpdateNSCBg, + EFotaUpdateDM +}; + +// CLASS DECLARATION +/** +* Notifier for showing the rsult of the firmware +* update to the user. +* +* @lib SyncMLNotifier +* @since Series 60 3.1 +*/ +NONSHARABLE_CLASS( CSyncMLFwUpdNotifier ) : public CSyncMLNotifierBase + { + public: // Constructors and destructor + + /** + * Two-phased constructor. + */ + static CSyncMLFwUpdNotifier* NewL(); + + /** + * Destructor. + */ + virtual ~CSyncMLFwUpdNotifier(); + + private: // New functions + + /** + * Shows a note describing the error situation that has been encountered + * when checking the prerequisites for firmware update. + * @param None + * @return Result to the query + */ + TInt ShowUpdateErrorNoteL(); + + /** + * Shows a note describing the result of firmware update. + * @param None + * @return Result to the query + */ + TInt ShowUpdateResultNoteL(); + + /** + * Informs the user about the firmware update and its consequences. + * Queries if the user wants to continue with the update. + * @param None + * @return Result to the query + */ + TInt ShowUpdateStartQueryL(); + + /** + * Informs the user about the firmware update while encrypted phone memory. + * Queries if the user wants to continue with the update. + * @param None + * @return Result to the query + */ + TInt ShowUpdateStartQueryEncryptionL(); + + /** + * Shows a note describing the result of firmware update. Also queries + * user to encrypt memory + * @param None + * @return Result to the query + */ + TInt ShowUpdateResultWithEncryptionNoteL(); + + /** + * Retrieves the profile name using the profile identifier stored + * in iNoteInfo. + * @param aServerName Returns the clear-text name of the corresponding server. + * @return None + */ + void RetrieveProfileNameL( TDes& aServerName ); + /*Information note shown to the user after selecting No reminder case in + * the reminder dialog. This note informs the user that downloaded package + * can be installed manually. + */ + + TInt ShowNoReminderQueryL(); + + /*Message query note shown to the user when ever there is no enough memory + * space to download the update package + */ + TInt ShowNotEnoughMemoryL( TInt &aMemoryNeeded ,TBool aOmaDL ); + + /*Message query note shown to the user when ever the user cancels the download + * and whether the user wants to resume the download at a later point of time. + * @param None + * @return Result to the query + */ + TInt ShowDownloadUserCancelL(); + + /*Message note shown to the user when ever + * the user postponds the download + * @param None + * @return Result to the query + */ + TInt ShowDownloadPostponedL(); + + /*Message note shown to the user when ever + * the user cancels the download + * @param None + * @return Result to the query + */ + TInt ShowDownloadCancelledL(); + + /*Message note shown to the user when ever + * the user wants to resume the download. + * @param None + * @return Result to the query + */ + TInt ShowDownloadResumeL(); + private: // Functions from base classes + + /** + * From CSyncMLNotifierBase Called when a notifier is first loaded. + * @param None. + * @return A structure containing priority and channel info. + */ + TNotifierInfo RegisterL(); + + /** + * From CSyncMLNotifierBase The notifier has been deactivated + * so resources can be freed and outstanding messages completed. + * @param None. + * @return None. + */ + void Cancel(); + + /** + * From CSyncMLNotifierBase Gets called when a request completes. + * @param None. + * @return None. + */ + void RunL(); + + /** + * From CSyncMLNotifierBase Used in asynchronous notifier launch to + * store received parameters into members variables and + * make needed initializations. + * @param aBuffer A buffer containing received parameters + * @param aReturnVal The return value to be passed back. + * @param aMessage Should be completed when the notifier is deactivated. + * @return None. + */ + void GetParamsL( const TDesC8& aBuffer, + TInt aReplySlot, + const RMessagePtr2& aMessage ); + /** + * IsLanguageSupported + * @param ret + * @return True if the language is supported. + */ + TBool IsLanguageSupportedL(); + private: + + /** + * C++ default constructor. + */ + CSyncMLFwUpdNotifier(); + + private: // Data + // Type of note to be shown + TSyncMLFwUpdNoteTypes iNoteType; + + // Possible additional information required by the note + TInt iNoteInfo; + + //Memory needed for the for the fota update package to be downloaded +// #ifdef RD_FOTA_FLEXIBLE_MEMORY_USAGE + TInt iFotaMemoryNeeded; +// #endif + //Checks whether dialog from RUNL popped and waiting for user input + TBool iRunLhang; + + //Reference to the Dialog launched from RunL + CSyncMLMessageQueryDialog* iDlg; + + //To decide on encryption note or default note. + TBool iFotaEncryptReq; + + }; + + +#endif // CSYNCMLFWUPDNOTIFIER_H + +// End of File