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

[QtBluetooth BlueZ] Implement a shared ProfileManager

    XMLWordPrintable

Details

    • Task
    • Resolution: Unresolved
    • P3: Somewhat important
    • None
    • 6.5
    • None
    • Linux/X11
    • 21
    • Foundation PM Staging

    Description

      QtBluetooth uses BlueZ DBus interfaces on Linux.

      One of the interfaces is BlueZ ProfileManager which is used to register a Bluetooth profile, which among other things defines which service-UUID the profile (and consequently the application) implements.

      BlueZ will only allow one profile to be registered for one service-UUID. Others will get a "UUID already registered" error. I think this is understandable; otherwise BlueZ would not know whom to provide with the new connections. Further I think BlueZ doesn't really distinguish between profiles registered to same or different applications.

      In current Qt codebase the profile manager instances are specific to QBluetoothSocket (client) and QBluetoothServiceInfo (server) instances.

      This becomes a problem if we want to connect multiple QBluetoothSockets to same service UUIDs on different devices. The QTBUG-82413 implements a workaround for the problem. But ideally a single Qt application would have a single shared ProfileManager dealing with these profile registrations. Understandably the shared-manager would only help within a single application (one application using multiple sockets to same service-UUID on different devices), but not if several different applications attempt to use same UUID.

      In addition it should be investigated that could this also provide a solution on how to handle concurrently registered client (QBluetoothSocket) and server (QBluetoothServiceInfo) profiles for a single service-UUID. This relates to the use case of 'btchat' application, where the application both listens to incoming connections, and is able to connect to other devices.

      It should be noted that testing this kind of feature is time consuming.

      Attachments

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

        Activity

          People

            cnn Qt Core & Network
            vuokko Juha Vuolle
            Vladimir Minenko Vladimir Minenko
            Alex Blasche Alex Blasche
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated:

              Gerrit Reviews

                There are no open Gerrit changes