CSmsTPSRROperations Class Reference

#include <gsmunonieoperations.h>

class CSmsTPSRROperations : public CSmsCtrlNonIEOperation, public CSmsCtrlNonIEOperation

Constructor & Destructor Documentation

CSmsTPSRROperations ( TSmsNonIEIdentifier, CSmsMessage & )

CSmsTPSRROperations(TSmsNonIEIdentifieraId,
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.

~CSmsTPSRROperations ( )

~CSmsTPSRROperations()[inline]

Member Function Documentation

GetScheme ( )

IMPORT_C TSmsStatusReportSchemeGetScheme()const

Gets the current scheme being used.

Return Value
ETPSRRScheme is returned when TPSRR Scheme is being used.
Capability
None

GetStatusReport ( TUint )

IMPORT_C TIntGetStatusReport(TUintaSegmentSequenceNum)const

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

Parameters
aSegmentSequenceNumThe segment sequence number of the PDU whose status report is required.
Return Value
The TPSRR bit for the PDU.
Capability
None

ResetSchemeL ( )

IMPORT_C voidResetSchemeL()

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 voidSetDefaultL(TBoolaEnable)

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

Parameters
aEnableTo set the default to Requested or Not Requested.
Capability
None

SetLastSegmentStatusReportL ( TBool )

IMPORT_C voidSetLastSegmentStatusReportL(TBoolaEnable)

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.

Parameters
aEnableETrue to set the TPSRR bit to TSmsFirstOctet::ESmsStatusReportRequested or EFalse to set it to TSmsFirstOctet::ESmsStatusReportNotRequested.
Leave Codes
KErrNotFoundIf the scheme is not valid.
Capability
None

SetSchemeL ( )

IMPORT_C voidSetSchemeL()

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 Codes
IfValidateOperationL or NumMessagePDUsL leaves.
Capability
None

SetSegmentStatusReportL ( TUint, TBool )

IMPORT_C TIntSetSegmentStatusReportL(TUintaSegmentSequenceNum,
TBoolaEnable
)

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.

Parameters
aSegmentSequenceNumSegment Sequence number of the PDU that is to be updated.
aEnableETrue to set the TPSRR bit to TSmsFirstOctet::ESmsStatusReportRequested or EFalse to set it to TSmsFirstOctet::ESmsStatusReportNotRequested.
Return Value
KErrNone if the operation is successful. KErrNotFound if the Segment Sequence Number is out of range or if the scheme is not valid.
Leave Codes
IfValidateOperationL or AppendL leaves.
Capability
None

ValidateOperationL ( )

voidValidateOperationL()const [protected, virtual]

Identifies whether the message type or version supports this operation

Leave Codes
Ifthe message type or version does not support this operation.

operator= ( const CSmsTPSRROperations & )

voidoperator=(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

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