diff -r 000000000000 -r ba25891c3a9e iaupdate/IAD/backgroundchecker/inc/iaupdatebgsoftnotification.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/iaupdate/IAD/backgroundchecker/inc/iaupdatebgsoftnotification.h Thu Dec 17 08:51:10 2009 +0200 @@ -0,0 +1,181 @@ +/* +* Copyright (c) 2008 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: +* +*/ + + + +#ifndef IAUPDATEBGSOFTNOTIFICATION_H +#define IAUPDATEBGSOFTNOTIFICATION_H + +// INCLUDES +#include +#include +#include "iaupdatebgcheckermode.h" + +// FORWARD DECLARATION +class TAknDynamicSoftNotificationParams; +class CIAUpdateBGInternalFileHandler; + +class MIAUpdateBGSoftNotificationCallBack + { + public: + virtual void SoftNotificationCallBack( TBool aIsAccepted ) = 0; + virtual TIAUpdateBGMode CurrentMode() = 0; + }; + + +// CLASS DECLARATION +/** + * Controls the native soft notifications. + * This class delegates method calls to AvKon soft notification. + * + * @since 3.2 + */ +class CIAUpdateBGSoftNotification : public CBase, public MAknDynamicSoftNoteObserver + { + public: // Constructors and destructor + + /** + * Static constructor + */ + static CIAUpdateBGSoftNotification* NewL( MIAUpdateBGSoftNotificationCallBack* aCallback, CIAUpdateBGInternalFileHandler* aInternalFile ); + + /** + * Destructor. + */ + virtual ~CIAUpdateBGSoftNotification(); + + public: // From MAknDynamicSoftNotifierObserver + + /** + * Dynamic soft notification was accepted by user. + * + * @param aNoteId Identification of notification. + */ + void NotificationAccepted( TInt aIdentifier ); + + /** + * Dynamic soft notification was canceled by user. + * + * @param aNoteId Identification of notification. + */ + void NotificationCanceled( TInt aIdentifier ); + + public: // New functions + + void StartObservingIfNeededL(); + + + /** + * Add a custom soft notification. If a custom soft notification with + * exactly the same parameters already exists, + * its count is increased by aCount. + * + * @param aNotificationId identifier for this notification + * @param aCount addition count + */ + void ShowSoftNotificationL(); + + /** + * Cancels custom soft notification. + * + * @param aNotificationId identifier for this notification + */ + void RemoveSoftNotificationL( TInt aNotifierID ); + + /** + * Set a text for a soft notification. + * + * @param aSingularText singular text for soft notification + * @param aPluralText plural text for soft notification + */ + void SetTextL( const TDesC& aText, const TDesC& aGroupText ); + + /** + * Set labels for soft notification's softkeys. + * + * @param aSoftkey1Label Label for the softkey 1 + * @param aSoftkey2Label Label for the softkey 2 + */ + void SetSoftkeyLabelsL( const TDesC& aSoftkey1Label, + const TDesC& aSoftkey2Label ); + + /** + * Set an image for a soft notification. + * + * @param aImage image for soft notification + */ + void SetImageL( const TDesC8& aImage ); + + /** + * Returns the notification id. + * + * @return notification id + */ + TInt Id(); + + private: // Constructors + /** + * C++ constructor. + * + * @param aAppId View activation application id. + * @param aNotificationId Notification id. + * @param aEventSource Event source used for posting events from + * native to Java side. + */ + CIAUpdateBGSoftNotification( MIAUpdateBGSoftNotificationCallBack* aCallback, CIAUpdateBGInternalFileHandler* aInternalFile ); + + /** + * 2nd phase constructor. + */ + void ConstructL(); + + private: // New methods + + /** + * Set assigned member data to custom notification parameters + * + * @param aParam custom soft notification params to fill + */ + void FillNotificationParams( TAknDynamicSoftNotificationParams& aParam ); + + private: // Data + /// Own. AvKon custom soft notifier + CAknDynamicSoftNotifier* iNotifier; + /// View activation application id + TUid iAppId; + /// Notification Id + TInt iNotificationId; + /// Own. Softkey 1 label + HBufC* iSoftkey1; + /// Own. Softkey 2 label + HBufC* iSoftkey2; + /// Own. Note label when single dialog is shown + HBufC* iLabel; + /// Own. Note label when notifications are groupped + HBufC* iGroupLabel; + /// Own. Image data byte array + HBufC8* iImageData; + + MIAUpdateBGSoftNotificationCallBack* iCallback; + + CIAUpdateBGInternalFileHandler* iInternalFile; //not owned + + }; + +#endif // IAUPDATEBGSOFTNOTIFICATION_H + +