CSmsMessage Class Reference

class CSmsMessage : public CBase

Represents a complete SMS message.

This class can:

Internalise and externalise its data

Encode/decode itself to/from one or more SMS PDU's

SMS Message Data is stored in the CSmsBufferBase iBuffer. SMS Message Settings are stored in the CSmsPDU iSmsPDU.

Inherits from

Public Member Functions
~CSmsMessage()
IMPORT_C voidAddEMSInformationElementL(const CEmsInformationElement &)
IMPORT_C voidAddEmailHeaderL(const TDesC &, const TDesC &)
IMPORT_C voidAddSlotL(const TGsmSmsSlotEntry &)
void *AdditionalInfo()
IMPORT_C TSmsEncodingAlternative7bitEncoding()
CSmsBufferBase &Buffer()
const CSmsBufferBase &Buffer()
IMPORT_C voidCopyEmsElementsL(CSmsMessage &)
IMPORT_C voidDecodeMessagePDUsL(const CArrayFix< TGsmSms > &)
IMPORT_C voidDecodePartialCompleteMessagePDUsL(const CArrayFix< TGsmSms > &, TBool)
IMPORT_C TBoolDecodedOnSim()
IMPORT_C TBoolEncodeIntoSinglePDUL(CArrayFix< TGsmSms > &)
IMPORT_C voidEncodeMessagePDUsL(CArrayFix< TGsmSms > &, TInt)
IMPORT_C voidExternalizeBufferL(RWriteStream &)
IMPORT_C voidExternalizeL(RWriteStream &)
IMPORT_C voidExternalizeVersionL(RWriteStream &)
IMPORT_C voidExternalizeWithoutBufferAndVersionL(RWriteStream &)
IMPORT_C voidExternalizeWithoutBufferL(RWriteStream &)
IMPORT_C TBoolForwardToClient()
IMPORT_C const RPointerArray< const CEmsInformationElement > &GetEMSInformationElementsL()
IMPORT_C TBoolGetEmailHeaderL(HBufC **, HBufC **)
IMPORT_C voidGetEncodingInfoL(TInt &, TInt &, TInt &, TInt &)
IMPORT_C CSmsIEOperation &GetOperationsForIEL(CSmsInformationElement::TSmsInformationElementIdentifier)
IMPORT_C CSmsNonIEOperation &GetOperationsForNonIEL(TSmsNonIEIdentifier)
voidInstallEmailHeaderInformationElementL(CSmsUserData &, TInt &)
voidInstallEmailHeaderInformationElementL(CSmsCommand &, TInt &)
IMPORT_C voidInternalizeBufferL(RReadStream &)
IMPORT_C voidInternalizeL(RReadStream &)
IMPORT_C voidInternalizeVersionL(RReadStream &)
IMPORT_C voidInternalizeWithoutBufferAndVersionL(RReadStream &)
IMPORT_C voidInternalizeWithoutBufferL(RReadStream &)
TBool Is16BitConcatenation()
TBool IsComplete()
TBool IsDecoded()
IMPORT_C TBoolIsEmailHeader()
IMPORT_C TBoolIsSupportedL(const TDesC &, TInt &, TInt &)
IMPORT_C TBoolIsSupportedL(const TDesC &, TInt &, TInt &, TInt &, TInt &)
TInt LogServerId()
IMPORT_C TBoolMatchSlots(const CArrayFixFlat< TGsmSmsSlotEntry > &)
IMPORT_C TIntMaxMessageLength()
IMPORT_C TIntMessageLengthL()
IMPORT_C CSmsMessage *NewL(RFs &, const TGsmSms &, CSmsBufferBase *, TBool, TBool)
IMPORT_C CSmsMessage *NewL(RFs &, CSmsPDU::TSmsPDUType, CSmsBufferBase *, TBool)
IMPORT_C TIntNumMessagePDUsL()
IMPORT_C voidOptimizeSettingsL(TInt)
voidParsedServiceCenterAddress(TGsmSmsTelNumber &)
voidParsedToFromAddress(TGsmSmsTelNumber &)
IMPORT_C CEmsInformationElement *RemoveEMSInformationElementL(const TUint, const TSmsId)
IMPORT_C RPointerArray< CEmsInformationElement > *RemoveEMSInformationElementsL(const TUint, const TSmsId)
IMPORT_C voidResetEMSL()
IMPORT_C TSmsStatusReportSchemeScheme()
TPtrC ServiceCenterAddress()
voidSet16BitConcatenation(TBool)
IMPORT_C TIntSetAlternative7bitEncoding(TSmsEncoding)
IMPORT_C voidSetDecodedOnSIM(TBool)
IMPORT_C voidSetForwardToClient(TBool)
voidSetLogServerId(TInt)
voidSetParsedServiceCenterAddressL(const TGsmSmsTelNumber &)
voidSetParsedToFromAddressL(const TGsmSmsTelNumber &)
voidSetServiceCenterAddressL(const TDesC &)
voidSetStatus(NMobileSmsStore::TMobileSmsStoreStatus)
voidSetStorage(TMobileSmsStorage)
voidSetTime(const TTime &)
voidSetToFromAddressL(const TDesC &)
IMPORT_C TBoolSetUTCOffset(const TTimeIntervalSeconds &)
IMPORT_C voidSetUserDataSettingsL(const TSmsUserDataSettings &)
IMPORT_C TIntSetVersion(TInt)
CSmsPDU &SmsPDU()
const CSmsPDU &SmsPDU()
NMobileSmsStore::TMobileSmsStoreStatus Status()
TMobileSmsStorage Storage()
IMPORT_C TBoolTextPresent()
const TTime &Time()
TPtrC ToFromAddress()
CSmsPDU::TSmsPDUType Type()
IMPORT_C TTimeIntervalSecondsUTCOffset()
IMPORT_C voidUpdateSlotsL(TDesC8 &)
IMPORT_C voidUserDataSettings(TSmsUserDataSettings &)
IMPORT_C TIntVersion()
Private Member Functions
CSmsMessage(RFs &, CSmsBufferBase *)
voidAddControlInformationElementsToMultiSegmentMessageL(TBool)
voidAddControlInformationElementsToMultiSegmentMessageL(TSmsInformationElementCategories::TInformationElementCategory, TBool, TBool)
voidAddCurrentPDUToPDUArrayL(TBool)
TBool AddEMSInformationElementsToMultiSegmentMessageL(CSmsEMSBufferSegmenter &, TUint &, TBool, TSmsEncoding &, RPointerArray< CEmsInformationElement > &, TUint &, TUint &)
TBool AddEMSInformationElementsToSingleSegmentMessageL(CSmsEMSBufferSegmenter &, TSmsEncoding)
voidAddEmsObjectDistributionL(const CEmsObjectDistribution &)
voidAddEmsUserPromptL(const CEmsUserPrompt &)
TBool AddIEToUserDataL(CEmsInformationElement *, TInt, TUint &, CSmsEMSBufferSegmenter &)
voidAddIncompleteMessageInfoL(TInt, TInt, TBool)
TInt AddReceivedEmsInformationElement(CEmsInformationElement *)
TBool BinaryData()
TBool CanBeRemoved(const CEmsInformationElement &, TUint)
voidConstructL(const TGsmSms &, TBool, TBool)
voidConstructL(CSmsPDU::TSmsPDUType, TBool)
TInt ConvertedBufferLengthL(const CSmsBufferBase &)
voidCorrectFormattingInSinglePDUL()
voidCorrectFormattingL(TUint, RPointerArray< CEmsInformationElement > &, TUint)
voidCreateControlIEOperationsClassesL()
voidCreateControlNonIEOperationsClassesL()
voidDecodeBufferL(CArrayPtr< CSmsPDU > &, CSmsBufferBase &)
voidDecodeOnlyTextL(CArrayPtr< CSmsPDU > &, CSmsBufferBase &)
voidEncodeBufferL(CArrayFix< TGsmSms > &, TInt, const CSmsBufferBase &, TInt &, TInt &, TInt &, TBool)
TBool EncodeIntoSinglePDUL(CArrayFix< TGsmSms > &, TInt &, TInt &, TInt &)
voidEncodingTPSRRFromSchemesIntoSinglePDUL()
TInt FillPduL(CSmsEMSBufferSegmenter &, TInt, TSmsEncoding)
TSmsStatusReportScheme FindSchemeL(const CArrayPtr< CSmsPDU > &)
voidInstallControlInformationElementsL(CSmsUserData &, TInt)
voidInstallControlInformationElementsL(CSmsCommand &)
voidInstallEmsInformationElementsL(CSmsUserData &, TInt)
voidInstallEmsInformationElementsL(CSmsCommand &, TInt)
voidInstallTPSRRInformationL(const CArrayPtr< CSmsPDU > &, TInt)
voidMergeAlternative7bitEncoding(TSmsEncoding)
TInt NumMessageEmsPDUsL()
voidPrepareCommandMessageL(void)
voidResetWorkingPDUL()
voidSetIsComplete(TBool)
voidSetIsDecoded(TBool)
voidUpdateUserPromptAndODIElementsStartPosition()
Inherited Functions
CBase::CBase()
CBase::Delete(CBase *)
CBase::Extension_(TUint,TAny *&,TAny *)
CBase::operator new(TUint)
CBase::operator new(TUint,TAny *)
CBase::operator new(TUint,TLeave)
CBase::operator new(TUint,TLeave,TUint)
CBase::operator new(TUint,TUint)
CBase::~CBase()
Public Member Enumerations
enumTMobileSmsStorage { ESmsNoStorage = 0x00, ESmsSIMStorage = 0x04, ESmsPhoneStorage = 0x08, ESmsCombinedStorage = 0x0C }
enumTSmsMessageVersion {
ESmsMessageV0, ESmsMessageV1, ESmsMessageV2, ESmsMessageV3, ESmsIncompleteClass0MessageV = ESmsMessageV3, ESmsMessageV4
}
enumTSmsOptimizationFlags { ESmsFlagOptimizeAlphabet = 0x01, ESmsFlagOptimizeConcatenation = 0x08, ESmsFlagOptimizeConcatenation16BitReference = 0x10 }
enumTTimeIntervalsRepresentedInSeconds { E15MinutesRepresentedInSeconds = 15 * 60, EMaximumSeconds = 79 * E15MinutesRepresentedInSeconds }
Private Member Enumerations
enumTDecodedOnSimBit { EDecodedOnSimBit = 0x80000000 }
enumTForwardToClientBit { EForwardToClientBit = 0x40000000 }
enumTSmsMessageFlags { ESmsFlagIsComplete = 0x01, ESmsFlagIsDecoded = 0x02, ESmsStorageMask = 0x0C, ESmsUTCOffsetSecondGranularityMask = 0x1FFFF0, ESmsUTCOffsetSignBit = 0x200000 }
enumTTimeBitMaskOffsets { ESecondBitOffset = 4, ESignBitOffset = 21 }
Public Attributes
CArrayFixFlat< TGsmSmsSlotEntry >iSlotArray
Protected Attributes
CSmsMessageAdditionalAttributes *iAdditionalInfo
TInt iVersion
Private Attributes
CSmsBufferBase *iBuffer
CCnvCharacterSetConverter *iCharacterSetConverter
TInt iFlags
RFs &iFs
RPointerArray< CEmsInformationElement > *iInformationElementArray
TBool iIs16BitConcatenation
TInt iLogServerId
CSmsPDU *iSmsPDU
NMobileSmsStore::TMobileSmsStoreStatus iStatus
TTime iTime

Constructor & Destructor Documentation

CSmsMessage(RFs &, CSmsBufferBase *)

CSmsMessage(RFs &aFs,
CSmsBufferBase *aBuffer
)[private]

Parameters

RFs & aFs
CSmsBufferBase * aBuffer

~CSmsMessage()

IMPORT_C~CSmsMessage()

Member Functions Documentation

AddControlInformationElementsToMultiSegmentMessageL(TBool)

voidAddControlInformationElementsToMultiSegmentMessageL(TBoolaDoEncode)[private]

Parameters

TBool aDoEncode

AddControlInformationElementsToMultiSegmentMessageL(TSmsInformationElementCategories::TInformationElementCategory, TBool, TBool)

voidAddControlInformationElementsToMultiSegmentMessageL(TSmsInformationElementCategories::TInformationElementCategoryaCategory,
TBoolaMandatoryInPDU,
TBoolaDoEncode
)[private]

Parameters

TSmsInformationElementCategories::TInformationElementCategory aCategory
TBool aMandatoryInPDU
TBool aDoEncode

AddCurrentPDUToPDUArrayL(TBool)

voidAddCurrentPDUToPDUArrayL(TBoolaDoEncode)[private]

Parameters

TBool aDoEncode

AddEMSInformationElementL(const CEmsInformationElement &)

IMPORT_C voidAddEMSInformationElementL(const CEmsInformationElement &aEmsIE)

Parameters

const CEmsInformationElement & aEmsIE

AddEMSInformationElementsToMultiSegmentMessageL(CSmsEMSBufferSegmenter &, TUint &, TBool, TSmsEncoding &, RPointerArray< CEmsInformationElement > &, TUint &, TUint &)

TBool AddEMSInformationElementsToMultiSegmentMessageL(CSmsEMSBufferSegmenter &aSegmenter,
TUint &aCharsAdded,
TBoolaDoEncode,
TSmsEncoding &aEncoding,
RPointerArray< CEmsInformationElement > &aCorrectedFormatingIEArray,
TUint &aCurEMSIEno,
TUint &aBaseAddr
)[private]

Parameters

CSmsEMSBufferSegmenter & aSegmenter
TUint & aCharsAdded
TBool aDoEncode
TSmsEncoding & aEncoding
RPointerArray< CEmsInformationElement > & aCorrectedFormatingIEArray
TUint & aCurEMSIEno
TUint & aBaseAddr

AddEMSInformationElementsToSingleSegmentMessageL(CSmsEMSBufferSegmenter &, TSmsEncoding)

TBool AddEMSInformationElementsToSingleSegmentMessageL(CSmsEMSBufferSegmenter &aSegmenter,
TSmsEncodingaEncoding
)[private]

Parameters

CSmsEMSBufferSegmenter & aSegmenter
TSmsEncoding aEncoding

AddEmailHeaderL(const TDesC &, const TDesC &)

IMPORT_C voidAddEmailHeaderL(const TDesC &aEmailHeader,
const TDesC &aEmailBody
)

Parameters

const TDesC & aEmailHeader
const TDesC & aEmailBody

AddEmsObjectDistributionL(const CEmsObjectDistribution &)

voidAddEmsObjectDistributionL(const CEmsObjectDistribution &aObjectDistributionIE)[private]

Parameters

const CEmsObjectDistribution & aObjectDistributionIE

AddEmsUserPromptL(const CEmsUserPrompt &)

voidAddEmsUserPromptL(const CEmsUserPrompt &aEmsIE)[private]

Parameters

const CEmsUserPrompt & aEmsIE

AddIEToUserDataL(CEmsInformationElement *, TInt, TUint &, CSmsEMSBufferSegmenter &)

TBool AddIEToUserDataL(CEmsInformationElement *aIe,
TIntaCharsAlreadyAdded,
TUint &aCharsAddedToCurrentPDU,
CSmsEMSBufferSegmenter &aSeg
)[private]

Parameters

CEmsInformationElement * aIe
TInt aCharsAlreadyAdded
TUint & aCharsAddedToCurrentPDU
CSmsEMSBufferSegmenter & aSeg

AddIncompleteMessageInfoL(TInt, TInt, TBool)

voidAddIncompleteMessageInfoL(TIntaStartPDU,
TIntaEndPDU,
TBoolaLastPartialCompleteMsg
)[private]

Parameters

TInt aStartPDU
TInt aEndPDU
TBool aLastPartialCompleteMsg

AddReceivedEmsInformationElement(CEmsInformationElement *)

TInt AddReceivedEmsInformationElement(CEmsInformationElement *aIE)[private]

Parameters

CEmsInformationElement * aIE

AddSlotL(const TGsmSmsSlotEntry &)

IMPORT_C voidAddSlotL(const TGsmSmsSlotEntry &aSlot)

Parameters

const TGsmSmsSlotEntry & aSlot

AdditionalInfo()

void *AdditionalInfo()[inline]

Alternative7bitEncoding()

IMPORT_C TSmsEncodingAlternative7bitEncoding()const

BinaryData()

TBool BinaryData()const [private, inline]

True if the User Data is Binary

Buffer()

CSmsBufferBase &Buffer()[inline]

Gets the text portion of the message (non-const).

Text portion of the message

Buffer()

const CSmsBufferBase &Buffer()const [inline]

The text portion of the CSmsMessage (const)

CanBeRemoved(const CEmsInformationElement &, TUint)

TBool CanBeRemoved(const CEmsInformationElement &aIE,
TUintaIEIndex
)[private]

Parameters

const CEmsInformationElement & aIE
TUint aIEIndex

ConstructL(const TGsmSms &, TBool, TBool)

voidConstructL(const TGsmSms &aGsmSms,
TBoolaIsRPError,
TBoolaIsMobileTerminated
)[private]

Parameters

const TGsmSms & aGsmSms
TBool aIsRPError
TBool aIsMobileTerminated

ConstructL(CSmsPDU::TSmsPDUType, TBool)

voidConstructL(CSmsPDU::TSmsPDUTypeaType,
TBoolaIsRPError
)[private]

Parameters

CSmsPDU::TSmsPDUType aType
TBool aIsRPError

ConvertedBufferLengthL(const CSmsBufferBase &)

TInt ConvertedBufferLengthL(const CSmsBufferBase &aBuffer)[private]

Parameters

const CSmsBufferBase & aBuffer

CopyEmsElementsL(CSmsMessage &)

IMPORT_C voidCopyEmsElementsL(CSmsMessage &aToMessage)const

Parameters

CSmsMessage & aToMessage

CorrectFormattingInSinglePDUL()

voidCorrectFormattingInSinglePDUL()[private]

CorrectFormattingL(TUint, RPointerArray< CEmsInformationElement > &, TUint)

voidCorrectFormattingL(TUintaCharsAddedToCurrentPDU,
RPointerArray< CEmsInformationElement > &aCorrectedFormatingIEArray,
TUintaBaseAddr
)[private]

Parameters

TUint aCharsAddedToCurrentPDU
RPointerArray< CEmsInformationElement > & aCorrectedFormatingIEArray
TUint aBaseAddr

CreateControlIEOperationsClassesL()

voidCreateControlIEOperationsClassesL()[private]

CreateControlNonIEOperationsClassesL()

voidCreateControlNonIEOperationsClassesL()[private]

DecodeBufferL(CArrayPtr< CSmsPDU > &, CSmsBufferBase &)

voidDecodeBufferL(CArrayPtr< CSmsPDU > &aSmsPDUArray,
CSmsBufferBase &aBuffer
)[private]

Parameters

CArrayPtr< CSmsPDU > & aSmsPDUArray
CSmsBufferBase & aBuffer

DecodeMessagePDUsL(const CArrayFix< TGsmSms > &)

IMPORT_C voidDecodeMessagePDUsL(const CArrayFix< TGsmSms > &aSmsArray)

Parameters

const CArrayFix< TGsmSms > & aSmsArray

DecodeOnlyTextL(CArrayPtr< CSmsPDU > &, CSmsBufferBase &)

voidDecodeOnlyTextL(CArrayPtr< CSmsPDU > &aSmsPDUArray,
CSmsBufferBase &aBuffer
)[private]

Parameters

CArrayPtr< CSmsPDU > & aSmsPDUArray
CSmsBufferBase & aBuffer

DecodePartialCompleteMessagePDUsL(const CArrayFix< TGsmSms > &, TBool)

IMPORT_C voidDecodePartialCompleteMessagePDUsL(const CArrayFix< TGsmSms > &aSmsArray,
TBoolaLastPartialCompleteMsg
)

Parameters

const CArrayFix< TGsmSms > & aSmsArray
TBool aLastPartialCompleteMsg

DecodedOnSim()

IMPORT_C TBoolDecodedOnSim()

EncodeBufferL(CArrayFix< TGsmSms > &, TInt, const CSmsBufferBase &, TInt &, TInt &, TInt &, TBool)

voidEncodeBufferL(CArrayFix< TGsmSms > &aSmsArray,
TIntaReference,
const CSmsBufferBase &aBuffer,
TInt &aUnconvertedChars,
TInt &aDowngradedChars,
TInt &aFreeUDUnitsInLastPDU,
TBoolaDoEncode = ETrue
)[private]

Parameters

CArrayFix< TGsmSms > & aSmsArray
TInt aReference
const CSmsBufferBase & aBuffer
TInt & aUnconvertedChars
TInt & aDowngradedChars
TInt & aFreeUDUnitsInLastPDU
TBool aDoEncode = ETrue

EncodeIntoSinglePDUL(CArrayFix< TGsmSms > &)

IMPORT_C TBoolEncodeIntoSinglePDUL(CArrayFix< TGsmSms > &aSmsArray)

Parameters

CArrayFix< TGsmSms > & aSmsArray

EncodeIntoSinglePDUL(CArrayFix< TGsmSms > &, TInt &, TInt &, TInt &)

TBool EncodeIntoSinglePDUL(CArrayFix< TGsmSms > &aSmsArray,
TInt &aUnconvertedChars,
TInt &aDowngradedChars,
TInt &aFreeUDUnitsInLastPDU
)[private]

Parameters

CArrayFix< TGsmSms > & aSmsArray
TInt & aUnconvertedChars
TInt & aDowngradedChars
TInt & aFreeUDUnitsInLastPDU

EncodeMessagePDUsL(CArrayFix< TGsmSms > &, TInt)

IMPORT_C voidEncodeMessagePDUsL(CArrayFix< TGsmSms > &aSmsArray,
TIntaReference = 0
)

Parameters

CArrayFix< TGsmSms > & aSmsArray
TInt aReference = 0

EncodingTPSRRFromSchemesIntoSinglePDUL()

voidEncodingTPSRRFromSchemesIntoSinglePDUL()[private]

ExternalizeBufferL(RWriteStream &)

IMPORT_C voidExternalizeBufferL(RWriteStream &aStream)const

Parameters

RWriteStream & aStream

ExternalizeL(RWriteStream &)

IMPORT_C voidExternalizeL(RWriteStream &aStream)const

Parameters

RWriteStream & aStream

ExternalizeVersionL(RWriteStream &)

IMPORT_C voidExternalizeVersionL(RWriteStream &aStream)const

Parameters

RWriteStream & aStream

ExternalizeWithoutBufferAndVersionL(RWriteStream &)

IMPORT_C voidExternalizeWithoutBufferAndVersionL(RWriteStream &aStream)const

Parameters

RWriteStream & aStream

ExternalizeWithoutBufferL(RWriteStream &)

IMPORT_C voidExternalizeWithoutBufferL(RWriteStream &aStream)const

Parameters

RWriteStream & aStream

FillPduL(CSmsEMSBufferSegmenter &, TInt, TSmsEncoding)

TInt FillPduL(CSmsEMSBufferSegmenter &aSeg,
TIntaNumChars,
TSmsEncodingaEncoding
)[private]

Parameters

CSmsEMSBufferSegmenter & aSeg
TInt aNumChars
TSmsEncoding aEncoding

FindSchemeL(const CArrayPtr< CSmsPDU > &)

TSmsStatusReportScheme FindSchemeL(const CArrayPtr< CSmsPDU > &aSmsPDUArray)[private]

Parameters

const CArrayPtr< CSmsPDU > & aSmsPDUArray

ForwardToClient()

IMPORT_C TBoolForwardToClient()

GetEMSInformationElementsL()

IMPORT_C const RPointerArray< const CEmsInformationElement > &GetEMSInformationElementsL()const

GetEmailHeaderL(HBufC **, HBufC **)

IMPORT_C TBoolGetEmailHeaderL(HBufC **aEmailHeader,
HBufC **aEmailBody
)

Parameters

HBufC ** aEmailHeader
HBufC ** aEmailBody

GetEncodingInfoL(TInt &, TInt &, TInt &, TInt &)

IMPORT_C voidGetEncodingInfoL(TInt &aPdus,
TInt &aUnconvertedChars,
TInt &aDowngradedChars,
TInt &aFreeUDUnitsInLastPDU
)

Parameters

TInt & aPdus
TInt & aUnconvertedChars
TInt & aDowngradedChars
TInt & aFreeUDUnitsInLastPDU

GetOperationsForIEL(CSmsInformationElement::TSmsInformationElementIdentifier)

IMPORT_C CSmsIEOperation &GetOperationsForIEL(CSmsInformationElement::TSmsInformationElementIdentifier)const

GetOperationsForNonIEL(TSmsNonIEIdentifier)

IMPORT_C CSmsNonIEOperation &GetOperationsForNonIEL(TSmsNonIEIdentifier)const

InstallControlInformationElementsL(CSmsUserData &, TInt)

voidInstallControlInformationElementsL(CSmsUserData &aUserData,
TIntaSegmentSequenceNum
)[private]

Parameters

CSmsUserData & aUserData
TInt aSegmentSequenceNum

InstallControlInformationElementsL(CSmsCommand &)

voidInstallControlInformationElementsL(CSmsCommand &aCommand)[private]

Parameters

CSmsCommand & aCommand

InstallEmailHeaderInformationElementL(CSmsUserData &, TInt &)

voidInstallEmailHeaderInformationElementL(CSmsUserData &aUserData,
TInt &aHeaderLength
)

Parameters

CSmsUserData & aUserData
TInt & aHeaderLength

InstallEmailHeaderInformationElementL(CSmsCommand &, TInt &)

voidInstallEmailHeaderInformationElementL(CSmsCommand &aCommand,
TInt &aHeaderLength
)

Parameters

CSmsCommand & aCommand
TInt & aHeaderLength

InstallEmsInformationElementsL(CSmsUserData &, TInt)

voidInstallEmsInformationElementsL(CSmsUserData &aUserData,
TIntaStartPosition
)[private]

Parameters

CSmsUserData & aUserData
TInt aStartPosition

InstallEmsInformationElementsL(CSmsCommand &, TInt)

voidInstallEmsInformationElementsL(CSmsCommand &aCommand,
TIntaStartPosition
)[private]

Parameters

CSmsCommand & aCommand
TInt aStartPosition

InstallTPSRRInformationL(const CArrayPtr< CSmsPDU > &, TInt)

voidInstallTPSRRInformationL(const CArrayPtr< CSmsPDU > &aSmsPDUArray,
TIntaSegmentSequenceNum
)[private]

Parameters

const CArrayPtr< CSmsPDU > & aSmsPDUArray
TInt aSegmentSequenceNum

InternalizeBufferL(RReadStream &)

IMPORT_C voidInternalizeBufferL(RReadStream &aStream)

Parameters

RReadStream & aStream

InternalizeL(RReadStream &)

IMPORT_C voidInternalizeL(RReadStream &aStream)

Parameters

RReadStream & aStream

InternalizeVersionL(RReadStream &)

IMPORT_C voidInternalizeVersionL(RReadStream &aStream)

Parameters

RReadStream & aStream

InternalizeWithoutBufferAndVersionL(RReadStream &)

IMPORT_C voidInternalizeWithoutBufferAndVersionL(RReadStream &aStream)

Parameters

RReadStream & aStream

InternalizeWithoutBufferL(RReadStream &)

IMPORT_C voidInternalizeWithoutBufferL(RReadStream &aStream)

Parameters

RReadStream & aStream

Is16BitConcatenation()

TBool Is16BitConcatenation()const [inline]

IsComplete()

TBool IsComplete()const [inline]

Tests if the SMS message is complete.

True if complete

IsDecoded()

TBool IsDecoded()const [inline]

Tests if the SMS message is Decoded.

True if Decoded

IsEmailHeader()

IMPORT_C TBoolIsEmailHeader()const

IsSupportedL(const TDesC &, TInt &, TInt &)

IMPORT_C TBoolIsSupportedL(const TDesC &aDes,
TInt &aNumberOfUnconvertibleCharacters,
TInt &aIndexOfFirstUnconvertibleCharacter
)

Parameters

const TDesC & aDes
TInt & aNumberOfUnconvertibleCharacters
TInt & aIndexOfFirstUnconvertibleCharacter

IsSupportedL(const TDesC &, TInt &, TInt &, TInt &, TInt &)

IMPORT_C TBoolIsSupportedL(const TDesC &aDes,
TInt &aNumberOfUnconvertibleCharacters,
TInt &aNumberOfDowngradedCharacters,
TInt &aNumberRequiringAlternativeEncoding,
TInt &aIndexOfFirstUnconvertibleCharacter
)const

Parameters

const TDesC & aDes
TInt & aNumberOfUnconvertibleCharacters
TInt & aNumberOfDowngradedCharacters
TInt & aNumberRequiringAlternativeEncoding
TInt & aIndexOfFirstUnconvertibleCharacter

LogServerId()

TInt LogServerId()const [inline]

Gets the Log Server Id.

Log Server Id

MatchSlots(const CArrayFixFlat< TGsmSmsSlotEntry > &)

IMPORT_C TBoolMatchSlots(const CArrayFixFlat< TGsmSmsSlotEntry > &aSlotArray)

Parameters

const CArrayFixFlat< TGsmSmsSlotEntry > & aSlotArray

MaxMessageLength()

IMPORT_C TIntMaxMessageLength()const

MergeAlternative7bitEncoding(TSmsEncoding)

voidMergeAlternative7bitEncoding(TSmsEncodingaEncoding)const [private]

Parameters

TSmsEncoding aEncoding

MessageLengthL()

IMPORT_C TIntMessageLengthL()

NewL(RFs &, const TGsmSms &, CSmsBufferBase *, TBool, TBool)

IMPORT_C CSmsMessage *NewL(RFs &aFs,
const TGsmSms &aGsmSms,
CSmsBufferBase *aBuffer,
TBoolaIsRPError = EFalse,
TBoolaIsMobileTerminated = ETrue
)[static]

Parameters

RFs & aFs
const TGsmSms & aGsmSms
CSmsBufferBase * aBuffer
TBool aIsRPError = EFalse
TBool aIsMobileTerminated = ETrue

NewL(RFs &, CSmsPDU::TSmsPDUType, CSmsBufferBase *, TBool)

IMPORT_C CSmsMessage *NewL(RFs &aFs,
CSmsPDU::TSmsPDUTypeaType,
CSmsBufferBase *aBuffer,
TBoolaIsRPError = EFalse
)[static]

Parameters

RFs & aFs
CSmsPDU::TSmsPDUType aType
CSmsBufferBase * aBuffer
TBool aIsRPError = EFalse

NumMessageEmsPDUsL()

TInt NumMessageEmsPDUsL()[private]

NumMessagePDUsL()

IMPORT_C TIntNumMessagePDUsL()

OptimizeSettingsL(TInt)

IMPORT_C voidOptimizeSettingsL(TIntaOptions)

Parameters

TInt aOptions

ParsedServiceCenterAddress(TGsmSmsTelNumber &)

voidParsedServiceCenterAddress(TGsmSmsTelNumber &aParsedAddress)const [inline]

Gets the Service Center Address as an ETSI-formatted telephone number.

Parameters

TGsmSmsTelNumber & aParsedAddressService Center Address

ParsedToFromAddress(TGsmSmsTelNumber &)

voidParsedToFromAddress(TGsmSmsTelNumber &aParsedAddress)const [inline]

Gets To and From addresses in ETSI format.

Parameters

TGsmSmsTelNumber & aParsedAddressTo and From addresses

PrepareCommandMessageL(void)

voidPrepareCommandMessageL(void)[private]

Parameters

void

RemoveEMSInformationElementL(const TUint, const TSmsId)

IMPORT_C CEmsInformationElement *RemoveEMSInformationElementL(const TUintaStartPosition,
const TSmsIdaEmsId
)

Parameters

const TUint aStartPosition
const TSmsId aEmsId

RemoveEMSInformationElementsL(const TUint, const TSmsId)

IMPORT_C RPointerArray< CEmsInformationElement > *RemoveEMSInformationElementsL(const TUintaStartPosition,
const TSmsIdaEmsId
)

Parameters

const TUint aStartPosition
const TSmsId aEmsId

ResetEMSL()

IMPORT_C voidResetEMSL()

ResetWorkingPDUL()

voidResetWorkingPDUL()[private]

Scheme()

IMPORT_C TSmsStatusReportSchemeScheme()const

ServiceCenterAddress()

TPtrC ServiceCenterAddress()const [inline]

Gets the message Service Center Address.

Service Center Address

Set16BitConcatenation(TBool)

voidSet16BitConcatenation(TBoolaIs16BitConcatenation)[inline]

Parameters

TBool aIs16BitConcatenation

SetAlternative7bitEncoding(TSmsEncoding)

IMPORT_C TIntSetAlternative7bitEncoding(TSmsEncodingaEncoding)

Parameters

TSmsEncoding aEncoding

SetDecodedOnSIM(TBool)

IMPORT_C voidSetDecodedOnSIM(TBoolaOnSim)

Parameters

TBool aOnSim

SetForwardToClient(TBool)

IMPORT_C voidSetForwardToClient(TBoolaForward)

Parameters

TBool aForward

SetIsComplete(TBool)

voidSetIsComplete(TBoolaIsComplete)[private, inline]

Parameters

TBool aIsCompleteSet to True for CSmsMessage complete

SetIsDecoded(TBool)

voidSetIsDecoded(TBoolaIsDecoded)[private, inline]

Parameters

TBool aIsDecodedSet to True for CSmsMessage decoded

SetLogServerId(TInt)

voidSetLogServerId(TIntaId)[inline]

Sets the Log Server Id.

Parameters

TInt aIdLog Server Id

SetParsedServiceCenterAddressL(const TGsmSmsTelNumber &)

voidSetParsedServiceCenterAddressL(const TGsmSmsTelNumber &aParsedAddress)[inline]

Sets the Service Center Address as an ETSI-formatted telephone number.

Parameters

const TGsmSmsTelNumber & aParsedAddressService Center Address

SetParsedToFromAddressL(const TGsmSmsTelNumber &)

voidSetParsedToFromAddressL(const TGsmSmsTelNumber &aParsedAddress)[inline]

Sets To and From addresses in ETSI format.

Parameters

const TGsmSmsTelNumber & aParsedAddressTo and From addresses

SetServiceCenterAddressL(const TDesC &)

voidSetServiceCenterAddressL(const TDesC &aAddress)[inline]

Sets the message Service Center Address.

Parameters

const TDesC & aAddressService Center Address

SetStatus(NMobileSmsStore::TMobileSmsStoreStatus)

voidSetStatus(NMobileSmsStore::TMobileSmsStoreStatusaStatus)[inline]

Sets the SMS store status of the message.

Parameters

NMobileSmsStore::TMobileSmsStoreStatus aStatusSMS store status

SetStorage(TMobileSmsStorage)

voidSetStorage(TMobileSmsStorageaStorage)[inline]

Sets the physical location where the message represented by the object is stored.

Parameters

TMobileSmsStorage aStoragePhysical location

SetTime(const TTime &)

voidSetTime(const TTime &aTime)[inline]

Sets the time of message creation.

Parameters

const TTime & aTimeTime of message creation

SetToFromAddressL(const TDesC &)

voidSetToFromAddressL(const TDesC &aAddress)[inline]

Sets unparsed To and From addresses.

Parameters

const TDesC & aAddressTo and From addresses

SetUTCOffset(const TTimeIntervalSeconds &)

IMPORT_C TBoolSetUTCOffset(const TTimeIntervalSeconds &aTimeOffset)

Parameters

const TTimeIntervalSeconds & aTimeOffset

SetUserDataSettingsL(const TSmsUserDataSettings &)

IMPORT_C voidSetUserDataSettingsL(const TSmsUserDataSettings &aSettings)

Parameters

const TSmsUserDataSettings & aSettings

SetVersion(TInt)

IMPORT_C TIntSetVersion(TIntaVersion)

Parameters

TInt aVersion

SmsPDU()

CSmsPDU &SmsPDU()[inline]

Gets the message PDU.

PDU.

SmsPDU()

const CSmsPDU &SmsPDU()const [inline]

Gets the message PDU (const).

PDU.

Status()

NMobileSmsStore::TMobileSmsStoreStatus Status()const [inline]

Gets the SMS store status of the message.

SMS store status

Storage()

TMobileSmsStorage Storage()const [inline]

Gets the physical location where the message represented by the object is stored.

Physical location

TextPresent()

IMPORT_C TBoolTextPresent()const

Time()

const TTime &Time()const [inline]

Gets the time of message creation.

Time of message creation

ToFromAddress()

TPtrC ToFromAddress()const [inline]

Gets unparsed To and From addresses.

To and From addresses

Type()

CSmsPDU::TSmsPDUType Type()const [inline]

UTCOffset()

IMPORT_C TTimeIntervalSecondsUTCOffset()const

UpdateSlotsL(TDesC8 &)

IMPORT_C voidUpdateSlotsL(TDesC8 &aBuf)

Parameters

TDesC8 & aBuf

UpdateUserPromptAndODIElementsStartPosition()

voidUpdateUserPromptAndODIElementsStartPosition()[private]

UserDataSettings(TSmsUserDataSettings &)

IMPORT_C voidUserDataSettings(TSmsUserDataSettings &aSettings)const

Parameters

TSmsUserDataSettings & aSettings

Version()

IMPORT_C TIntVersion()

Member Enumerations Documentation

Enum TDecodedOnSimBit

Enumerators

EDecodedOnSimBit = 0x80000000

Enum TForwardToClientBit

Enumerators

EForwardToClientBit = 0x40000000

Enum TMobileSmsStorage

Flags that indicate whether a message is stored.

Enumerators

ESmsNoStorage = 0x00

No storage.

ESmsSIMStorage = 0x04

SIM storage.

ESmsPhoneStorage = 0x08

Phone storage.

ESmsCombinedStorage = 0x0C

Combined storage.

Enum TSmsMessageFlags

Enumerators

ESmsFlagIsComplete = 0x01
ESmsFlagIsDecoded = 0x02
ESmsStorageMask = 0x0C
ESmsUTCOffsetSecondGranularityMask = 0x1FFFF0
ESmsUTCOffsetSignBit = 0x200000

Enum TSmsMessageVersion

SMS versions

Enumerators

ESmsMessageV0

The default value.

ESmsMessageV1

Release 6 SMS Support

ESmsMessageV2

Latest version

ESmsMessageV3

Incomplete Class0 Information Support

ESmsIncompleteClass0MessageV = ESmsMessageV3
ESmsMessageV4

National language 7bit encoding support

Enum TSmsOptimizationFlags

User data optimisation flags.

Enumerators

ESmsFlagOptimizeAlphabet = 0x01

The alphabet flag causes an alphabet to be chosen which preserves information in the message and makes the number of PDUs as small as possible.

ESmsFlagOptimizeConcatenation = 0x08

8-bit referenced concatenation.

This causes compression to be switched off and if the message length is greater than the maximum message length, concatenation is switched on.

ESmsFlagOptimizeConcatenation16BitReference = 0x10

16-bit referenced concatenation.

This causes compression to be switched off and if the message length is greater than the maximum message length, concatenation is switched on.

Enum TTimeBitMaskOffsets

Enumerators

ESecondBitOffset = 4
ESignBitOffset = 21

Enum TTimeIntervalsRepresentedInSeconds

Enumerators

E15MinutesRepresentedInSeconds = 15 * 60
EMaximumSeconds = 79 * E15MinutesRepresentedInSeconds

Member Data Documentation

CSmsMessageAdditionalAttributes * iAdditionalInfo

CSmsMessageAdditionalAttributes *iAdditionalInfo[protected]

iAdditionalInfo would point to any new added data structure. iVersion would identify which data structure is valid for that * particular version of CSmsMessage

CSmsBufferBase * iBuffer

CSmsBufferBase *iBuffer[private]

CCnvCharacterSetConverter * iCharacterSetConverter

CCnvCharacterSetConverter *iCharacterSetConverter[private]

TInt iFlags

TInt iFlags[private]

RFs & iFs

RFs &iFs[private]

RPointerArray< CEmsInformationElement > * iInformationElementArray

RPointerArray< CEmsInformationElement > *iInformationElementArray[private]

TBool iIs16BitConcatenation

TBool iIs16BitConcatenation[private]

TInt iLogServerId

TInt iLogServerId[private]

CArrayFixFlat< TGsmSmsSlotEntry > iSlotArray

CArrayFixFlat< TGsmSmsSlotEntry >iSlotArray

CSmsPDU * iSmsPDU

CSmsPDU *iSmsPDU[private]

NMobileSmsStore::TMobileSmsStoreStatus iStatus

NMobileSmsStore::TMobileSmsStoreStatus iStatus[private]

TTime iTime

TTime iTime[private]

TInt iVersion

TInt iVersion[protected]

iVersion is the version of CSmsMessage. This parameter will be used to identify what iAdditionalInfo points to for that particular version of CSmsMessage