Qt Bluetoothの変更点
Qt 6 は、フレームワークをより効率的で使いやすくするための意識的な努力の結果です。
私たちは各リリースにおいて、すべてのパブリックAPIのバイナリとソースの互換性を維持しようと努めています。しかし、Qt をより良いフレームワークにするために避けられない変更もあります。
このトピックでは、QtBluetooth におけるそれらの変更点を要約し、それらを扱うためのガイダンスを提供します。
一般的な
- qbluetoothglobal.h は削除されました。qtbluetoothglobal.h は同じ目的の公式ヘッダーです。
- QVector のすべての用法がQList に置き換えられました。
- Win32 バックエンドが削除されました。Qt が mingw でビルドされたとき、動作する Bluetooth バックエンドはありません。
- Windows バックエンドは 1 つだけになったので、qt.bluetooth.winrt のロギングカテゴリは削除されました。対応するログメッセージは qt.bluetooth.windows にあります。
QBluetooth 名前空間
列挙型QBluetooth::Security 、QBluetooth::AttAccessConstraint がスコープされた列挙型に変更され、型の安全性が向上しました。
QBluetoothDeviceDiscoveryAgent
QBluetoothDeviceDiscoveryAgent::inquiryType プロパティと、関連するセッター/ゲッター & enum が削除されました。この API 要素は実装およびサポートされませんでした。
QBluetoothDeviceInfo
- manufacturerData() はQHash ではなくQMultiHash を返します。 Qt 6 以降、QMultiHash はQHash から派生しなくなりました。
- DataCompleteness は、関連する API 要素が目的を果たさなくなったため、置き換えられることなく削除されました。
- setServiceUuids(constQList<QBluetoothUuid>, DataCompleteness) は setServiceUuids(constQList<QBluetoothUuid> &uuids) に置き換えられました。
- DataCompletenessのserviceUuidsCompleteness() constが置き換えられることなく削除されました。
- QList<QBluetoothUuid> serviceUuids(DataCompleteness *completeness = nullptr) const はQList<QBluetoothUuid> serviceUuids() const に置き換えられました。
QBluetoothLocalDevice
ペアリングエージェント関連のAPIは、置き換えられることなく削除されました。これには pairingConfirmation(bool), pairingDisplayPinCode(...) & pairingDisplayConfirmation(...) が含まれます。AndroidとBlueZ 4を除いて、この実装はありませんでした。Bluez 4のサポートはQt 6で削除され、Androidの実装では、コードの少なくとも一部で取得不可能なBLUETOOTH_PRIVILEGEDが必要でした。
QLowEnergyService
ServiceState 列挙値の名前を変更しました:
- DiscoveryRequired なるRemoteService
- DiscoveringService になるRemoteServiceDiscovering
- ServiceDiscovered になるRemoteServiceDiscovered
この変更は、将来的にサービス発見がオプションのステップになる可能性を見越して行われた。
QBluetoothUuid
enumProtocolUuid,ServiceClassUuid,CharacteristicType,DescriptorType がスコープ付き enum になりました。enum 項目の使用法は、ユーザー・コードに合わせる必要がある。
QLowEnergyController
- リモートのQBluetoothAddress パラメータを持つ既存の ctors と create*() 関数が削除されました。QBluetoothAddress は、Apple システム上のリモートデバイスを示すのに十分ではありません。デバイスに「名前を付ける」ためにはUUIDが必要です。これはQBluetoothDeviceInfo によってのみ満たされる。
- 残りのQLowEnergyController オブジェクトはプライベート化された。QLowEnergyController インスタンスを取得するには、createPeripheral() および createCentral() 関数を使用する必要があります。
QLowEnergyCharacteristic
- 新しいメソッド clientCharacteristicConfiguration() が導入され、クライアント特性構成記述子を簡単に取得できるようになりました。
- クライアント特性構成記述子の取り得る値を保持する定数CCCDDisable 、CCCDEnableNotification 、およびCCCDEnableIndication が導入されました。
- handle()メソッドは Bluetooth LE のパブリック・インターフェースの一部ではなくなりました。これは特性の識別子としての目的に取って代わられた。QLowEnergyCharacteristic インスタンス自体が識別子の役割を果たします。
QLowEnergyDescriptor
handle() メソッドは、Bluetooth LE 公開インターフェースの一部ではなくなりました。記述子の識別子としての目的は置き換えられた。QLowEnergyDescriptor インスタンス自体が識別子の役割を果たします。
QBluetoothTransferManager
QBluetoothTransferManager、QBluetoothTransferRequest、QBluetoothTransferReply は置き換えられることなく削除されました。
QBluetoothSocket
QBluetoothSocket::SocketState および はスコープ付き enum になりました。enum 項目の使い方は、ユーザーコードで調整する必要があります。QBluetoothSocket::SocketError
QML インターフェース
QML によるソケットプログラミングは推奨されないため、QML インターフェースは削除されました。QDeclarativeBluetoothService, QDeclarativeBluetoothSocket, QDeclarativeBluetoothDiscoveryModel (QMLではBluetoothService, BluetoothSocket, BluetoothDiscoveryModel)は置き換えられることなく削除されました。
「エラーシグナル
QBluetoothDeviceDiscoveryAgent,QBluetoothLocalDevice,QBluetoothServer,QBluetoothServiceDiscoveryAgent,QBluetoothSocket,QLowEnergyController,QLowEnergyService の "error "シグナルは、"error "シグナルと "error "ゲッターの間の曖昧さを取り除くために、"errorOccurred "に名前が変更されました。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。