diff -r 000000000000 -r 8e480a14352b messagingfw/wappushfw/SISLPushMsgUtils/inc/CSIPushMsgEntry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/messagingfw/wappushfw/SISLPushMsgUtils/inc/CSIPushMsgEntry.h Mon Jan 18 20:36:02 2010 +0200 @@ -0,0 +1,118 @@ +// Copyright (c) 2003-2009 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: +// + +/** + @file + @publishedPartner + @released +*/ + +#ifndef __CSIPUSHMSGENTRY_H__ +#define __CSIPUSHMSGENTRY_H__ + +#include + + +/** +Handles storage of Service Indication (SI) WAP Push Messages in the message server. + +It provides additional accessor functions to allow access to all the fields holding +data for the SI push messages. The additional information for a SI message is: + +1. Action: 5 possible action levels are stored in bits 4-7 of TMsvEntry::iMtmData1 + +2. SI ID (unique identifier for this SI Message). + +3. URL (location of the content to present to the user). + +4. Creation (date and time of creation of the message). + +5. Expires (date and time after which the message is invalid and should be discarded). + +6. Text (additional information sent with the message). + +@see CPushMsgEntryBase + +@publishedPartner +@released +*/ +class CSIPushMsgEntry : public CPushMsgEntryBase + { +public: + /** + SI Push messages Action flags. + + @publishedPartner + @released + */ + enum TSIPushMsgAction + { + // Note that these values get bit-shifted so that they set Bits 4-7 of iMtmData1 + /** Delete action. */ + ESIPushMsgDelete = 0, // effectively Bit 4 = 0 + /** Signal none action. */ + ESIPushMsgSignalNone, // Bit 4 = 1, i.e. 16 + /** Signal low action. */ + ESIPushMsgSignalLow, // Bit 4 = 0, 5 =1. i.e. 32 + /** Signal medium action. */ + ESIPushMsgSignalMedium, + /** Signal high action. */ + ESIPushMsgSignalHigh + }; + + IMPORT_C static CSIPushMsgEntry* NewL(); + IMPORT_C static CSIPushMsgEntry* NewL(const TPtrC8& aAppURI); + IMPORT_C static CSIPushMsgEntry* NewL(TInt& aAppID); + IMPORT_C ~CSIPushMsgEntry(); + inline const TDesC& Id() const; + IMPORT_C void SetIdL(const TDesC& aID); + IMPORT_C TInt Action() const; + IMPORT_C void SetAction(TInt aActionFlags); + + inline const TTime& Created() const; + inline void SetCreated(const TTime& aCreated); + inline const TTime& Expires() const; + inline void SetExpires(const TTime& aExpires); + inline const TDesC& Url() const; + inline const TDesC& ContentType() const; + + IMPORT_C void SetUrlL(const TDesC& aUrl); + IMPORT_C const TDesC& Text() const; + IMPORT_C void SetTextL(const TDesC& aText); + IMPORT_C TInt32 PushMsgType() const; + + IMPORT_C void SetTrusted(TBool aTrusted); + IMPORT_C TBool Trusted() const; + IMPORT_C void SetMsgOriginUriL(const TDesC8& aOriginUri); + IMPORT_C const TDesC8& MsgOriginUri() const; + +private: //functions + CSIPushMsgEntry(); + void ExternalizeL(RMsvWriteStream& aStream); + void InternalizeL(RMsvReadStream& aStream); + void SetPushMsgType(); + +private: //data + TTime iExpiryDate; + TTime iCreatedDate; + HBufC* iText; + HBufC* iUrl; + HBufC* iMsgID; + HBufC8* iOriginUri; + }; + +#include + +#endif // __CSIPUSHMSGENTRY_H__