TSAREntry Class Reference

class TSAREntry

Provides generic information useful for the segmentation and reassembly of SMS messages and reassembly of WAP datagrams.

The constituent parts of both concatenated SMS messages and concatenated 7-bit WAP datagrams contain a reference, the total number of parts and the index of the part in the complete message or datagram.

Field for the segmentation store are:

Reference - concatenation reference Total - total number of PDUs in SMS message Count - number of PDUs sent Data1 - total PDUs delivered<<16 and failed Data2 - log server id Data3 - validity period Data4 - type and min and max message reference Description1 - first 32 characters from buffer Description2 - original address Time - time on SMS message

Abstracts an entry which is stored in the CSARStore

The data stored in Data1-4 has a different meaning depending on if it is used by the Reassembly store or the Segmentation store. The lists below detail the uses:

Reassembly store:

Data1: byte 3: bits7to4; byte 1: identifier1; byte 0: identifier2.

Data2: Log server ID.

Data3: byte 0: PDU type.

Data4: SMS message storage .

Segmentation store:

Data1: bytes 3, 2: N delivered; byte 1,0 N failed.

Data2: Log server ID.

Data3: SMS submit validity period.

Data4: byte 3,2 message PDU type; byte 1: reference1; byte 0: reference2.

WAP reassembly store:

Data1: to port.

Data2: not used .

Data3: not used.

Data4: not used.


			
  The data stored in Data1-4 has a different meaning depending on if it is used
  by the Reassembly store or the Segmentation store. The tables below detail
  the uses:
  Reassembly Store:
  -----------------------------------------------------------------
  |  member |    3      |      2      |      1      |      0      |
  -----------------------------------------------------------------
  | iData1  |    bits7to4             | identifier1 | identifier2 |
  | iData2  |                   Log server ID                     |
  | iData3  |                                       | PDU type    |
  | iData4  |                 SMS message storage                 |
  -----------------------------------------------------------------
  Segmentation Store:
  -----------------------------------------------------------------
  |  member |    3      |      2      |      1      |      0      |
  -----------------------------------------------------------------
  | iData1  |    N delivered          |         N failed          |
  | iData2  |                   Log server ID                     |
  | iData3  |              SMS submit validity period             |
  | iData4  |   message PDU type      | reference1  | reference2  |
  -----------------------------------------------------------------
  WAP Reassembly Store:
  -----------------------------------------------------------------
  |  member |    3      |      2      |      1      |      0      |
  -----------------------------------------------------------------
  | iData1  |                    to port                          |
  | iData2  |                   not used                          |
  | iData3  |                   not used                          |
  | iData4  |                   not used                          |
  -----------------------------------------------------------------
  
Public Member Functions
TSAREntry()
TInt Count()
TInt Data3()
TStreamId DataStreamId()
TPtrC Description1()
TPtrC Description2()
IMPORT_C voidExternalizeL(RWriteStream &)
IMPORT_C voidInternalizeL(RReadStream &)
TBool IsComplete()
TInt LogServerId()
TInt Reference()
voidSetCount(TInt)
voidSetData3(TInt)
voidSetDataStreamId(TStreamId)
voidSetDescription1(const TDesC &)
voidSetDescription2(const TDesC &)
voidSetLogServerId(TInt)
voidSetReference(TInt)
voidSetTime(const TTime &)
voidSetTotal(TInt)
const TTime &Time()
TInt Total()
Private Member Functions
TBool IsAdded()
TBool IsDeleted()
voidSetIsAdded(TBool)
voidSetIsDeleted(TBool)
Public Member Enumerations
enumanonymous { ESmsSAREntryDescriptionLength = 32 }
Private Member Enumerations
enumTSAREntryFlags { ESAREntryIsDeleted = 0x01, ESAREntryIsAdded = 0x02 }
Protected Attributes
TInt iData1
TInt iData2
TInt iData3
TInt iData4
Private Attributes
TInt iCount
TStreamId iDataStreamId
TBuf< ESmsSAREntryDescriptionLength >iDescription1
TBuf< ESmsSAREntryDescriptionLength >iDescription2
TInt iFlags
TInt iReference
TTime iTime
TInt iTotal

Constructor & Destructor Documentation

TSAREntry()

IMPORT_CTSAREntry()

Constructor

capability
None

Member Functions Documentation

Count()

TInt Count()const [inline]

Gets the Count field.

Data3()

TInt Data3()const [inline]

Gets the Data3 field.

DataStreamId()

TStreamId DataStreamId()const [inline]

Gets the data stream ID.

Description1()

TPtrC Description1()const [inline]

Gets the Description1 field: a pointer to the first 32 characters from buffer.

Description2()

TPtrC Description2()const [inline]

Gets the Description2 field: a pointer to the original address.

ExternalizeL(RWriteStream &)

IMPORT_C voidExternalizeL(RWriteStream &aStream)const

Externalises the object.

capability
None

Parameters

RWriteStream & aStreamStream to write to

InternalizeL(RReadStream &)

IMPORT_C voidInternalizeL(RReadStream &aStream)

Internalises the object.

capability
None

Parameters

RReadStream & aStreamStream to read from

IsAdded()

TBool IsAdded()const [private, inline]

IsComplete()

TBool IsComplete()const [inline]

Tests if the whole message is sent/received.

IsDeleted()

TBool IsDeleted()const [private, inline]

LogServerId()

TInt LogServerId()const [inline]

Gets the Log server ID field.

Reference()

TInt Reference()const [inline]

Gets the Reference field.

SetCount(TInt)

voidSetCount(TIntaCount)[inline]

Sets the Count field.

Parameters

TInt aCountThe number of PDUs sent/received

SetData3(TInt)

voidSetData3(TIntaData)[inline]

Sets the Data3 field.

Parameters

TInt aDataData3 field

SetDataStreamId(TStreamId)

voidSetDataStreamId(TStreamIdaStreamId)[inline]

Sets the data stream ID.

Parameters

TStreamId aStreamIdData stream ID

SetDescription1(const TDesC &)

voidSetDescription1(const TDesC &aDescription)[inline]

Sets the Description1 field: the first 32 characters in buffer.

Parameters

const TDesC & aDescriptionDescription1 field

SetDescription2(const TDesC &)

voidSetDescription2(const TDesC &aDescription)[inline]

Sets the Description2 field: the original address.

Parameters

const TDesC & aDescriptionDescription2 field

SetIsAdded(TBool)

voidSetIsAdded(TBoolaIsAdded)[private, inline]

Sets if this message should be marked as added

Parameters

TBool aIsAdded

SetIsDeleted(TBool)

voidSetIsDeleted(TBoolaIsDeleted)[private, inline]

Sets if this message should be marked as deleted

Parameters

TBool aIsDeletedSet to True to mark a message as deleted

SetLogServerId(TInt)

voidSetLogServerId(TIntaId)[inline]

Sets the Log server ID field.

Parameters

TInt aIdLog server ID field

SetReference(TInt)

voidSetReference(TIntaReference)[inline]

Sets the Reference field.

Parameters

TInt aReferenceThe concatenation reference

SetTime(const TTime &)

voidSetTime(const TTime &aTime)[inline]

Sets the Time field: the time when this message was sent/received.

Parameters

const TTime & aTimeTime field

SetTotal(TInt)

voidSetTotal(TIntaTotal)[inline]

Sets the total number of PDUs in SMS message

Parameters

TInt aTotalThe total number of PDUs in the message

Time()

const TTime &Time()const [inline]

Gets the Time field: the time when this message was sent/received.

Total()

TInt Total()const [inline]

Gets the Total field.

Member Enumerations Documentation

Enum anonymous

Enumerators

ESmsSAREntryDescriptionLength = 32

Enum TSAREntryFlags

Enumerators

ESAREntryIsDeleted = 0x01
ESAREntryIsAdded = 0x02

Member Data Documentation

TInt iCount

TInt iCount[private]

TInt iData1

TInt iData1[protected]

TInt iData2

TInt iData2[protected]

TInt iData3

TInt iData3[protected]

TInt iData4

TInt iData4[protected]

TStreamId iDataStreamId

TStreamId iDataStreamId[private]

TBuf< ESmsSAREntryDescriptionLength > iDescription1

TBuf< ESmsSAREntryDescriptionLength >iDescription1[private]

TBuf< ESmsSAREntryDescriptionLength > iDescription2

TBuf< ESmsSAREntryDescriptionLength >iDescription2[private]

TInt iFlags

TInt iFlags[private]

TInt iReference

TInt iReference[private]

TTime iTime

TTime iTime[private]

TInt iTotal

TInt iTotal[private]