dependencies/AknSoftNotifier.h
branchv5backport
changeset 67 35a198a504a8
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/dependencies/AknSoftNotifier.h	Thu May 06 15:56:48 2010 +0200
@@ -0,0 +1,153 @@
+/*
+* Copyright (c) 2002-2007 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:  Client API for Avkon soft notifications.   
+*
+*/
+
+#ifndef __AKNSOFTNOTIFIER_H__
+#define __AKNSOFTNOTIFIER_H__
+
+#include <AknNotify.h>
+#include <AknNotifyStd.h>
+
+class CAknPrivateSoftNoteParameters;
+class CAknSoftNotificationParameters;
+class CAknSoftNotifierExt;
+
+
+
+NONSHARABLE_CLASS(CAknSoftNotifier) : public CAknNotifyBase
+    {
+    public:
+        IMPORT_C static CAknSoftNotifier* NewL();
+        IMPORT_C static CAknSoftNotifier* NewLC();
+        IMPORT_C ~CAknSoftNotifier();
+
+        /**
+        * Add new soft notification of type 'aType'. If the notification of
+        * type 'aType' already exists number of items is increased by one.
+        * Optional dynamic notification text can also be set.
+        *       
+        * Please note that this method cannot be used with custom soft notifications
+        *
+        * @param aType The type of the soft notification. Types can be found
+        *        in AknNotifyStd.h 
+        * @param aText Dynamic text to the notification.
+        */
+        IMPORT_C void AddNotificationL(
+            TAknSoftNotificationType aType, TPtrC* aText = NULL );
+
+        /**
+        * Add new soft notification of type 'aType'. The number of items is
+        * set to 'aCount'.
+        *       
+        * Please note that this method cannot be used with custom soft notifications
+        *
+        * @param aType The type of the soft notification. Types can be found
+        *        in AknNotifyStd.h
+        * @param aCount The number of items for this type, e.g, missed calls,
+        *        voice mails
+        */
+        IMPORT_C void AddNotificationL(
+            TAknSoftNotificationType aType, TInt aCount );
+    
+        /**
+        * Set number of notifications of type 'aType'. This overrides current
+        * value. Optional dynamic notification text can also be set.
+        *       
+        * Please note that this method cannot be used with custom soft notifications
+        * 
+        * @param aType The type of the soft notification.
+        *        Types can be found in AknNotifyStd.h
+        * @param aCount Number of item is the notification.
+        * @param aText Dynamic text to the notification. (Not implemented in
+        *        current release).
+        */
+        IMPORT_C void SetNotificationCountL(
+            TAknSoftNotificationType aType, TInt aCount, TPtrC* aText = NULL );
+
+        /**
+        * Cancels soft notification of type 'aType'.
+        *       
+        * Please note that this method cannot be used with custom soft notifications
+        *
+        * @param aType The type of the soft notification.
+        * Types can be found in AknNotifyStd.h
+        */
+        IMPORT_C void CancelSoftNotificationL( TAknSoftNotificationType aType );
+
+        /**
+        * Adds a custom soft notification. If a custom soft notification with
+        * exactly the same parameters already exists,
+        * its count is increased by aCount.
+        *
+        * @param aParams custom soft notification parameters
+        * @param aCount count
+        */
+        IMPORT_C void AddCustomNotificationL(
+            CAknSoftNotificationParameters& aParams, TInt aCount = 1 );
+
+        /**
+        * Sets the absolute count of a custom soft notification with
+        * given parameters. If such notification did not exist already,
+        * it is created.
+        */
+        IMPORT_C void SetCustomNotificationCountL(
+            CAknSoftNotificationParameters& aParams, TInt aCount );
+
+        /**
+        * Cancels custom soft notification with the given parameters.
+        */
+        IMPORT_C void CancelCustomSoftNotificationL(
+            CAknSoftNotificationParameters& aParams );
+
+    private:
+        /**
+        * Tell the soft notes if the phone is in idle state or not.
+        * Soft notes do not display unless the phone is in idle state.
+        *
+        * @param aIdleState Is phone in idle state
+        */
+        IMPORT_C void SetIdleStateL( TBool aIdleState );
+
+    private:
+        IMPORT_C void CAknNotifyBase_Reserved();
+        CAknSoftNotifier();
+        void ConstructL();
+
+        void PrepareBufferL( 
+            TAknSoftNotificationType aType, 
+            TInt aCount, 
+            TPtrC* aText, 
+            TBool aCancel, 
+            TBool aAddCount,
+            CAknSoftNotificationParameters* aParams = NULL);
+
+    private: // data
+        CBufFlat* iBuffer;
+        TPtrC8 iBufferPtr;
+
+#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
+        CAknSoftNotifierExt* iExt;
+#endif
+    public: // NCN updates phone idle information
+        friend class CNcnSNNotifier;
+        friend class CSimpleAppUi;
+        
+#ifdef RD_UI_TRANSITION_EFFECTS_POPUPS
+        friend class CAknSoftNotifierExt;
+#endif
+    };
+
+#endif // __AKNSOFTNOTIFIER_H__