uifw/AknGlobalUI/OldStyleNotif/Inc/AknDynamicNotificationData.h
changeset 0 2f259fa3e83a
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/uifw/AknGlobalUI/OldStyleNotif/Inc/AknDynamicNotificationData.h	Tue Feb 02 01:00:49 2010 +0200
@@ -0,0 +1,201 @@
+/*
+* 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:  Dynamic soft notification data store
+*
+*/
+
+#ifndef AKNDYNAMICSOFTNOTIFICATIONDATA_H
+#define AKNDYNAMICSOFTNOTIFICATIONDATA_H
+
+// INCLUDES
+#include <e32base.h>
+#include <vwsdef.h> // For view server definitions
+#include <aknnotedialog.h> // For CAknNoteDialog::TTone
+
+// CLASS DECLARATION
+
+/**
+*  Dynamic soft notification data store.
+*
+*  @lib AknNotifyPlugin.lib
+*  @since S60 3.2
+*/
+NONSHARABLE_CLASS( CAknDynamicNotificationData ) : public CBase
+    {
+public: // constructor
+
+    /**
+     * Static constructor. Construct data from stream.
+     * @param aStream Source stream.
+     * @return New CAknDynamicNotificationData instance.
+     */
+    static CAknDynamicNotificationData* NewL ( RReadStream& aStream );
+
+    /**
+     * Static constructor. Construct data from stream.
+     * @param aStream Source stream.
+     * @return New CAknDynamicNotificationData instance.
+     */
+    static CAknDynamicNotificationData* NewLC( RReadStream& aStream );
+    
+    /// Destructor.
+    ~CAknDynamicNotificationData();
+    
+public: // new methods
+
+    /**
+     * Internalize data into stream.
+     * @param aStream Destination stream.
+     */
+    void InternalizeL( RReadStream& aStream );
+
+    /**
+     * Externalize data from stream.
+     * @param aStream Source stream.
+     */
+    void ExternalizeL( RWriteStream& aStream ) const;
+
+    /**
+     * Reset the Id of the soft notification.
+     * @param aId New id of the notification.
+     */
+    void SetId( TInt aId );
+    
+    /**
+     * @return Notification identification.
+     */
+    TInt Id() const;
+
+    /**
+     * @return Notification priority.
+     */
+    TInt Priority() const;
+    
+    /**
+     * @return Notification tone.
+     */
+    CAknNoteDialog::TTone Tone() const;
+    
+    /**
+     * @return Destination view when note is accepted.
+     */
+    TVwsViewId ViewId() const;
+
+    /**
+     * @return Destination view when note is accepted. When note count is > 1.
+     */
+    TVwsViewId PluralViewId() const;
+
+    /**
+     * @return Custom data uid for launched view.
+     */
+    TUid CustomMsgUid() const;
+
+    /**
+     * @return Custom data for launched view.
+     */
+    const TDesC8& CustomMsg() const;
+
+    /**
+     * @return Left softkey text.
+     */
+    const TDesC& LeftSoftkey() const;
+
+    /**
+     * @return Right softkey text.
+     */
+    const TDesC& RightSoftkey() const;
+    
+    /**
+     * @return Text shown when count == 1.
+     */
+    const TDesC& SingularLabel() const;
+    
+    /**
+     * @return Text shown when count > 1.
+     */
+    const TDesC& PluralLabel() const;
+
+    /**
+     * @return Text shown when count == 1. Only in grouped view.
+     */
+    const TDesC& SingularLabelGroup() const;
+
+    /**
+     * @return Text shown when count > 1. Only in grouped view.
+     */
+    const TDesC& PluralLabelGroup() const;
+    
+    /**
+     * @return Flag whether the user events are wanted by the event manager. 
+     */
+    TBool EnableObserver() const;
+    
+    /**
+     * @return Binary data for notification image.
+     */
+    const TDesC8& ImageData() const;
+    
+private: // new methods
+    CAknDynamicNotificationData();
+    void ConstructL( RReadStream& aStream );
+    
+    void ResetContent();
+    
+    HBufC8*  InternalizeText8L(  RReadStream& aStream ) const;
+    HBufC16* InternalizeText16L( RReadStream& aStream ) const;
+    
+    void ExternalizeTextL( RWriteStream& aStream, const TDesC16* aText ) const;
+    void ExternalizeTextL( RWriteStream& aStream, const TDesC8* aText ) const;
+    
+protected: // data
+
+    /// Identification of the note.
+    TInt iNoteId;
+    /// Priority of the note (see AknSoftNotificationPlugin.cpp).
+    TInt iPriority;
+	/// Tone played when note is shown.
+	CAknNoteDialog::TTone iTone;
+    /// Flag whether the user events are wanted by the event manager. 
+    TBool iEnableObserver;
+
+
+    /// Launched view when count == 1.
+    TVwsViewId iViewId;
+    /// Launched view when count > 1.
+    TVwsViewId iPluralViewId;
+    /// Uid for the new view.
+    TUid iCustomMessageId;
+    /// Own. Custom message for new view.
+    HBufC8* iCustomMessage;
+
+    /// Own. Left softkey.
+    HBufC* iLeftSoftkey;
+    /// Own. Right softkey.
+    HBufC* iRightSoftkey;
+    
+    /// Own. Single non-group label.
+    HBufC* iNoteSingularLabel;
+    /// Own. Plural non-group label.
+    HBufC* iNotePluralLabel;
+    /// Own. Single group label.
+    HBufC* iGroupSingularLabel;
+    /// Own. Plural group label.
+    HBufC* iGroupPluralLabel;
+    
+	/// Own. Image data.
+    HBufC8* iImageData;
+    };
+
+#endif // AKNDYNAMICSOFTNOTIFICATIONDATA_H