Home · All Classes · Grouped Classes · Annotated · Functions

QSimTerminalResponse Class Reference

The QSimTerminalResponse class specifies the contents of a SIM toolkit TERMINAL RESPONSE message. More...

    #include <QSimTerminalResponse>

Public Types

Public Functions

Static Public Members


Detailed Description

The QSimTerminalResponse class specifies the contents of a SIM toolkit TERMINAL RESPONSE message.

Applications that run within a SIM send commands to the host program to interact with the user. These commands might entail choosing an item from a menu, asking if it is OK to dial a phone number, asking for a line of input, displaying text messages, etc.

Once the user picks an action, a TERMINAL RESPONSE message is typically sent back to the SIM to communicate the user's intent. The QSimTerminalResponse class encapsulates a TERMINAL RESPONSE message, containing all of the information about it.

In Qtopia, the host program is simapp.

See also QSimToolkit and QSimCommand.


Member Type Documentation

enum QSimTerminalResponse::Cause

This enum defines the secondary cause code for a TERMINAL RESPONSE message to a SIM, from 3GPP TS 11.14, section 12.12.

ConstantValueDescription
QSimTerminalResponse::NoSpecificCause0x00No specific cause can be given (applies to all results).
QSimTerminalResponse::ScreenIsBusy0x01Screen is busy (applies to MEUnableToProcess).
QSimTerminalResponse::BusyOnCall0x02ME currently busy on call (applies to MEUnableToProcess).
QSimTerminalResponse::BusyOnSsTransaction0x03ME currently busy on SS transaction (applies to MEUnableToProcess).
QSimTerminalResponse::NoService0x04No service (applies to MEUnableToProcess).
QSimTerminalResponse::AccessControlClassBar0x05Access control class bar (applies to MEUnableToProcess).
QSimTerminalResponse::RadioResourceNotGranted0x06Radio resource not granted (applies to MEUnableToProcess).
QSimTerminalResponse::NotInSpeechCall0x07Not in speech call (applies to MEUnableToProcess).
QSimTerminalResponse::BusyOnUssdTransaction0x08ME currently busy on USSD transaction (applies to MEUnableToProcess).
QSimTerminalResponse::BusyOnDtmf0x09ME currently busy on SEND DTMF command (applies to MEUnableToProcess).
QSimTerminalResponse::ActionNotAllowed0x01Action not allowed (applies to PermanentCallControlProblem).
QSimTerminalResponse::TypeOfRequestHasChanged0x02The type of request has changed (applies to PermanentCallControlProblem).
QSimTerminalResponse::CardReaderRemovedOrNotPresent0x01Card reader removed or not present (applies to MultipleCardError).
QSimTerminalResponse::CardRemovedOrNotPresent0x02Card removed or not present (applies to MultipleCardError).
QSimTerminalResponse::CardReaderBusy0x03Card reader busy (applies to MultipleCardError).
QSimTerminalResponse::CardPoweredOff0x04Card powered off (applies to MultipleCardError).
QSimTerminalResponse::CAPDUFormatError0x05C-APDU format error (applies to MultipleCardError).
QSimTerminalResponse::MuteCard0x06Mute card (applies to MultipleCardError).
QSimTerminalResponse::TransmissionError0x07Transmission error (applies to MultipleCardError).
QSimTerminalResponse::ProtocolNotSupported0x08Protocol not supported (applies to MultipleCardError).
QSimTerminalResponse::SpecifiedReaderNotValid0x09Specified reader not valid (applies to MultipleCardError).
QSimTerminalResponse::BearerUnavailable0x01Bearer unavailable (applies to LaunchBrowserError).
QSimTerminalResponse::BrowserUnavailable0x02Browser unavailable (applies to LaunchBrowserError).
QSimTerminalResponse::UnableToReadProvisioningData0x03ME unable to read the provisioning data (applies to LaunchBrowserError).
QSimTerminalResponse::NoChannelAvailable0x01No channel available (applies to BearerIndependentProtocolProblem).
QSimTerminalResponse::ChannelClosed0x02Channel closed (applies to BearerIndependentProtocolProblem).
QSimTerminalResponse::ChannelIdentifierNotValid0x03Channel identifier not valid (applies to BearerIndependentProtocolProblem).
QSimTerminalResponse::RequestedBufferSizeNotAvailable0x04Requested buffer size not available (applies to BearerIndependentProtocolProblem).
QSimTerminalResponse::SecurityError0x05Security error; i.e. unsuccessful authentication (applies to BearerIndependentProtocolProblem).
QSimTerminalResponse::RequestedTransportNotAvailable0x06Required SIM/ME interface transport level not available (applies to BearerIndependentProtocolProblem).

enum QSimTerminalResponse::Result

This enum defines the primary response code for a TERMINAL RESPONSE message to a SIM, from 3GPP TS 11.14, section 12.12.

ConstantValueDescription
QSimTerminalResponse::Success0x00Command performed successfully.
QSimTerminalResponse::PartialComprehension0x01Command performed with partial comprehension.
QSimTerminalResponse::MissingInformation0x02Command performed with missing information.
QSimTerminalResponse::RefreshPerformed0x03Refresh performed with additional elementary files read.
QSimTerminalResponse::IconNotDisplayed0x04Command performed, but requested icon could not be displayed.
QSimTerminalResponse::ModifiedCallControl0x05Command performed, but modified by call control by SIM.
QSimTerminalResponse::LimitedService0x06Command performed, limited service.
QSimTerminalResponse::WithModification0x07Command performed with modification.
QSimTerminalResponse::SessionTerminated0x10Proactive SIM session terminated by the user.
QSimTerminalResponse::BackwardMove0x11Backward move in proactive SIM session requested by the user.
QSimTerminalResponse::NoResponseFromUser0x12No response from the user.
QSimTerminalResponse::HelpInformationRequested0x13Help information requested by the user.
QSimTerminalResponse::UssdOrSsTerminatedByUser0x14USSD or SS transaction terminated by the user.
QSimTerminalResponse::MEUnableToProcess0x20ME currently unable to process command.
QSimTerminalResponse::NetworkUnableToProcess0x21Network currently unable to process command.
QSimTerminalResponse::UserDidNotAccept0x22User did not accept the practive command.
QSimTerminalResponse::UserClearedDownCall0x23User cleared down call before connection or network release.
QSimTerminalResponse::ActionInContradictionWithTimer0x24Action in contradication with the current timer state.
QSimTerminalResponse::TemporaryCallControlProblem0x25Interaction with call control by SIM, temporary problem.
QSimTerminalResponse::LaunchBrowserError0x26Launch browser generic error code.
QSimTerminalResponse::BeyondMECapabilities0x30Command beyond ME's capabilities.
QSimTerminalResponse::TypeNotUnderstood0x31Command type not understood by ME.
QSimTerminalResponse::DataNotUnderstood0x32Command data not understood by ME.
QSimTerminalResponse::NumberNotUnderstood0x33Command number not understood by ME.
QSimTerminalResponse::SsReturnError0x34SS Return Error.
QSimTerminalResponse::SmsRpError0x35SMS RP-ERROR.
QSimTerminalResponse::RequiredValuesMissing0x36Error, required values are missing.
QSimTerminalResponse::UssdReturnError0x37USSD Return Error.
QSimTerminalResponse::MultipleCardError0x38MultipleCard commands error.
QSimTerminalResponse::PermanentCallControlProblem0x39Interaction with call control by SIM or MO short message control by SIM, permanent problem.
QSimTerminalResponse::BearerIndependentProtocolProblem0x3ABearer Independent Protocol error.


Member Function Documentation

QSimTerminalResponse::QSimTerminalResponse ()

Construct a new SIM terminal response object with default parameters.

QSimTerminalResponse::QSimTerminalResponse ( const QSimTerminalResponse & value )

Construct a new SIM terminal response object as a copy of value.

QSimTerminalResponse::~QSimTerminalResponse ()

Destruct a SIM terminal response object.

void QSimTerminalResponse::addExtensionField ( int tag, const QByteArray & value )

Adds an extension field to the data from extensionData(). The field will have the specified tag and contents given by value.

See also extensionField().

QSimTerminalResponse::Cause QSimTerminalResponse::cause () const

Returns the additional cause information for this SIM terminal response. Returns NoSpecificCause if there is no additional cause information.

The additional cause value is the first byte of causeData(), or NoSpecificCause if causeData() is empty. Thus, cause() should be used only as a convenience function to quickly determine the cause of an error result().

See also setCause(), causeData(), and result().

QByteArray QSimTerminalResponse::causeData () const

Returns the additional cause data associated with this SIM terminal response. The default value is an empty QByteArray.

See also setCauseData(), cause(), and result().

QSimCommand QSimTerminalResponse::command () const

Returns the SIM command that gave rise to this SIM terminal response. The default is a default-constructed QSimCommand.

See also setCommand(), commandPdu(), and setCommandPdu().

QByteArray QSimTerminalResponse::commandPdu () const

Returns the PDU form of the SIM command that gave rise to this SIM terminal response. The default is a PDU corresponding to a default-constructed QSimCommand.

See also setCommandPdu(), command(), and setCommand().

int QSimTerminalResponse::dataCodingScheme () const

Returns the recommended data coding scheme for encoding USSD text strings. The default value is -1, which indicates that the best scheme should be chosen based on the contents of the USSD text string.

See also setDataCodingScheme().

QSimCommand::Device QSimTerminalResponse::destinationDevice () const

Returns the destination device that will receive the response. The default value is QSimCommand::SIM.

See also setDestinationDevice().

uint QSimTerminalResponse::duration () const

Returns the number of milliseconds for the duration of a poll interval. The default value is zero, indicating that the default duration should be used.

Applies to: PollInterval.

See also setDuration().

QByteArray QSimTerminalResponse::extensionData () const

Returns the extension data for this terminal response. The extension data is appended after all other fields, and consists of zero or more BER tag-length-value field specifications.

See also setExtensionData() and extensionField().

QByteArray QSimTerminalResponse::extensionField ( int tag ) const

Returns the contents of an extension field. The tag is an 8-bit value, from 3GPP TS 11.14, that specifies the particular field the caller is interested in. The most significant bit of tag is ignored when searching for the field, as it contains the "must comprehend" status from 3GPP TS 11.14, and is not important for locating the desired field.

This is a simpler method than extensionData() for accessing values within the extension data. As an example, the following code extracts the "answer to reset" information from the response to a PowerOnCard SIM command:

    QSimTerminalResponse resp;
    ...
    QByteArray atr = resp.extensionField(0xA1);

See also addExtensionField().

QSimTerminalResponse QSimTerminalResponse::fromPdu ( const QByteArray & pdu )   [static]

Returns a SIM terminal response object corresponding to the data in pdu. The data is decoded as described in 3GPP TS 11.14, section 6.8.

See also toPdu().

uint QSimTerminalResponse::menuItem () const

Returns the menu item to be selected. The default value is zero.

Applies to: SelectItem

See also setMenuItem().

QSimTerminalResponse::Result QSimTerminalResponse::result () const

Returns the result code for this SIM terminal response. The default value is Success.

The result code may not be sufficient on its own to determine the cause of a failure. The cause() and causeData() functions provides the additional information.

See also setResult(), cause(), and causeData().

void QSimTerminalResponse::setCause ( QSimTerminalResponse::Cause value )

Sets the additional cause information for this SIM terminal response to value. This is equivalent to calling setCauseData() with a QByteArray containing a single byte, value.

See also cause(), setCauseData(), and result().

void QSimTerminalResponse::setCauseData ( const QByteArray & value )

Sets the additional cause data associated with this SIM terminal response to value.

See also causeData() and result().

void QSimTerminalResponse::setCommand ( const QSimCommand & value )

Sets the SIM command that gave rise to this SIM terminal response to value. Calling this function will also affect the result of commandPdu().

See also command(), commandPdu(), and setCommandPdu().

void QSimTerminalResponse::setCommandPdu ( const QByteArray & value )

Sets the PDU form of the SIM command that gave rise to this SIM terminal response to value. Calling this function will also affect the result of command().

See also commandPdu(), command(), and setCommand().

void QSimTerminalResponse::setDataCodingScheme ( int value )

Sets the recommended data coding scheme for encoding USSD text strings to value. The value -1 indicates that the best scheme should be chosen based on the contents of the USSD text string.

See also dataCodingScheme().

void QSimTerminalResponse::setDestinationDevice ( QSimCommand::Device value )

Sets the destination device that will receive the response to value.

See also destinationDevice().

void QSimTerminalResponse::setDuration ( uint value )

Sets the duration of a poll interval to value.

Applies to: PollInterval

See also duration().

void QSimTerminalResponse::setExtensionData ( QByteArray value )

Sets the extension data for this terminal response to value. The extension data is appended after all other fields, and consists of zero or more BER tag-length-value field specifications.

See also extensionData() and addExtensionField().

void QSimTerminalResponse::setMenuItem ( uint value )

Sets the menu item to be selected to value.

Applies to: SelectItem

See also menuItem().

void QSimTerminalResponse::setResult ( QSimTerminalResponse::Result value )

Sets the result code for this SIM terminal response to value.

The result code may not be sufficient on its own to determine the cause of a failure. The setCause() and setCauseData() functions can be used to provide the additional information.

See also result(), setCause(), and setCauseData().

void QSimTerminalResponse::setSourceDevice ( QSimCommand::Device value )

Sets the source device that generated the response to value.

See also sourceDevice().

void QSimTerminalResponse::setText ( const QString & value )

Sets the text to be sent along with this terminal response to value.

Applies to: GetInkey, GetInput

See also text().

QSimCommand::Device QSimTerminalResponse::sourceDevice () const

Returns the source device that generated the response. The default value is QSimCommand::ME.

See also setSourceDevice().

QString QSimTerminalResponse::text () const

Returns the text to be sent along with this terminal response.

Applies to: GetInkey, GetInput

See also setText().

QByteArray QSimTerminalResponse::toPdu () const

Returns the PDU form of this SIM terminal response, encoded as described in 3GPP TS 11.14, section 6.8.

See also fromPdu().

QSimTerminalResponse & QSimTerminalResponse::operator= ( const QSimTerminalResponse & value )

Copy the QSimTerminalResponse object value.


Copyright © 2008 Nokia Trademarks
Qtopia 4.3.3