diff -r 000000000000 -r 72b543305e3a mobilemessaging/smsmtm/clientmtm/inc/tmsvsmsentry.h --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/mobilemessaging/smsmtm/clientmtm/inc/tmsvsmsentry.h Thu Dec 17 08:44:11 2009 +0200 @@ -0,0 +1,166 @@ +// Copyright (c) 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: +// tmsvsmsentry.h +// +/** + * @file + * @publishedPartner + * @released + */ + +#ifndef __TMSVSMSENTRY_H__ +#define __TMSVSMSENTRY_H__ + +#include + +/** +A specialisation of the message server index class for SMS message entries. + +It provides accessers for SMS message specific data, for instance the class type +of the SMS message. + +@publishedPartner +@released +*/ +class TMsvSmsEntry : public TMsvEntry + { +public: + +/** +Defines a set flags used to access message entry data specific to an SMS message. + +@publishedPartner +@released + +*/ + enum TMsvSmsEntryFlags + { +/** +Clears the entire set of SMS flags. +*/ + EMsvSmsEntryClearFlag = 0x00000000, +/** +Mask for the protocol identifier data. +*/ + EMsvSmsEntryProtocolIdentifier = 0x000000FF, +/** +Mask for the User Prompt Indicator flag. +*/ + EMsvSmsEntryUserPromptIndicator = 0x00000100, +/** +Mask for the SMS class data. +*/ + EMsvSmsEntryClass = 0x00000E00, +/** +Mask for the flag indicating whether the class data has been defined. +*/ + EMsvSmsEntryClassDefined = 0x00001000, +/** +Mask for the flag indicating whether the message ID is valid. +*/ + EMsvSmsMessageValid = 0x00002000, +/** +Mask for the delivery acknowledgement information. +*/ + EMsvSmsEntryDeliveryAckSummary = 0x0001C000, +/** +Parameter defining the number of bits to be shifted in order for the SMS class +data to be at the LSB of the data block. +*/ + EMsvSmsEntryClassShift = 9, +/** +Parameter defining the number of bits to be shifted in order for the delivery +acknowlwdgement information to be at the LSB of the data block. +*/ + EMsvSmsEntryDeliveryAckSummaryShift = 14 + }; + +/** +Defines the summary acknowledgement information. + +This information indicates whether the SMS message is not supplying a summary +for an acknowledgement, is still expecting acknowledgments or it has received +all expected acknowledgements. + +If all acknowledgements have been received the summary indicates whether all +the recipients have successfully acknowledged the message, all failed or there +was a mixture of successful and failed acknowledgements from the recipients. +*/ + enum TMsvSmsEntryAckSummary + { +/** +No summary information is being formed. +*/ + ENoAckSummary = 0, +/** +The message is waiting for acknowledgements to be received for all recipients +of this message. Some recipients may have received their acknowledgements but +there are still some recipients that have not. +*/ + EPendingAcks, +/** +The summary indicates that the message was successfully acknowledged by all recipients. +*/ + EAllSuccessful, +/** +The summary indicates that the message failed to be acknowledged by all recipients. +*/ + EAllFailed, +/** +The summary indicates a mixture of successful and failed acknowledgements from +the recipients of the message. All recipients of this message have received +their acknowledgements. +*/ + EMixed + }; + +public: + inline TMsvSmsEntry(); + inline TMsvSmsEntry(const TMsvEntry& aEntry); + + inline void SetUserPromptIndicator(TBool aUPI); + inline TBool UserPromptIndicator() const; + + inline TUint8 ProtocolIdentifier() const; + inline void SetProtocolIdentifier(TSmsProtocolIdentifier aPID); + inline void SetProtocolIdentifier(TUint8 aPID); + + inline TBool Class(TSmsDataCodingScheme::TSmsClass& aClass) const; + inline void SetClass(TBool aClassDefined,TSmsDataCodingScheme::TSmsClass aClass = TSmsDataCodingScheme::ESmsClass0); + + IMPORT_C TMsvSmsEntryAckSummary AckSummary(TSmsAckType aAckType) const; + IMPORT_C void SetAckSummary(TSmsAckType aAckType, TMsvSmsEntryAckSummary aAckSummary); + + IMPORT_C TBool MessageId(TInt32& aMessageId) const; + IMPORT_C void SetMessageId(TInt32 aMessageId, TBool aIsValid); + }; + +/** +The UID that indentifies the SMS message editor application. + +This is the response to the query for the KUidMsvMtmQueryEditorUidValue +capability. + +@see CSmsClientMtm::QueryCapability + +@publishedPartner +@released +*/ +const TInt KUidMsgSmsEditorAppVal=0x1000163f; + + + +#include + +#endif //__TMSVSMSENTRY_H__