//! [Connect to remote service] void Chat::connectClicked() { ui->connectButton->setEnabled(false); // scan for services RemoteSelector remoteSelector; remoteSelector.startDiscovery(QBluetoothUuid(serviceUuid)); if (remoteSelector.exec() == QDialog::Accepted) { QBluetoothServiceInfo service = remoteSelector.service(); qDebug() << "Connecting to service 2" << service.serviceName() << "on" << service.device().name(); // Create client qDebug() << "Going to create client"; ChatClient *client = new ChatClient(this); qDebug() << "Connecting..."; connect(client, SIGNAL(messageReceived(QString,QString)), this, SLOT(showMessage(QString,QString))); connect(client, SIGNAL(disconnected()), this, SLOT(clientDisconnected())); connect(client, SIGNAL(connected(QString)), this, SLOT(connected(QString))); connect(this, SIGNAL(sendMessage(QString)), client, SLOT(sendMessage(QString))); qDebug() << "Start client"; client->startClient(service); clients.append(client); } ui->connectButton->setEnabled(true); }
int main(int argc, char *argv[]) { QApplication app(argc, argv); RemoteSelector d; QObject::connect(&d, SIGNAL(accepted()), &app, SLOT(quit())); d.startDiscovery(); d.show(); app.exec(); return 0; }