本文整理汇总了C++中QSimCommand::setDestinationDevice方法的典型用法代码示例。如果您正苦于以下问题:C++ QSimCommand::setDestinationDevice方法的具体用法?C++ QSimCommand::setDestinationDevice怎么用?C++ QSimCommand::setDestinationDevice使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QSimCommand
的用法示例。
在下文中一共展示了QSimCommand::setDestinationDevice方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: toneMenu
void DemoSimApplication::toneMenu( const QSimTerminalResponse& resp )
{
QSimCommand cmd;
if ( resp.result() == QSimTerminalResponse::Success ) {
// Item selected.
cmd.setType( QSimCommand::PlayTone );
cmd.setDestinationDevice( QSimCommand::Earpiece );
cmd.setTone( (QSimCommand::Tone)( resp.menuItem() ) );
if ( cmd.tone() == QSimCommand::ToneDial )
cmd.setDuration( 5000 );
else if ( cmd.tone() == QSimCommand::ToneGeneralBeep ||
cmd.tone() == QSimCommand::TonePositiveBeep ||
cmd.tone() == QSimCommand::ToneNegativeBeep )
cmd.setDuration( 1000 );
else
cmd.setDuration( 3000 );
command( cmd, this, SLOT(sendToneMenu()) );
} else if ( resp.result() == QSimTerminalResponse::BackwardMove ) {
// Request to move backward.
mainMenu();
} else {
// Unknown response - just go back to the main menu.
mainMenu();
}
}
示例2: sportsMenu
void DemoSimApplication::sportsMenu( const QSimTerminalResponse& resp )
{
QSimCommand cmd;
if ( resp.result() == QSimTerminalResponse::Success ) {
// Item selected.
switch ( resp.menuItem() ) {
case SportsMenu_Chess:
{
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setText( "Kasparov 3, Deep Blue 4" );
command( cmd, this, SLOT(sendSportsMenu()) );
}
break;
case SportsMenu_Painting:
{
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setText( "Little Johnny 4, Little Sally 6" );
command( cmd, this, SLOT(sendSportsMenu()) );
}
break;
case SportsMenu_Snakes:
{
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setText( "Little Johnny 0, Little Sally 2" );
cmd.setClearAfterDelay( true );
command( cmd, this, SLOT(sendSportsMenu()) );
}
break;
default: mainMenu(); break;
}
} else if ( resp.result() == QSimTerminalResponse::BackwardMove ) {
// Request to move backward.
mainMenu();
} else {
// Unknown response - just go back to the main menu.
mainMenu();
}
}
示例3: testDeliverSendDTMF
void tst_QSimToolkit::testDeliverSendDTMF()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( int, resptype );
QFETCH( QString, text );
QFETCH( QString, number );
QFETCH( int, iconId );
QFETCH( bool, iconSelfExplanatory );
QFETCH( QByteArray, textAttribute );
QFETCH( QString, html );
QFETCH( int, options );
Q_UNUSED(resptype);
Q_UNUSED(html);
// 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::SendDTMF );
cmd.setDestinationDevice( QSimCommand::Network );
cmd.setText( text );
cmd.setNumber( number );
cmd.setIconId( (uint)iconId );
cmd.setIconSelfExplanatory( iconSelfExplanatory );
cmd.setTextAttribute( textAttribute );
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.text() == cmd.text() );
QVERIFY( deliveredCommand.number() == cmd.number() );
QVERIFY( deliveredCommand.iconId() == cmd.iconId() );
QVERIFY( deliveredCommand.iconSelfExplanatory() == cmd.iconSelfExplanatory() );
QVERIFY( deliveredCommand.textAttribute() == cmd.textAttribute() );
QCOMPARE( deliveredCommand.toPdu( (QSimCommand::ToPduOptions)options ), data );
// The terminal response should have been sent immediately to ack reception of the command.
// We cannot check the return data explicitly because that will be handled in the modem
// and will typically be invisible to Qtopia. We therefore compare against what the
// response would be without the return data.
QCOMPARE( server->responseCount(), 1 );
QCOMPARE( server->envelopeCount(), 0 );
QSimTerminalResponse resp2;
resp2.setCommand( deliveredCommand );
resp2.setResult( QSimTerminalResponse::Success );
QCOMPARE( server->lastResponse(), resp2.toPdu() );
}
示例4: getInputLoop
void DemoSimApplication::getInputLoop( const QSimTerminalResponse& resp )
{
QSimCommand cmd;
if ( resp.result() == QSimTerminalResponse::HelpInformationRequested ) {
// Display help for the game.
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setText("Enter code of the company." );
command( cmd, this, SLOT(mainMenu()) );
} else {
mainMenu();
}
}
示例5: sticksGameLoop
void DemoSimApplication::sticksGameLoop( const QSimTerminalResponse& resp )
{
QSimCommand cmd;
if ( resp.result() == QSimTerminalResponse::Success ) {
// User has selected the number of sticks they want.
int taken = 0;
if ( resp.text() == "1" ) {
taken = 1;
} else if ( resp.text() == "2" ) {
taken = 2;
} else if ( resp.text() == "3" ) {
taken = 3;
} else {
cmd.setType( QSimCommand::GetInkey );
cmd.setText( "Must be 1, 2, or 3. There are " + QString::number( sticksLeft ) +
" sticks left. How many sticks do you take?" );
cmd.setWantDigits( true );
command( cmd, this, SLOT(sticksGameLoop(QSimTerminalResponse)) );
return;
}
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setText( "I take " + QString::number( 4 - taken ) + " sticks." );
cmd.setClearAfterDelay( true );
sticksLeft -= 4;
command( cmd, this, SLOT(sticksGameShow()) );
} else if ( resp.result() == QSimTerminalResponse::HelpInformationRequested ) {
// Display help for the game.
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setText( "Starting with 21 sticks, players pick up 1, 2, or 3 sticks at a time. "
"The loser is the player who has to pick up the last stick." );
command( cmd, this, SLOT(startSticksGame()) );
} else {
// Probably aborted.
mainMenu();
}
}
示例6: sendDisplayText
void DemoSimApplication::sendDisplayText()
{
// Display a text string and then go back to the main menu once the
// text is accepted by the user.
QSimCommand cmd;
cmd.setType( QSimCommand::DisplayText );
cmd.setDestinationDevice( QSimCommand::Display );
cmd.setClearAfterDelay(false);
cmd.setImmediateResponse(true);
cmd.setHighPriority(false);
immediateResponse = true;
cmd.setText( "Police today arrested a man on suspicion "
"of making phone calls while intoxicated. Witnesses claimed "
"that they heard the man exclaim \"I washent dwinkn!\" as "
"officers escorted him away." );
command( cmd, this, SLOT(displayTextResponse(QSimTerminalResponse)) );
}
示例7: testDeliverPowerOnCard
void tst_QSimToolkit::testDeliverPowerOnCard()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( QByteArray, atr );
QFETCH( int, resptype );
QFETCH( int, device );
QFETCH( int, options );
Q_UNUSED(resp);
Q_UNUSED(resptype);
Q_UNUSED(atr);
// 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::PowerOnCard );
cmd.setDestinationDevice( (QSimCommand::Device)( device + 0x10 ) );
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() );
QCOMPARE( deliveredCommand.toPdu( (QSimCommand::ToPduOptions)options ), data );
// The response should have been sent immediately, and should always be success.
// We cannot test the answer to reset behaviour with this interface.
QCOMPARE( server->responseCount(), 1 );
QCOMPARE( server->envelopeCount(), 0 );
static unsigned char const ok_resp[] =
{0x81, 0x03, 0x01, 0x31, 0x00, 0x82, 0x02, 0x82, 0x81, 0x83, 0x01, 0x00};
QByteArray resp2 = QByteArray( (char *)ok_resp, sizeof( ok_resp ) );
QCOMPARE( server->lastResponse(), resp2 );
}
示例8: testDeliverPowerOffCard
void tst_QSimToolkit::testDeliverPowerOffCard()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( int, resptype );
QFETCH( int, device );
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::PowerOffCard );
cmd.setDestinationDevice( (QSimCommand::Device)( device + 0x10 ) );
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() );
QCOMPARE( deliveredCommand.toPdu( (QSimCommand::ToPduOptions)options ), data );
// The response should have been sent immediately.
QCOMPARE( server->responseCount(), 1 );
QCOMPARE( server->envelopeCount(), 0 );
if ( resptype == 0x0000 ) {
QCOMPARE( server->lastResponse(), resp );
} else {
// We cannot test the "no card inserted" case because the qtopiaphone
// library will always respond with "command performed successfully".
static unsigned char const ok_resp[] =
{0x81, 0x03, 0x01, 0x32, 0x00, 0x82, 0x02, 0x82, 0x81, 0x83, 0x01, 0x00};
QByteArray resp2 = QByteArray( (char *)ok_resp, sizeof( ok_resp ) );
QCOMPARE( server->lastResponse(), resp2 );
}
}
示例9: testUISendSMS
void tst_QSimToolkit::testUISendSMS()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( QByteArray, tpdu );
QFETCH( int, resptype );
QFETCH( QString, text );
QFETCH( QString, number );
QFETCH( bool, smsPacking );
QFETCH( int, iconId );
QFETCH( bool, iconSelfExplanatory );
QFETCH( QByteArray, textAttribute );
QFETCH( QString, html );
QFETCH( int, options );
Q_UNUSED(html);
Q_UNUSED(options);
// Skip tests that we cannot test using the "simapp" UI.
if ( resptype == 0x0004 ) { // Icon not displayed
QSKIP( "", SkipSingle );
}
// Output a dummy line to give some indication of which test we are currently running.
qDebug() << "";
// Create the command to be tested.
QSimCommand cmd;
cmd.setType( QSimCommand::SendSMS );
cmd.setDestinationDevice( QSimCommand::Network );
cmd.setText( text );
if ( text.isEmpty() && ( options & QSimCommand::EncodeEmptyStrings ) != 0 )
cmd.setSuppressUserFeedback( true );
cmd.setNumber( number );
cmd.setSmsPacking( smsPacking );
cmd.setIconId( (uint)iconId );
cmd.setIconSelfExplanatory( iconSelfExplanatory );
cmd.setTextAttribute( textAttribute );
QByteArray newtpdu = tpdu;
if ( smsPacking ) {
// To prevent truncation of the 1.4.1 test data during 7-bit to 8-bit conversion,
// we extract the TPDU from "data" rather than use "tpdu".
newtpdu = QSimCommand::fromPdu( data ).extensionField(0x8B);
}
newtpdu[1] = (char)0;
cmd.addExtensionField( 0x8B, newtpdu );
// Set up the server with the command, ready to be selected
// from the "Run Test" menu item on the test menu.
server->startUsingTestMenu( cmd );
QVERIFY( waitForView( SimMenu::staticMetaObject ) );
// Clear the server state just before we request the actual command under test.
server->clear();
// Select the first menu item.
select();
// Wait for the text to display. If user feedback is suppressed, then
// the command is supposed to be performed silently.
if ( cmd.suppressUserFeedback() )
QVERIFY( !waitForView( SimText::staticMetaObject ) );
else
QVERIFY( waitForView( SimText::staticMetaObject ) );
// Check that the response is what we expected. The response is
// sent automatically by the back-end and is always "success".
QCOMPARE( server->responseCount(), 1 );
QCOMPARE( server->envelopeCount(), 0 );
QCOMPARE( server->lastResponse(), resp );
}
示例10: testDeliverSendSMS
void tst_QSimToolkit::testDeliverSendSMS()
{
QFETCH( QByteArray, data );
QFETCH( QByteArray, resp );
QFETCH( QByteArray, tpdu );
QFETCH( int, resptype );
QFETCH( QString, text );
QFETCH( QString, number );
QFETCH( bool, smsPacking );
QFETCH( int, iconId );
QFETCH( bool, iconSelfExplanatory );
QFETCH( QByteArray, textAttribute );
QFETCH( QString, html );
QFETCH( int, options );
Q_UNUSED(html);
// 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::SendSMS );
cmd.setDestinationDevice( QSimCommand::Network );
cmd.setText( text );
if ( text.isEmpty() && ( options & QSimCommand::EncodeEmptyStrings ) != 0 )
cmd.setSuppressUserFeedback( true );
cmd.setNumber( number );
cmd.setSmsPacking( smsPacking );
cmd.setIconId( (uint)iconId );
cmd.setIconSelfExplanatory( iconSelfExplanatory );
cmd.setTextAttribute( textAttribute );
QByteArray newtpdu = tpdu;
if ( smsPacking ) {
// To prevent truncation of the 1.4.1 test data during 7-bit to 8-bit conversion,
// we extract the TPDU from "data" rather than use "tpdu".
newtpdu = QSimCommand::fromPdu( data ).extensionField(0x8B);
}
newtpdu[1] = (char)0;
cmd.addExtensionField( 0x8B, newtpdu );
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.text() == cmd.text() );
QVERIFY( deliveredCommand.suppressUserFeedback() == cmd.suppressUserFeedback() );
QVERIFY( deliveredCommand.number() == cmd.number() );
QVERIFY( deliveredCommand.smsPacking() == cmd.smsPacking() );
QVERIFY( deliveredCommand.iconId() == cmd.iconId() );
QVERIFY( deliveredCommand.iconSelfExplanatory() == cmd.iconSelfExplanatory() );
QVERIFY( deliveredCommand.extensionData() == cmd.extensionData() );
QVERIFY( deliveredCommand.textAttribute() == cmd.textAttribute() );
QCOMPARE( deliveredCommand.toPdu( (QSimCommand::ToPduOptions)options ), data );
// The terminal response should have been sent immediately to ack reception of the command.
QCOMPARE( server->responseCount(), 1 );
QCOMPARE( server->envelopeCount(), 0 );
if ( resptype != 0x0004 ) {
QCOMPARE( server->lastResponse(), resp );
} else {
// We cannot test the "icon not displayed" case because the qtopiaphone
// library will always respond with "command performed successfully".
// Presumably the Qtopia user interface can always display icons.
QByteArray resp2 = resp;
resp2[resp2.size() - 1] = 0x00;
QCOMPARE( server->lastResponse(), resp2 );
}
}