本文整理汇总了C++中QSimCommand::refreshType方法的典型用法代码示例。如果您正苦于以下问题:C++ QSimCommand::refreshType方法的具体用法?C++ QSimCommand::refreshType怎么用?C++ QSimCommand::refreshType使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QSimCommand
的用法示例。
在下文中一共展示了QSimCommand::refreshType方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: testDeliverRefresh
void tst_QSimToolkit::testDeliverRefresh()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( int, resptype );
QFETCH( int, refreshtype );
QFETCH( int, numfiles );
QFETCH( QString, fileids );
QFETCH( int, options );
// Output a dummy line to give some indication of which test we are currently running.
qDebug() << "";
// Clear the client/server state.
server->clear();
deliveredCommand = QSimCommand();
// Compose and send the command.
QSimCommand cmd;
cmd.setType( QSimCommand::Refresh );
cmd.setRefreshType( (QSimCommand::RefreshType)refreshtype );
if ( numfiles > 0 ) {
QByteArray extData;
extData += (char)numfiles;
extData += QAtUtils::fromHex( fileids );
cmd.addExtensionField( 0x92, extData );
}
server->emitCommand( cmd );
// Wait for the command to arrive in the client.
QVERIFY( QFutureSignal::wait( this, SIGNAL(commandSeen()), 100 ) );
// Verify that the command was delivered exactly as we asked.
QVERIFY( deliveredCommand.type() == cmd.type() );
QVERIFY( deliveredCommand.refreshType() == cmd.refreshType() );
QVERIFY( deliveredCommand.extensionData() == cmd.extensionData() );
QCOMPARE( deliveredCommand.toPdu( (QSimCommand::ToPduOptions)options ), data );
// The response should have been sent immediately.
QCOMPARE( server->responseCount(), 1 );
QCOMPARE( server->envelopeCount(), 0 );
if ( resptype != 0x0003 ) {
QCOMPARE( server->lastResponse(), resp );
} else {
// We cannot test the "additional EF's read" case because the qtopiaphone
// library will always respond with "command performed successfully".
QByteArray resp2 = resp;
resp2[resp2.size() - 1] = 0x00;
QCOMPARE( server->lastResponse(), resp2 );
}
}
示例2: testEncodeRefresh
void tst_QSimToolkit::testEncodeRefresh()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( int, resptype );
QFETCH( int, refreshtype );
QFETCH( int, numfiles );
QFETCH( QString, fileids );
QFETCH( int, options );
// Output a dummy line to give some indication of which test we are currently running.
qDebug() << "";
// Check that the command PDU can be parsed correctly.
QSimCommand decoded = QSimCommand::fromPdu(data);
QVERIFY( decoded.type() == QSimCommand::Refresh );
QVERIFY( decoded.destinationDevice() == QSimCommand::ME );
QCOMPARE( (int)decoded.refreshType(), refreshtype );
if ( numfiles > 0 ) {
QCOMPARE( decoded.extensionField(0x92)[0] & 0xFF, numfiles );
QCOMPARE( decoded.extensionField(0x92).mid(1), QAtUtils::fromHex(fileids) );
} else {
QCOMPARE( decoded.extensionField(0x92), QByteArray() );
}
// Check that the original command PDU can be reconstructed correctly.
QByteArray encoded = decoded.toPdu( (QSimCommand::ToPduOptions)options );
QCOMPARE( encoded, data );
// Check that the terminal response PDU can be parsed correctly.
QSimTerminalResponse decodedResp = QSimTerminalResponse::fromPdu(resp);
QVERIFY( data.contains( decodedResp.commandPdu() ) );
if ( resptype < 0x0100 ) {
QVERIFY( decodedResp.result() == (QSimTerminalResponse::Result)resptype );
QVERIFY( decodedResp.causeData().isEmpty() );
QVERIFY( decodedResp.cause() == QSimTerminalResponse::NoSpecificCause );
} else {
QVERIFY( decodedResp.result() == (QSimTerminalResponse::Result)(resptype >> 8) );
QVERIFY( decodedResp.causeData().size() == 1 );
QVERIFY( decodedResp.cause() == (QSimTerminalResponse::Cause)(resptype & 0xFF) );
}
// Check that the original terminal response PDU can be reconstructed correctly.
QCOMPARE( decodedResp.toPdu(), resp );
}