classicui_plat/extended_notifiers_api/inc/aknSoftNotificationParameters.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/classicui_plat/extended_notifiers_api/inc/aknSoftNotificationParameters.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,142 @@
+/*
+* 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:  Utility implementation for CAknSoftNotificationParameters.
+*
+*/
+
+#ifndef AKN_SOFT_NOTIFICATION_PARAMETERS
+#define AKN_SOFT_NOTIFICATION_PARAMETERS
+
+// INCLUDES
+#include <vwsdef.h> // For view server definitions
+#include <aknnotedialog.h> // For CAknNoteDialog::TTone
+
+// CLASS DECLARATION
+
+/**
+*  Utility implementation for CAknSoftNotificationParameters
+*
+*  @lib AknNotifyPlugin.lib
+*  @since S60 1.2
+*/
+class CAknSoftNotificationParameters : public CBase
+    {
+public: // constructors and destructor
+
+    /**
+    * Static constructor for creating custom soft notification parameters. 
+    * Initializes the member variables with null values.
+    *
+    * @return The new object for custom soft notification parameters.
+    */
+    IMPORT_C static CAknSoftNotificationParameters* NewL();
+
+    /**
+    * Static constructor for creating custom soft notification parameters.
+    *
+    * @param aResourceFile Full resource file name (containing drive and path).
+    * @param aNoteResourceId Resource ID in given resource file.
+    *                        Must be a resource of type AVKON_NOTE.
+    * @param aPriority Priority for soft notification.
+    * @param aSoftkeys Resource ID for softkeys. Must be from avkon.rsg.
+    * @param aTone Tone for soft notification.
+    * @return The new object for custom soft notification parameters.
+    */
+    IMPORT_C static CAknSoftNotificationParameters* NewL(
+        const TDesC& aResourceFile,
+        TInt aNoteResourceId,
+        TInt aPriority,
+        TInt aSoftkeys,
+        CAknNoteDialog::TTone aTone );
+
+    /**
+    * Static constructor for creating custom soft notification parameters.
+    *
+    * @param aResourceFile Full resource file name (containing drive and path).
+    * @param aNoteResourceId Resource ID in given resource file.
+    *                        Must be a resource of type AVKON_NOTE.
+    * @param aPriority Priority for soft notification.
+    * @param aSoftkeys Resource ID for softkeys. Must be from avkon.rsg.
+    * @param aTone Tone for soft notification.
+    * @param aViewId View ID of the view where to switch in case user chooses
+    *                accept softkey in the soft notification.
+    * @param aCustomMessageId Custom Uid sent to the view in the view activation process.
+    * @param aAcceptKeyId ID of a softkey used for accepting the query. Exiting type softkeys 
+    *                     (e.g. "cancel", "exit", "back", "done", etc.) should not be used.
+    * @param aViewActivationMsg Custom message sent to the view in
+    *                           the view activation process.
+    * @return The new object for custom soft notification parameters.
+    */
+    IMPORT_C static CAknSoftNotificationParameters* NewL(
+        const TDesC& aResourceFile,
+        TInt aNoteResourceId,
+        TInt aPriority,
+        TInt aSoftkeys,
+        CAknNoteDialog::TTone aTone,
+        TVwsViewId aViewId,
+        TUid aCustomMessageId,
+        TInt aAcceptKeyId,
+        const TDesC8& aViewActivationMsg );
+
+    /**
+    * Destructor.
+    */
+    IMPORT_C ~CAknSoftNotificationParameters();
+
+    /**
+    * Sets the texts to be used when the soft notification is displayed in grouped form.
+    * Calling this method with non-null parameter also indicates that the soft notification
+    * supports grouped form.
+    *
+    * @param aGroupedTextsID Resource identifier pointing to AVKON_GROUPED_NOTE_TEXTS resource.
+    *                        The resource can have singular and plural labels. See avkon.rh for 
+    *                        details.
+    */
+    inline void SetGroupedTexts( TInt aGroupedTextsID )
+        {iGroupedTextResourceId = aGroupedTextsID;}
+ 
+    /** 
+    * Legacy support. Sets the plural view ID.
+    *
+    * @param aViewId Plural view ID.
+    */
+    inline void SetPluralViewId( const TVwsViewId& aViewId )
+        {iPluralViewId = aViewId;}
+
+protected:
+    CAknSoftNotificationParameters(){}
+
+protected: // data
+    HBufC* iResourceFile;
+    TInt iNoteResourceId; // must point to resource of type AVKON_NOTE
+    TInt iPriority;
+    TInt iSoftkeys;
+    CAknNoteDialog::TTone iTone;
+
+    // view activation related parameters
+    TVwsViewId iViewId;
+    TUid iCustomMessageId;
+    TInt iAcceptSoftKey;
+    HBufC8* iViewActivationMsg; // owned
+
+public: // friend classes
+    friend class CAknSoftNotificationSubject;
+    friend class CAknSoftNotifier;
+
+protected: // new data
+    TVwsViewId iPluralViewId;
+    TInt iGroupedTextResourceId;
+    };
+
+#endif // AKN_SOFT_NOTIFICATION_PARAMETERS