--- a/epoc32/include/pushentry.h Wed Mar 31 12:27:01 2010 +0100
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,283 +0,0 @@
-// Copyright (c) 2000-2009 Nokia Corporation and/or its subsidiary(-ies).
-// All rights reserved.
-// This component and the accompanying materials are made available
-// under the terms of the License "Symbian Foundation License v1.0" to Symbian Foundation members and "Symbian Foundation End User License Agreement v1.0" to non-members
-// which accompanies this distribution, and is available
-// at the URL "http://www.symbianfoundation.org/legal/licencesv10.html".
-//
-// Initial Contributors:
-// Nokia Corporation - initial contribution.
-//
-// Contributors:
-//
-// Description:
-//
-
-
-
-/**
- @file
- @publishedPartner
- @released
-*/
-
-#ifndef __PUSHENTRY_H__
-#define __PUSHENTRY_H__
-
-#include <e32std.h>
-#include <msvapi.h>
-#include <msvstd.h>
-
-
-/** UID for the WAP Push MTM. */
-const TUid KUidMtmWapPush = {0x10009158};
-/** UID for WAP Push SI messages. */
-const TUid KUidWapPushMsgSI = {0x10009159};
-/** UID for WAP Push SL messages. */
-const TUid KUidWapPushMsgSL = {0x1000915A};
-/** UID for WAP Push multipart messages. */
-const TUid KUidWapPushMsgMultiPart = {0x1000915B};
-/** UID for WAP Push unknown-type messages. */
-const TUid KUidWapPushMsgUnknown = {0x1000915C};
-
-
-// Defines for Masking values used to extract status information from iMtmData1
-/** TMsvEntry::iMtmData1 mask to get Status value. */
-const TInt32 KPushMaskOnlyStatus = 0x0000000F;
-/** TMsvEntry::iMtmData1 mask to all bits except those for the Status value. */
-const TInt32 KPushMaskEverythingButStatus = 0xFFFFFFF0;
-/** TMsvEntry::iMtmData1 mask to get Action value. */
-const TInt32 KPushMaskOnlyAction = 0x000000F0;
-/** TMsvEntry::iMtmData1 mask to all bits except those for the Action value. */
-const TInt32 KPushMaskEverythingButAction = 0xFFFFFF0F;
-
-
-// Defines for Leave Codes
-/** Base value for WAP Push-specific errors. */
-const TInt KWPushBaseError = -1100;
-/** CPushMsgEntryBase::UpdateL() called without a message server entry being loaded
-error. */
-const TInt KWPushNoMsgIndexEntry = (KWPushBaseError-1);
-/** Longest String Allowed. */
-const TInt KLongestStringAllowed=KMaxTInt32;
-
-
-/**
-WAP Push Server MTM state information.
-
-This enum is used by TPushMTMProgress and CWapPushServerMtm.
-
-@publishedPartner
-@released
-@see TPushMTMProgress
-*/
-enum TPushServerMTMState
- {
- /** Server is waiting for a command. */
- EWapPushServerMtmWaiting,
- /** Server is executing a Change command. */
- EWapPushServerMtmChange,
- /** Server is executing a Create command. */
- EWapPushServerMtmCreate,
- /** Server is executing a Delete command. */
- EWapPushServerMtmDelete,
- /** Unused. */
- EWapPushServerMtmComplete
- };
-
-
-/**
-Encapsulates progress information returned for asynchronous operations with
-the WAP Push Server MTM.
-
-This allows error status and ID of current entry to be returned to caller.
-
-@publishedPartner
-@released
-@see CMsvOperation::ProgressL()
-*/
-class TPushMTMProgress
- {
-public:
- /** Error code. */
- TInt iError; // client side needs to be informed of an error
- /** The number of entries on which the operation was or will be attempted. */
- TInt iTotalMsgs;
- /** The number of entries which have been processed. */
- TInt iMsgsProcessed;
- /** ID of the (first) message being processed. */
- TMsvId iMsgId;
- /** Server state information. */
- TPushServerMTMState iPushState;// Operation that is currently in progress
- };
-
-/**
-Packages a TPushMTMProgress object into a descriptor.
-
-@publishedPartner
-@released
-*/
-typedef TPckgBuf<TPushMTMProgress> TPushMTMProgressBuf;
-
-
-/** Panic name and codes */
-_LIT(KPushPanicMoniker, "PUSHENTRY");
-
-/**
-@internalComponent
-@released
-*/
-enum TPushEntryPanic
- {
- /** Null Ids for entries not valid (Service, &Msg). */
- EPushEntryNullMsgId,
- /** Only save messages under the Service Entry. */
- EPushEntryServiceIdMismatch,
- /** Not a WAP Push MTM. */
- EPushEntryWrongMTMtype,
- /** iBioType value in TMsvEntry don't match Uid for Push Entry class. */
- EPushEntryWrongMsgtype
- };
-
-
-/**
-Abstract base class for classes that handle storage of WAP Push Messages in
-the message server.
-
-The class acts as a wrapper for TMsvEntry, and provides accessors and storage
-functionality. Key pieces of data are mapped onto certain TMsvEntry fields:
-this speeds up access by applications to this data. This base class has the
-generic mappings and storage behaviour. More specialised mappings and storage
-are defined in each derived class.
-
-The mappings of data to TMsvEntry fields standard to all classes are:
-
-Push Message Type UID: TMsvEntry::iBioType
-
-Status: sets bits 0-3 of TMsvEntry::iMtmData1
-
-Some derived classes need to store more data than there are available fields
-in TMsvEntry, and the Unknown type potentially requires large data capacity.
-This additional data is saved in the message store associated with the message
-entry. Derived classes provide this functionality by overriding ExternalizeL()
-and InternalizeL() implementations. The base class itself uses the message store
-to store the WAP Push message's raw header and From information.
-
-@publishedPartner
-@released
-*/
-class CPushMsgEntryBase: public CBase
- {
-public:
- /**
- WAP Push Message status values.
-
- @internalTechnology
- @released
- */
- enum TPushMsgStatus
- {
- /** Message is valid. */
- EPushMsgStatusValid = 0,
- /** Message is expired. */
- EPushMsgStatusExpired,
- /** Message is deleted. */
- EPushMsgStatusDeleted,
- /** Message is corrupt. */
- EPushMsgStatusCorrupt
- };
-
- IMPORT_C CPushMsgEntryBase();
-
- IMPORT_C virtual ~CPushMsgEntryBase();
-
- // Creates its own CMsvStore from the CMsvSession & calls StoreL()
- IMPORT_C virtual TMsvId SaveL(CMsvSession& aSession, TMsvId aParent);
- IMPORT_C virtual void UpdateL(CMsvSession& aSession);
-
- // Creates its own CMsvStore from the CMsvSession & calls RestoreL()
- IMPORT_C virtual void RetrieveL(CMsvSession& aSession, TMsvId aMsgId);
-
- IMPORT_C void SetEntry(const TMsvEntry& aEntry);
- IMPORT_C void SetStatus(TInt aStatusFlags);
- IMPORT_C const TDesC8& Header() const;
- IMPORT_C void SetHeaderL(const TDesC8& aHeader);
- IMPORT_C const TDesC8& From() const;
- IMPORT_C void SetFromL(const TDesC8& aFrom);
-
- /**
- Gets the push message content type.
-
- @return
- Content type
- */
- virtual const TDesC& ContentType() const =0;
-
- /**
- Gets the push message type.
-
- Each derived class represents a different push message type, and implements
- this to return the appropriate value.
-
- @return
- Push message type
- */
- virtual TInt32 PushMsgType() const =0;
- inline const TMsvEntry& Entry() const;
- inline TInt Status() const;
-
- IMPORT_C const TDesC& MsgDescription() const;
- IMPORT_C void SetMsgDescriptionL(const TDesC& aDescription);
- IMPORT_C const TDesC& MsgDetails() const;
- IMPORT_C void SetMsgDetailsL(const TDesC& aDetails);
- IMPORT_C const TTime& ReceivedDate() const;
- IMPORT_C TInt AppID(TPtrC8& aAppURI, TInt& aAppID, TBool& aIsAnInt) const;
-
-protected:
- IMPORT_C virtual void ConstructL(const TPtrC8& aAppURI);
- IMPORT_C virtual void ConstructL(const TInt& aAppID);
- IMPORT_C virtual void ConstructL();
-
- // No matching StoreL due to different needs for saving & updating msg's
- IMPORT_C void RestoreL(CMsvStore& aStore );
- IMPORT_C virtual void ExternalizeL(RMsvWriteStream& aStream);
- IMPORT_C virtual void InternalizeL(RMsvReadStream& aStream);
-
- /**
- Sets the push message type.
-
- Each derived class represents a different push message type, and implements
- this to set the appropriate value.
- */
- virtual void SetPushMsgType()=0;// Only the object can set it's push type - class dependent
- void DoSaveL(CMsvEntry& aMsvEntry);
-
-protected:
-
- /** Message server entry. */
- TMsvEntry iEntry;
-
- /** Copy of the message server entry Details field. */
- HBufC* iMsgDetails;
- /** Copy of the message server entry Description field. */
- HBufC* iMsgDescription;
-
- /** WAP Push message raw header buffer. */
- HBufC8* iHeader;
- /** From field buffer. */
- HBufC8* iFrom;
- /** Set to true if the object has an associated entry in the message server index. */
- TBool iHasServerEntry;
-
- /** Message AppID as a string. Only one of iAppIDString and iAppIdInt will be set.*/
- HBufC8* iAppIDString;
- /** Message AppID as a number. Only one of iAppIDString and iAppIdInt will be set.*/
- TInt iAppIdInt;
- };
-
-
-
-
-#include <pushentry.inl>
-
-#endif