This document lists the API changes done between Qt Bluetooth 5.15 and the first
QtBluetooth release in the Qt 6 series. This file is temporary in nature to keep track of API
changes for further documentation later on.

General
-------

 - qbluetoothglobal.h was removed. qtbluetoothglobal. is the official header with the same purpose.

 - Every usage of QVector has been replaced by QList.

 - Win32 backend has been removed. There will not be a working Bluetooth backend when Qt is built with mingw.

QBluetooth namespace
--------------------

 - The enums QBluetooth::Security and QBluetooth::AttAccessConstraint have been changed
   to a scoped enums for improved type safety.

QBluetoothDeviceDiscoveryAgent
------------------------------

 - QBluetoothDeviceDiscoveryAgent::inquiryType property and related setter/getter & enum were removed.
   The API element was never implemented and/or supported.

QBluetoothDeviceInfo
--------------------

- manufacturerData() returns a QMultiHash rather than QHash. Since Qt 6
  QMultiHash no longer derives from QHash.

- DataCompleteness was removed without replacement.

- setServiceUuids(const QList<QBluetoothUuid>, DataCompleteness) was replaced by
  setServiceUuids(const QList<QBluetoothUuid> &uuids)

- DataCompleteness serviceUuidsCompleteness() const was removed without replacement.

- QList<QBluetoothUuid> serviceUuids(DataCompleteness *completeness = nullptr) const was replaced by
  QList<QBluetoothUuid> serviceUuids() const.

QBluetoothLocalDevice
---------------------

- Pairing agent related API was removed without replacement. This includes pairingConfirmation(bool),
  pairingDisplayPinCode(..) & pairingDisplayConfirmation(..). Except for Android and BlueZ 4 there was
  never an implementation for it. Bluez 4 support was removed in Qt 6 and Android's implementation
  required unobtainable BLUETOOTH_PRIVILEGED for at least parts of the code.

QLowEnergyService
-----------------

 - Renamed ServiceState enum values:
   - "DiscoveryRequired" becomes "RemoteService"
   - "DiscoveringServices" becomes "RemoteServiceDiscovering"
   - "ServiceDiscovered" becomes "RemoteServiceDiscovered"
   This change happens in anticipation that service discovery might become an optional
   step in the future.

QBluetoothUuid
--------------

 - enums ProtocolUuid, ServiceClassUuid, CharacteristicType, and DescriptorType are now scoped enums.
   Usage of enum items has to be adapted in user code.

QLowEnergyController
--------------------

 - Existing ctors and create*() functions with remote QBluetoothAddress parameters have been removed. QBluetoothAddress
   is not sufficient to indicate remote devices on Apple systems. It requires UUIDs to "name" devices. This can only
   be satisfied by QBluetoothDeviceInfo.

 - Remaining QLowEnergyController ctors have been made private. The createPeripheral() and createCentral() functions
   should be used to obtain QLowEnergyController instances.

QBluetoothTransferManager
-------------------------

 - QBluetoothTransferManager, QBluetoothTransferRequest, and QBluetoothTransferReply have been removed
   without replacement.

QBluetoothSocket
-------------------------

 - QBluetoothSocket::SocketState and QBluetoothSocket::SocketError are now scoped enums. Usage of enum
   items has to be adapted in user code.

QML Interface
-------------

 - The QML interface has been removed because socket programming via QML is not advisable.
   QDeclarativeBluetoothService, QDeclarativeBluetoothSocket, and QDeclarativeBluetoothDiscoveryModel
   (in QML: BluetoothService, BluetoothSocket, and BluetoothDiscoveryModel)
   have been removed without replacement.

"error" signals
---------------

 - The "error" signals in QBluetoothDeviceDiscoveryAgent, QBluetoothLocalDevice, QBluetoothServer,
   QBluetoothServiceDiscoveryAgent, QBluetoothSocket, QLowEnergyController, and QLowEnergyService
   have been renamed to "errorOccurred" to remove ambiguities between the "error" signal and the
   "error" getter.
