#include "gsmunonieoperations.h"
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 | |
---|---|
virtual void | ValidateOperationL() |
void | operator=(const CSmsTPSRROperations &) |
TBool | operator==(const CSmsTPSRROperations &) |
Inherited Attributes | |
---|---|
CSmsNonIEOperation::iMessage |
CSmsTPSRROperations | ( | TSmsNonIEIdentifier | aId, |
CSmsMessage & | aMessage | ||
) |
Status Reporting.
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.
IMPORT_C TSmsStatusReportScheme | GetScheme | ( | ) | const |
Gets the current scheme being used.
Returns: ETPSRRScheme is returned when TPSRR Scheme is being used.
Gets the selective status for a PDU if the scheme is set to the TPSRR Scheme.
Parameter | Description |
---|---|
aSegmentSequenceNum | The segment sequence number of the PDU whose status report is required. |
Returns: The TPSRR bit for the PDU.
IMPORT_C void | ResetSchemeL | ( | ) |
If the current scheme is set to TPSRR Scheme then this method sets the scheme to the Default scheme.
IMPORT_C void | SetDefaultL | ( | TBool | aEnable | ) |
Sets the default value of the status report to requested or not requested as per aEnable.
Parameter | Description |
---|---|
aEnable | To set the default to Requested or Not Requested. |
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.
Parameter | Description |
---|---|
aEnable | ETrue to set the TPSRR bit to TSmsFirstOctet::ESmsStatusReportRequested or EFalse to set it to TSmsFirstOctet::ESmsStatusReportNotRequested. |
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.
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.
Parameter | Description |
---|---|
aSegmentSequenceNum | Segment Sequence number of the PDU that is to be updated. |
aEnable | ETrue to set the TPSRR bit to TSmsFirstOctet::ESmsStatusReportRequested or EFalse to set it to TSmsFirstOctet::ESmsStatusReportNotRequested. |
Returns: KErrNone if the operation is successful. KErrNotFound if the Segment Sequence Number is out of range or if the scheme is not valid.
void | ValidateOperationL | ( | ) | const [protected, virtual] |
Reimplemented from CSmsNonIEOperation::ValidateOperationL()const
Identifies whether the message type or version supports this operation
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.
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.