Uploaded image for project: 'Qt'
  1. Qt
  2. QTBUG-122206

Provide an overload for discoverServices() that allows the passing of the UUID.

    XMLWordPrintable

Details

    • Foundation PM Staging

    Description

      It would be nice to provide an overload for QLowEnergyController::discoverServices() that allows the passing of the UUID.

      The service discovery by UUID, is required by devices that are sensitive to such scanning and may expose different GATT services, depending on the scan.

      • iOS and macOS provide necessary API in CBCentralManager, which is already used by Qt in qtconnectivity/src/bluetooth/darwin/btcentralmanager.mm

      [peripheral discoverServices:nil]; <- this function accepts list of UUIDs

      However Qt Bluetooth passes only nil and doesn't allow passing UUID.

      • WinRT API uses discovery function in void QLowEnergyControllerPrivateWinRT::discoverServices()

      hr = device3->GetGattServicesAsync(&asyncResult);

      Windows provides BluetoothLEDevice.GetGattServicesForUuidAsync method

      • Linux probably requires custom Bluez code with properly formatted GATT packet
      • Android seems to not support such use case

      Attachments

        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          People

            ivan.solovev Ivan Solovev
            tuomas.vaarala Tuomas Vaarala
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes