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 void AddEMSInformationElementL (const CEmsInformationElement &)
IMPORT_C void AddEmailHeaderL (const TDesC &, const TDesC &)
IMPORT_C void AddSlotL (const TGsmSmsSlotEntry &)
void * AdditionalInfo ()
IMPORT_C TSmsEncoding Alternative7bitEncoding ()
CSmsBufferBase & Buffer ()
const CSmsBufferBase & Buffer ()
IMPORT_C void CopyEmsElementsL ( CSmsMessage &)
IMPORT_C void DecodeMessagePDUsL (const CArrayFix < TGsmSms > &)
IMPORT_C void DecodePartialCompleteMessagePDUsL (const CArrayFix < TGsmSms > &, TBool )
IMPORT_C TBool DecodedOnSim ()
IMPORT_C TBool EncodeIntoSinglePDUL ( CArrayFix < TGsmSms > &)
IMPORT_C void EncodeMessagePDUsL ( CArrayFix < TGsmSms > &, TInt )
IMPORT_C void ExternalizeBufferL ( RWriteStream &)
IMPORT_C void ExternalizeL ( RWriteStream &)
IMPORT_C void ExternalizeVersionL ( RWriteStream &)
IMPORT_C void ExternalizeWithoutBufferAndVersionL ( RWriteStream &)
IMPORT_C void ExternalizeWithoutBufferL ( RWriteStream &)
IMPORT_C TBool ForwardToClient ()
IMPORT_C const RPointerArray < const CEmsInformationElement > & GetEMSInformationElementsL ()
IMPORT_C TBool GetEmailHeaderL ( HBufC **, HBufC **)
IMPORT_C void GetEncodingInfoL ( TInt &, TInt &, TInt &, TInt &)
IMPORT_C CSmsIEOperation & GetOperationsForIEL ( CSmsInformationElement::TSmsInformationElementIdentifier )
IMPORT_C CSmsNonIEOperation & GetOperationsForNonIEL ( TSmsNonIEIdentifier )
void InstallEmailHeaderInformationElementL ( CSmsUserData &, TInt &)
void InstallEmailHeaderInformationElementL ( CSmsCommand &, TInt &)
IMPORT_C void InternalizeBufferL ( RReadStream &)
IMPORT_C void InternalizeL ( RReadStream &)
IMPORT_C void InternalizeVersionL ( RReadStream &)
IMPORT_C void InternalizeWithoutBufferAndVersionL ( RReadStream &)
IMPORT_C void InternalizeWithoutBufferL ( RReadStream &)
TBool Is16BitConcatenation ()
TBool IsComplete ()
TBool IsDecoded ()
IMPORT_C TBool IsEmailHeader ()
IMPORT_C TBool IsSupportedL (const TDesC &, TInt &, TInt &)
IMPORT_C TBool IsSupportedL (const TDesC &, TInt &, TInt &, TInt &, TInt &)
TInt LogServerId ()
IMPORT_C TBool MatchSlots (const CArrayFixFlat < TGsmSmsSlotEntry > &)
IMPORT_C TInt MaxMessageLength ()
IMPORT_C TInt MessageLengthL ()
IMPORT_C CSmsMessage * NewL ( RFs &, const TGsmSms &, CSmsBufferBase *, TBool , TBool )
IMPORT_C CSmsMessage * NewL ( RFs &, CSmsPDU::TSmsPDUType , CSmsBufferBase *, TBool )
IMPORT_C TInt NumMessagePDUsL ()
IMPORT_C void OptimizeSettingsL ( TInt )
void ParsedServiceCenterAddress ( TGsmSmsTelNumber &)
void ParsedToFromAddress ( TGsmSmsTelNumber &)
IMPORT_C CEmsInformationElement * RemoveEMSInformationElementL (const TUint , const TSmsId )
IMPORT_C RPointerArray < CEmsInformationElement > * RemoveEMSInformationElementsL (const TUint , const TSmsId )
IMPORT_C void ResetEMSL ()
IMPORT_C TSmsStatusReportScheme Scheme ()
TPtrC ServiceCenterAddress ()
void Set16BitConcatenation ( TBool )
IMPORT_C TInt SetAlternative7bitEncoding ( TSmsEncoding )
IMPORT_C void SetDecodedOnSIM ( TBool )
IMPORT_C void SetForwardToClient ( TBool )
void SetLogServerId ( TInt )
void SetParsedServiceCenterAddressL (const TGsmSmsTelNumber &)
void SetParsedToFromAddressL (const TGsmSmsTelNumber &)
void SetServiceCenterAddressL (const TDesC &)
void SetStatus ( NMobileSmsStore::TMobileSmsStoreStatus )
void SetStorage ( TMobileSmsStorage )
void SetTime (const TTime &)
void SetToFromAddressL (const TDesC &)
IMPORT_C TBool SetUTCOffset (const TTimeIntervalSeconds &)
IMPORT_C void SetUserDataSettingsL (const TSmsUserDataSettings &)
IMPORT_C TInt SetVersion ( TInt )
CSmsPDU & SmsPDU ()
const CSmsPDU & SmsPDU ()
NMobileSmsStore::TMobileSmsStoreStatus Status ()
TMobileSmsStorage Storage ()
IMPORT_C TBool TextPresent ()
const TTime & Time ()
TPtrC ToFromAddress ()
CSmsPDU::TSmsPDUType Type ()
IMPORT_C TTimeIntervalSeconds UTCOffset ()
IMPORT_C void UpdateSlotsL ( TDesC8 &)
IMPORT_C void UserDataSettings ( TSmsUserDataSettings &)
IMPORT_C TInt Version ()
Private Member Functions
CSmsMessage ( RFs &, CSmsBufferBase *)
void AddControlInformationElementsToMultiSegmentMessageL ( TBool )
void AddControlInformationElementsToMultiSegmentMessageL ( TSmsInformationElementCategories::TInformationElementCategory , TBool , TBool )
void AddCurrentPDUToPDUArrayL ( TBool )
TBool AddEMSInformationElementsToMultiSegmentMessageL ( CSmsEMSBufferSegmenter &, TUint &, TBool , TSmsEncoding &, RPointerArray < CEmsInformationElement > &, TUint &, TUint &)
TBool AddEMSInformationElementsToSingleSegmentMessageL ( CSmsEMSBufferSegmenter &, TSmsEncoding )
void AddEmsObjectDistributionL (const CEmsObjectDistribution &)
void AddEmsUserPromptL (const CEmsUserPrompt &)
TBool AddIEToUserDataL ( CEmsInformationElement *, TInt , TUint &, CSmsEMSBufferSegmenter &)
void AddIncompleteMessageInfoL ( TInt , TInt , TBool )
TInt AddReceivedEmsInformationElement ( CEmsInformationElement *)
TBool BinaryData ()
TBool CanBeRemoved (const CEmsInformationElement &, TUint )
void ConstructL (const TGsmSms &, TBool , TBool )
void ConstructL ( CSmsPDU::TSmsPDUType , TBool )
TInt ConvertedBufferLengthL (const CSmsBufferBase &)
void CorrectFormattingInSinglePDUL ()
void CorrectFormattingL ( TUint , RPointerArray < CEmsInformationElement > &, TUint )
void CreateControlIEOperationsClassesL ()
void CreateControlNonIEOperationsClassesL ()
void DecodeBufferL ( CArrayPtr < CSmsPDU > &, CSmsBufferBase &)
void DecodeOnlyTextL ( CArrayPtr < CSmsPDU > &, CSmsBufferBase &)
void EncodeBufferL ( CArrayFix < TGsmSms > &, TInt , const CSmsBufferBase &, TInt &, TInt &, TInt &, TBool )
TBool EncodeIntoSinglePDUL ( CArrayFix < TGsmSms > &, TInt &, TInt &, TInt &)
void EncodingTPSRRFromSchemesIntoSinglePDUL ()
TInt FillPduL ( CSmsEMSBufferSegmenter &, TInt , TSmsEncoding )
TSmsStatusReportScheme FindSchemeL (const CArrayPtr < CSmsPDU > &)
void InstallControlInformationElementsL ( CSmsUserData &, TInt )
void InstallControlInformationElementsL ( CSmsCommand &)
void InstallEmsInformationElementsL ( CSmsUserData &, TInt )
void InstallEmsInformationElementsL ( CSmsCommand &, TInt )
void InstallTPSRRInformationL (const CArrayPtr < CSmsPDU > &, TInt )
void MergeAlternative7bitEncoding ( TSmsEncoding )
TInt NumMessageEmsPDUsL ()
void PrepareCommandMessageL (void)
void ResetWorkingPDUL ()
void SetIsComplete ( TBool )
void SetIsDecoded ( TBool )
void UpdateUserPromptAndODIElementsStartPosition ()
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
enum TMobileSmsStorage { ESmsNoStorage  = 0x00, ESmsSIMStorage  = 0x04, ESmsPhoneStorage  = 0x08, ESmsCombinedStorage  = 0x0C }
enum TSmsMessageVersion {
ESmsMessageV0 , ESmsMessageV1 , ESmsMessageV2 , ESmsMessageV3 , ESmsIncompleteClass0MessageV  = ESmsMessageV3, ESmsMessageV4
}
enum TSmsOptimizationFlags { ESmsFlagOptimizeAlphabet  = 0x01, ESmsFlagOptimizeConcatenation  = 0x08, ESmsFlagOptimizeConcatenation16BitReference  = 0x10 }
enum TTimeIntervalsRepresentedInSeconds { E15MinutesRepresentedInSeconds  = 15 * 60, EMaximumSeconds  = 79 * E15MinutesRepresentedInSeconds }
Private Member Enumerations
enum TDecodedOnSimBit { EDecodedOnSimBit  = 0x80000000 }
enum TForwardToClientBit { EForwardToClientBit  = 0x40000000 }
enum TSmsMessageFlags { ESmsFlagIsComplete  = 0x01, ESmsFlagIsDecoded  = 0x02, ESmsStorageMask  = 0x0C, ESmsUTCOffsetSecondGranularityMask  = 0x1FFFF0, ESmsUTCOffsetSignBit  = 0x200000 }
enum TTimeBitMaskOffsets { 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)

void AddControlInformationElementsToMultiSegmentMessageL ( TBool aDoEncode ) [private]

Parameters

TBool aDoEncode

AddControlInformationElementsToMultiSegmentMessageL(TSmsInformationElementCategories::TInformationElementCategory, TBool, TBool)

void AddControlInformationElementsToMultiSegmentMessageL ( TSmsInformationElementCategories::TInformationElementCategory aCategory,
TBool aMandatoryInPDU,
TBool aDoEncode
) [private]

AddCurrentPDUToPDUArrayL(TBool)

void AddCurrentPDUToPDUArrayL ( TBool aDoEncode ) [private]

Parameters

TBool aDoEncode

AddEMSInformationElementL(const CEmsInformationElement &)

IMPORT_C void AddEMSInformationElementL ( const CEmsInformationElement & aEmsIE )

Parameters

const CEmsInformationElement & aEmsIE

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

TBool AddEMSInformationElementsToMultiSegmentMessageL ( CSmsEMSBufferSegmenter & aSegmenter,
TUint & aCharsAdded,
TBool aDoEncode,
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,
TSmsEncoding aEncoding
) [private]

Parameters

CSmsEMSBufferSegmenter & aSegmenter
TSmsEncoding aEncoding

AddEmailHeaderL(const TDesC &, const TDesC &)

IMPORT_C void AddEmailHeaderL ( const TDesC & aEmailHeader,
const TDesC & aEmailBody
)

Parameters

const TDesC & aEmailHeader
const TDesC & aEmailBody

AddEmsObjectDistributionL(const CEmsObjectDistribution &)

void AddEmsObjectDistributionL ( const CEmsObjectDistribution & aObjectDistributionIE ) [private]

Parameters

const CEmsObjectDistribution & aObjectDistributionIE

AddEmsUserPromptL(const CEmsUserPrompt &)

void AddEmsUserPromptL ( const CEmsUserPrompt & aEmsIE ) [private]

Parameters

const CEmsUserPrompt & aEmsIE

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

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

Parameters

CEmsInformationElement * aIe
TInt aCharsAlreadyAdded
TUint & aCharsAddedToCurrentPDU
CSmsEMSBufferSegmenter & aSeg

AddIncompleteMessageInfoL(TInt, TInt, TBool)

void AddIncompleteMessageInfoL ( TInt aStartPDU,
TInt aEndPDU,
TBool aLastPartialCompleteMsg
) [private]

Parameters

TInt aStartPDU
TInt aEndPDU
TBool aLastPartialCompleteMsg

AddReceivedEmsInformationElement(CEmsInformationElement *)

TInt AddReceivedEmsInformationElement ( CEmsInformationElement * aIE ) [private]

Parameters

CEmsInformationElement * aIE

AddSlotL(const TGsmSmsSlotEntry &)

IMPORT_C void AddSlotL ( const TGsmSmsSlotEntry & aSlot )

Parameters

const TGsmSmsSlotEntry & aSlot

AdditionalInfo()

void * AdditionalInfo ( ) [inline]

Alternative7bitEncoding()

IMPORT_C TSmsEncoding Alternative7bitEncoding ( ) const

BinaryData()

TBool BinaryData ( ) const [private, inline]

Buffer()

CSmsBufferBase & Buffer ( ) [inline]

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

Buffer()

const CSmsBufferBase & Buffer ( ) const [inline]

CanBeRemoved(const CEmsInformationElement &, TUint)

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

Parameters

const CEmsInformationElement & aIE
TUint aIEIndex

ConstructL(const TGsmSms &, TBool, TBool)

void ConstructL ( const TGsmSms & aGsmSms,
TBool aIsRPError,
TBool aIsMobileTerminated
) [private]

Parameters

const TGsmSms & aGsmSms
TBool aIsRPError
TBool aIsMobileTerminated

ConstructL(CSmsPDU::TSmsPDUType, TBool)

void ConstructL ( CSmsPDU::TSmsPDUType aType,
TBool aIsRPError
) [private]

Parameters

CSmsPDU::TSmsPDUType aType
TBool aIsRPError

ConvertedBufferLengthL(const CSmsBufferBase &)

TInt ConvertedBufferLengthL ( const CSmsBufferBase & aBuffer ) [private]

Parameters

const CSmsBufferBase & aBuffer

CopyEmsElementsL(CSmsMessage &)

IMPORT_C void CopyEmsElementsL ( CSmsMessage & aToMessage ) const

Parameters

CSmsMessage & aToMessage

CorrectFormattingInSinglePDUL()

void CorrectFormattingInSinglePDUL ( ) [private]

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

void CorrectFormattingL ( TUint aCharsAddedToCurrentPDU,
RPointerArray < CEmsInformationElement > & aCorrectedFormatingIEArray,
TUint aBaseAddr
) [private]

Parameters

TUint aCharsAddedToCurrentPDU
RPointerArray < CEmsInformationElement > & aCorrectedFormatingIEArray
TUint aBaseAddr

CreateControlIEOperationsClassesL()

void CreateControlIEOperationsClassesL ( ) [private]

CreateControlNonIEOperationsClassesL()

void CreateControlNonIEOperationsClassesL ( ) [private]

DecodeBufferL(CArrayPtr< CSmsPDU > &, CSmsBufferBase &)

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

Parameters

CArrayPtr < CSmsPDU > & aSmsPDUArray
CSmsBufferBase & aBuffer

DecodeMessagePDUsL(const CArrayFix< TGsmSms > &)

IMPORT_C void DecodeMessagePDUsL ( const CArrayFix < TGsmSms > & aSmsArray )

Parameters

const CArrayFix < TGsmSms > & aSmsArray

DecodeOnlyTextL(CArrayPtr< CSmsPDU > &, CSmsBufferBase &)

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

Parameters

CArrayPtr < CSmsPDU > & aSmsPDUArray
CSmsBufferBase & aBuffer

DecodePartialCompleteMessagePDUsL(const CArrayFix< TGsmSms > &, TBool)

IMPORT_C void DecodePartialCompleteMessagePDUsL ( const CArrayFix < TGsmSms > & aSmsArray,
TBool aLastPartialCompleteMsg
)

Parameters

const CArrayFix < TGsmSms > & aSmsArray
TBool aLastPartialCompleteMsg

DecodedOnSim()

IMPORT_C TBool DecodedOnSim ( )

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

void EncodeBufferL ( CArrayFix < TGsmSms > & aSmsArray,
TInt aReference,
const CSmsBufferBase & aBuffer,
TInt & aUnconvertedChars,
TInt & aDowngradedChars,
TInt & aFreeUDUnitsInLastPDU,
TBool aDoEncode = 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 TBool EncodeIntoSinglePDUL ( 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 void EncodeMessagePDUsL ( CArrayFix < TGsmSms > & aSmsArray,
TInt aReference = 0
)

Parameters

CArrayFix < TGsmSms > & aSmsArray
TInt aReference = 0

EncodingTPSRRFromSchemesIntoSinglePDUL()

void EncodingTPSRRFromSchemesIntoSinglePDUL ( ) [private]

ExternalizeBufferL(RWriteStream &)

IMPORT_C void ExternalizeBufferL ( RWriteStream & aStream ) const

Parameters

RWriteStream & aStream

ExternalizeL(RWriteStream &)

IMPORT_C void ExternalizeL ( RWriteStream & aStream ) const

Parameters

RWriteStream & aStream

ExternalizeVersionL(RWriteStream &)

IMPORT_C void ExternalizeVersionL ( RWriteStream & aStream ) const

Parameters

RWriteStream & aStream

ExternalizeWithoutBufferAndVersionL(RWriteStream &)

IMPORT_C void ExternalizeWithoutBufferAndVersionL ( RWriteStream & aStream ) const

Parameters

RWriteStream & aStream

ExternalizeWithoutBufferL(RWriteStream &)

IMPORT_C void ExternalizeWithoutBufferL ( RWriteStream & aStream ) const

Parameters

RWriteStream & aStream

FillPduL(CSmsEMSBufferSegmenter &, TInt, TSmsEncoding)

TInt FillPduL ( CSmsEMSBufferSegmenter & aSeg,
TInt aNumChars,
TSmsEncoding aEncoding
) [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 TBool ForwardToClient ( )

GetEMSInformationElementsL()

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

GetEmailHeaderL(HBufC **, HBufC **)

IMPORT_C TBool GetEmailHeaderL ( HBufC ** aEmailHeader,
HBufC ** aEmailBody
)

Parameters

HBufC ** aEmailHeader
HBufC ** aEmailBody

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

IMPORT_C void GetEncodingInfoL ( 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)

void InstallControlInformationElementsL ( CSmsUserData & aUserData,
TInt aSegmentSequenceNum
) [private]

Parameters

CSmsUserData & aUserData
TInt aSegmentSequenceNum

InstallControlInformationElementsL(CSmsCommand &)

void InstallControlInformationElementsL ( CSmsCommand & aCommand ) [private]

Parameters

CSmsCommand & aCommand

InstallEmailHeaderInformationElementL(CSmsUserData &, TInt &)

void InstallEmailHeaderInformationElementL ( CSmsUserData & aUserData,
TInt & aHeaderLength
)

Parameters

CSmsUserData & aUserData
TInt & aHeaderLength

InstallEmailHeaderInformationElementL(CSmsCommand &, TInt &)

void InstallEmailHeaderInformationElementL ( CSmsCommand & aCommand,
TInt & aHeaderLength
)

Parameters

CSmsCommand & aCommand
TInt & aHeaderLength

InstallEmsInformationElementsL(CSmsUserData &, TInt)

void InstallEmsInformationElementsL ( CSmsUserData & aUserData,
TInt aStartPosition
) [private]

Parameters

CSmsUserData & aUserData
TInt aStartPosition

InstallEmsInformationElementsL(CSmsCommand &, TInt)

void InstallEmsInformationElementsL ( CSmsCommand & aCommand,
TInt aStartPosition
) [private]

Parameters

CSmsCommand & aCommand
TInt aStartPosition

InstallTPSRRInformationL(const CArrayPtr< CSmsPDU > &, TInt)

void InstallTPSRRInformationL ( const CArrayPtr < CSmsPDU > & aSmsPDUArray,
TInt aSegmentSequenceNum
) [private]

Parameters

const CArrayPtr < CSmsPDU > & aSmsPDUArray
TInt aSegmentSequenceNum

InternalizeBufferL(RReadStream &)

IMPORT_C void InternalizeBufferL ( RReadStream & aStream )

Parameters

RReadStream & aStream

InternalizeL(RReadStream &)

IMPORT_C void InternalizeL ( RReadStream & aStream )

Parameters

RReadStream & aStream

InternalizeVersionL(RReadStream &)

IMPORT_C void InternalizeVersionL ( RReadStream & aStream )

Parameters

RReadStream & aStream

InternalizeWithoutBufferAndVersionL(RReadStream &)

IMPORT_C void InternalizeWithoutBufferAndVersionL ( RReadStream & aStream )

Parameters

RReadStream & aStream

InternalizeWithoutBufferL(RReadStream &)

IMPORT_C void InternalizeWithoutBufferL ( RReadStream & aStream )

Parameters

RReadStream & aStream

Is16BitConcatenation()

TBool Is16BitConcatenation ( ) const [inline]

IsComplete()

TBool IsComplete ( ) const [inline]

Tests if the SMS message is complete.

IsDecoded()

TBool IsDecoded ( ) const [inline]

Tests if the SMS message is Decoded.

IsEmailHeader()

IMPORT_C TBool IsEmailHeader ( ) const

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

IMPORT_C TBool IsSupportedL ( const TDesC & aDes,
TInt & aNumberOfUnconvertibleCharacters,
TInt & aIndexOfFirstUnconvertibleCharacter
)

Parameters

const TDesC & aDes
TInt & aNumberOfUnconvertibleCharacters
TInt & aIndexOfFirstUnconvertibleCharacter

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

IMPORT_C TBool IsSupportedL ( 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.

MatchSlots(const CArrayFixFlat< TGsmSmsSlotEntry > &)

IMPORT_C TBool MatchSlots ( const CArrayFixFlat < TGsmSmsSlotEntry > & aSlotArray )

Parameters

const CArrayFixFlat < TGsmSmsSlotEntry > & aSlotArray

MaxMessageLength()

IMPORT_C TInt MaxMessageLength ( ) const

MergeAlternative7bitEncoding(TSmsEncoding)

void MergeAlternative7bitEncoding ( TSmsEncoding aEncoding ) const [private]

Parameters

TSmsEncoding aEncoding

MessageLengthL()

IMPORT_C TInt MessageLengthL ( )

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

IMPORT_C CSmsMessage * NewL ( RFs & aFs,
const TGsmSms & aGsmSms,
CSmsBufferBase * aBuffer,
TBool aIsRPError = EFalse,
TBool aIsMobileTerminated = 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::TSmsPDUType aType,
CSmsBufferBase * aBuffer,
TBool aIsRPError = EFalse
) [static]

Parameters

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

NumMessageEmsPDUsL()

TInt NumMessageEmsPDUsL ( ) [private]

NumMessagePDUsL()

IMPORT_C TInt NumMessagePDUsL ( )

OptimizeSettingsL(TInt)

IMPORT_C void OptimizeSettingsL ( TInt aOptions )

Parameters

TInt aOptions

ParsedServiceCenterAddress(TGsmSmsTelNumber &)

void ParsedServiceCenterAddress ( TGsmSmsTelNumber & aParsedAddress ) const [inline]

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

Parameters

TGsmSmsTelNumber & aParsedAddress Service Center Address

ParsedToFromAddress(TGsmSmsTelNumber &)

void ParsedToFromAddress ( TGsmSmsTelNumber & aParsedAddress ) const [inline]

Gets To and From addresses in ETSI format.

Parameters

TGsmSmsTelNumber & aParsedAddress To and From addresses

PrepareCommandMessageL(void)

void PrepareCommandMessageL ( void ) [private]

Parameters

void

RemoveEMSInformationElementL(const TUint, const TSmsId)

IMPORT_C CEmsInformationElement * RemoveEMSInformationElementL ( const TUint aStartPosition,
const TSmsId aEmsId
)

Parameters

const TUint aStartPosition
const TSmsId aEmsId

RemoveEMSInformationElementsL(const TUint, const TSmsId)

IMPORT_C RPointerArray < CEmsInformationElement > * RemoveEMSInformationElementsL ( const TUint aStartPosition,
const TSmsId aEmsId
)

Parameters

const TUint aStartPosition
const TSmsId aEmsId

ResetEMSL()

IMPORT_C void ResetEMSL ( )

ResetWorkingPDUL()

void ResetWorkingPDUL ( ) [private]

Scheme()

IMPORT_C TSmsStatusReportScheme Scheme ( ) const

ServiceCenterAddress()

TPtrC ServiceCenterAddress ( ) const [inline]

Gets the message Service Center Address.

Set16BitConcatenation(TBool)

void Set16BitConcatenation ( TBool aIs16BitConcatenation ) [inline]

Parameters

TBool aIs16BitConcatenation

SetAlternative7bitEncoding(TSmsEncoding)

IMPORT_C TInt SetAlternative7bitEncoding ( TSmsEncoding aEncoding )

Parameters

TSmsEncoding aEncoding

SetDecodedOnSIM(TBool)

IMPORT_C void SetDecodedOnSIM ( TBool aOnSim )

Parameters

TBool aOnSim

SetForwardToClient(TBool)

IMPORT_C void SetForwardToClient ( TBool aForward )

Parameters

TBool aForward

SetIsComplete(TBool)

void SetIsComplete ( TBool aIsComplete ) [private, inline]

Parameters

TBool aIsComplete Set to True for CSmsMessage complete

SetIsDecoded(TBool)

void SetIsDecoded ( TBool aIsDecoded ) [private, inline]

Parameters

TBool aIsDecoded Set to True for CSmsMessage decoded

SetLogServerId(TInt)

void SetLogServerId ( TInt aId ) [inline]

Sets the Log Server Id.

Parameters

TInt aId Log Server Id

SetParsedServiceCenterAddressL(const TGsmSmsTelNumber &)

void SetParsedServiceCenterAddressL ( const TGsmSmsTelNumber & aParsedAddress ) [inline]

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

Parameters

const TGsmSmsTelNumber & aParsedAddress Service Center Address

SetParsedToFromAddressL(const TGsmSmsTelNumber &)

void SetParsedToFromAddressL ( const TGsmSmsTelNumber & aParsedAddress ) [inline]

Sets To and From addresses in ETSI format.

Parameters

const TGsmSmsTelNumber & aParsedAddress To and From addresses

SetServiceCenterAddressL(const TDesC &)

void SetServiceCenterAddressL ( const TDesC & aAddress ) [inline]

Sets the message Service Center Address.

Parameters

const TDesC & aAddress Service Center Address

SetStatus(NMobileSmsStore::TMobileSmsStoreStatus)

void SetStatus ( NMobileSmsStore::TMobileSmsStoreStatus aStatus ) [inline]

Sets the SMS store status of the message.

Parameters

NMobileSmsStore::TMobileSmsStoreStatus aStatus SMS store status

SetStorage(TMobileSmsStorage)

void SetStorage ( TMobileSmsStorage aStorage ) [inline]

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

Parameters

TMobileSmsStorage aStorage Physical location

SetTime(const TTime &)

void SetTime ( const TTime & aTime ) [inline]

Sets the time of message creation.

Parameters

const TTime & aTime Time of message creation

SetToFromAddressL(const TDesC &)

void SetToFromAddressL ( const TDesC & aAddress ) [inline]

Sets unparsed To and From addresses.

Parameters

const TDesC & aAddress To and From addresses

SetUTCOffset(const TTimeIntervalSeconds &)

IMPORT_C TBool SetUTCOffset ( const TTimeIntervalSeconds & aTimeOffset )

Parameters

const TTimeIntervalSeconds & aTimeOffset

SetUserDataSettingsL(const TSmsUserDataSettings &)

IMPORT_C void SetUserDataSettingsL ( const TSmsUserDataSettings & aSettings )

Parameters

const TSmsUserDataSettings & aSettings

SetVersion(TInt)

IMPORT_C TInt SetVersion ( TInt aVersion )

Parameters

TInt aVersion

SmsPDU()

CSmsPDU & SmsPDU ( ) [inline]

Gets the message PDU.

SmsPDU()

const CSmsPDU & SmsPDU ( ) const [inline]

Gets the message PDU (const).

Status()

NMobileSmsStore::TMobileSmsStoreStatus Status ( ) const [inline]

Gets the SMS store status of the message.

Storage()

TMobileSmsStorage Storage ( ) const [inline]

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

TextPresent()

IMPORT_C TBool TextPresent ( ) const

Time()

const TTime & Time ( ) const [inline]

Gets the time of message creation.

ToFromAddress()

TPtrC ToFromAddress ( ) const [inline]

Gets unparsed To and From addresses.

Type()

CSmsPDU::TSmsPDUType Type ( ) const [inline]

UTCOffset()

IMPORT_C TTimeIntervalSeconds UTCOffset ( ) const

UpdateSlotsL(TDesC8 &)

IMPORT_C void UpdateSlotsL ( TDesC8 & aBuf )

Parameters

TDesC8 & aBuf

UpdateUserPromptAndODIElementsStartPosition()

void UpdateUserPromptAndODIElementsStartPosition ( ) [private]

UserDataSettings(TSmsUserDataSettings &)

IMPORT_C void UserDataSettings ( TSmsUserDataSettings & aSettings ) const

Parameters

TSmsUserDataSettings & aSettings

Version()

IMPORT_C TInt Version ( )

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