CSmsTPSRROperations Class Reference

class CSmsTPSRROperations : public CSmsCtrlNonIEOperation
Public Member Functions
CSmsTPSRROperations ( TSmsNonIEIdentifier , CSmsMessage &)
~CSmsTPSRROperations ()
IMPORT_C TSmsStatusReportScheme GetScheme ()
IMPORT_C TInt GetStatusReport ( TUint )
IMPORT_C void ResetSchemeL ()
IMPORT_C void SetDefaultL ( TBool )
IMPORT_C void SetLastSegmentStatusReportL ( TBool )
IMPORT_C void SetSchemeL ()
IMPORT_C TInt SetSegmentStatusReportL ( TUint , TBool )
Protected Member Functions
void ValidateOperationL ()
void operator= (const CSmsTPSRROperations &)
TBool operator== (const CSmsTPSRROperations &)
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()
CSmsCtrlNonIEOperation::CSmsCtrlNonIEOperation(TSmsNonIEIdentifier,CSmsMessage &)
CSmsCtrlNonIEOperation::operator=(const CSmsCtrlNonIEOperation &)
CSmsCtrlNonIEOperation::operator==(const CSmsCtrlNonIEOperation &)
CSmsCtrlNonIEOperation::~CSmsCtrlNonIEOperation()
CSmsNonIEOperation::CSmsNonIEOperation(TSmsNonIEIdentifier,CSmsMessage &)
CSmsNonIEOperation::Id()const
CSmsNonIEOperation::MessageTypeSupported()const
CSmsNonIEOperation::NewL(TSmsNonIEIdentifier,CSmsMessage &)
CSmsNonIEOperation::operator=(const CSmsNonIEOperation &)
CSmsNonIEOperation::operator==(const CSmsNonIEOperation &)
CSmsNonIEOperation::~CSmsNonIEOperation()
Inherited Attributes
CSmsNonIEOperation::iMessage

Constructor & Destructor Documentation

CSmsTPSRROperations(TSmsNonIEIdentifier, CSmsMessage &)

CSmsTPSRROperations ( TSmsNonIEIdentifier aId,
CSmsMessage & aMessage
)

Status Reporting.

Note:

This should be the last thing that should be configured in CSmsMessage . If anything is changed after this then the number of PDUs might change which will affect status reporting.

Parameters

TSmsNonIEIdentifier aId
CSmsMessage & aMessage

~CSmsTPSRROperations()

~CSmsTPSRROperations ( ) [inline]

Member Functions Documentation

GetScheme()

IMPORT_C TSmsStatusReportScheme GetScheme ( ) const

Gets the current scheme being used.

capability
None

GetStatusReport(TUint)

IMPORT_C TInt GetStatusReport ( TUint aSegmentSequenceNum ) const

Gets the selective status for a PDU if the scheme is set to the TPSRR Scheme.

capability
None

Parameters

TUint aSegmentSequenceNum The segment sequence number of the PDU whose status report is required.

ResetSchemeL()

IMPORT_C void ResetSchemeL ( )

If the current scheme is set to TPSRR Scheme then this method sets the scheme to the Default scheme.

capability
None

SetDefaultL(TBool)

IMPORT_C void SetDefaultL ( TBool aEnable )

Sets the default value of the status report to requested or not requested as per aEnable.

capability
None

Parameters

TBool aEnable To set the default to Requested or Not Requested.

SetLastSegmentStatusReportL(TBool)

IMPORT_C void SetLastSegmentStatusReportL ( TBool aEnable )

Sets the TPSRR bit for the last PDU depending on the value of aEnable. First the scheme is obtained by calling the GetStatusReportScheme. Then the array iTPSRRStatusReport is traversed to find the last segement. Once that is done the TPSRR bit for it is updated. If the last segment is not present in the array then it is appended to it with its TPSRR status.

leave
KErrNotFound If the scheme is not valid.
capability
None

Parameters

TBool aEnable ETrue to set the TPSRR bit to TSmsFirstOctet::ESmsStatusReportRequested or EFalse to set it to TSmsFirstOctet::ESmsStatusReportNotRequested.

SetSchemeL()

IMPORT_C void SetSchemeL ( )

This method is called to set the scheme to TPSRR Scheme. First iStatusReportScheme, which is obtained by calling GetStatusReportScheme, is deleted and the set to NULL. Then a new scheme is created and a default value is set. The last segment is set to have TPSRR bit as Requested. This should be the last method to be called in a message sending process as all the operations in this interface depend on the number of PDUs being set.

leave
If ValidateOperationL or NumMessagePDUsL leaves.
capability
None

SetSegmentStatusReportL(TUint, TBool)

IMPORT_C TInt SetSegmentStatusReportL ( TUint aSegmentSequenceNum,
TBool aEnable
)

Sets the TPSRR bit for any PDU depending on the value of aEnable. First the scheme is obtained by calling the GetStatusReportScheme. Then the array iTPSRRStatusReport is traversed to find the segment which has the reference number = aSegmentSequenceNum. Once that is done the TPSRR bit for it is updated.

If the refernce number is not found then it is added to the array.

leave
If ValidateOperationL or AppendL leaves.
capability
None

Parameters

TUint aSegmentSequenceNum Segment Sequence number of the PDU that is to be updated.
TBool aEnable ETrue to set the TPSRR bit to TSmsFirstOctet::ESmsStatusReportRequested or EFalse to set it to TSmsFirstOctet::ESmsStatusReportNotRequested.

ValidateOperationL()

void ValidateOperationL ( ) const [protected, virtual]

Identifies whether the message type or version supports this operation

leave
If the message type or version does not support this operation.

operator=(const CSmsTPSRROperations &)

void operator= ( const CSmsTPSRROperations & ) [protected]

Prevent clients from using the assignment operator by including it in the class definition but making it protected and not exporting it.

capability
None

Parameters

const CSmsTPSRROperations &

operator==(const CSmsTPSRROperations &)

TBool operator== ( const CSmsTPSRROperations & ) [protected]

Prevent clients from using the equality operator by including it in the class definition but making it protected and not exporting it.

capability
None

Parameters

const CSmsTPSRROperations &