QBluetoothTransferManager Class

The QBluetoothTransferManager class transfers data to another device using Object Push Profile (OPP). More...

Header: #include <QBluetoothTransferManager>
qmake: QT += bluetooth
Since: Qt 5.2

Public Functions

QBluetoothTransferManager(QObject *parent = nullptr)
virtual ~QBluetoothTransferManager()
QBluetoothTransferReply *put(const QBluetoothTransferRequest &request, QIODevice *data)

Signals

void finished(QBluetoothTransferReply *reply)

Static Public Members

const QMetaObject staticMetaObject

Detailed Description

The QBluetoothTransferManager class transfers data to another device using Object Push Profile (OPP).

QBluetoothTransferManager uses OBEX to send put commands to remote devices. A typical OBEX transfer is initialized as follows:


  // Create a transfer manager
  QBluetoothTransferManager *transferManager = new QBluetoothTransferManager(this);

  // Create the transfer request and file to be sent
  QBluetoothAddress remoteAddress("00:11:22:33:44:55:66");
  QBluetoothTransferRequest request(remoteAddress);
  QFile *file = new QFile("testfile.txt");

  // Ask the transfer manager to send it
  QBluetoothTransferReply *reply = transferManager->put(request, file);
  if (reply->error() == QBluetoothTransferReply::NoError) {

      // Connect to the reply's signals to be informed about the status and do cleanups when done
      QObject::connect(reply, SIGNAL(finished(QBluetoothTransferReply*)),
                       this, SLOT(transferFinished(QBluetoothTransferReply*)));
      QObject::connect(reply, SIGNAL(error(QBluetoothTransferReply::TransferError)),
                       this, SLOT(error(QBluetoothTransferReply::TransferError)));
  } else {
      qWarning() << "Cannot push testfile.txt:" << reply->errorString();
  }

Note that this API is not currently supported on Android.

Member Function Documentation

QBluetoothTransferManager::QBluetoothTransferManager(QObject *parent = nullptr)

Constructs a new QBluetoothTransferManager with parent.

[virtual] QBluetoothTransferManager::~QBluetoothTransferManager()

Destroys the QBluetoothTransferManager.

[signal] void QBluetoothTransferManager::finished(QBluetoothTransferReply *reply)

QBluetoothTransferReply *QBluetoothTransferManager::put(const QBluetoothTransferRequest &request, QIODevice *data)