diff -r 000000000000 -r 2f259fa3e83a uifw/AknGlobalUI/OldStyleNotif/Inc/AknDynamicNotificationData.h --- /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 +#include // For view server definitions +#include // 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