QLowEnergyAdvertisingData Class
QLowEnergyAdvertisingData クラスは、Bluetooth Low Energy 広告中にブロードキャストされるデータを表します。詳細...
Header: | #include <QLowEnergyAdvertisingData> |
qmake: | QT += bluetooth |
- 継承されたメンバを含む、すべてのメンバの一覧
- QLowEnergyAdvertisingData は暗黙の共有クラスに属しています。
パブリック・タイプ
enum | Discoverability { DiscoverabilityNone, DiscoverabilityLimited, DiscoverabilityGeneral } |
パブリック関数
QLowEnergyAdvertisingData() | |
QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other) | |
~QLowEnergyAdvertisingData() | |
QLowEnergyAdvertisingData::Discoverability | discoverability() const |
bool | includePowerLevel() const |
QString | localName() const |
QByteArray | manufacturerData() const |
quint16 | manufacturerId() const |
QByteArray | rawData() const |
QList<QBluetoothUuid> | services() const |
void | setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode) |
void | setIncludePowerLevel(bool doInclude) |
void | setLocalName(const QString &name) |
void | setManufacturerData(quint16 id, const QByteArray &data) |
void | setRawData(const QByteArray &data) |
void | setServices(const QList<QBluetoothUuid> &services) |
void | swap(QLowEnergyAdvertisingData &other) |
QLowEnergyAdvertisingData & | operator=(const QLowEnergyAdvertisingData &other) |
静的パブリック・メンバー
quint16 | invalidManufacturerId() |
関連する非メンバー
bool | operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
bool | operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2) |
詳細説明
このデータには、デバイス名、デバイスが提供するGATTサービスなどを含めることができる。このクラスによって設定されたデータは、QLowEnergyController::startAdvertising() を呼び出すことによって広告が開始されるときに使用されます。このクラスのオブジェクトは、Advertising Data パケットまたは Scan Response パケットを表すことができます。
広告データの制限
アドバタイズ・データの最大長は、ブルートゥース・デバイスとプラットフォームのブルートゥース・スタックに依存します。互換性を最大にするために、アドバタイジング・データ・サイズをレガシー・アドバタイジングの制限である31バイトに制限することが推奨されます。
このクラスを介した可変長データセットがサポートされる制限を超える場合、動作は基盤となる Bluetooth スタックの実装に依存します。最も典型的な可能性は次のとおりです:
- 余分なデータが切り捨てられるか、完全に削除されます;
- 広告が開始されない。
例えば、Androidでは、広告データが31バイトを超えると広告が失敗します。BlueZ DBusバックエンドでは、広告の長さの上限とそれを超えた場合の動作はBlueZに任されている。
QLowEnergyAdvertisingParameters およびQLowEnergyController::startAdvertising()も参照のこと 。
メンバ型ドキュメント
enum QLowEnergyAdvertisingData::Discoverability
Generic Access Profile で定義されている広告デバイスの発見可能性。
定数 | 値 | 説明 |
---|---|---|
QLowEnergyAdvertisingData::DiscoverabilityNone | 0 | 広告デバイスはスキャンデバイスによって発見可能であることを望まない。 |
QLowEnergyAdvertisingData::DiscoverabilityLimited | 1 | 広告デバイスは高い優先度で発見可能であることを望む。このモードはホワイトリストの使用と互換性がないことに注意。制限された検出可能性が使用されるとき、QLowEnergyAdvertisingParameters::filterPolicy()の値は常にQLowEnergyAdvertisingParameters::IgnoreWhiteList であると仮定される。 |
QLowEnergyAdvertisingData::DiscoverabilityGeneral | 2 | 広告デバイスは、スキャンデバイスによって発見可能であることを望む。 |
メンバ関数ドキュメント
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData()
このクラスの新しいオブジェクトを作成します。すべての値は、Bluetooth Low Energy 仕様に従ったデフォルト値に初期化されます。
QLowEnergyAdvertisingData::QLowEnergyAdvertisingData(const QLowEnergyAdvertisingData &other)
other のコピーである、このクラスの新しいオブジェクトを構築する。
[noexcept]
QLowEnergyAdvertisingData::~QLowEnergyAdvertisingData()
このオブジェクトを破壊する。
QLowEnergyAdvertisingData::Discoverability QLowEnergyAdvertisingData::discoverability() const
広告デバイスの検出可能モードを返す。デフォルトはDiscoverabilityNone である。
setDiscoverability()も参照のこと 。
bool QLowEnergyAdvertisingData::includePowerLevel() const
デバイスの送信電力レベルを広告データに含めるかどうかを返す。デフォルトはfalse
。
setIncludePowerLevel()も参照 。
[static]
quint16 QLowEnergyAdvertisingData::invalidManufacturerId()
無効なメーカーIDを返す。この値がメーカーIDとして設定されている場合(デフォルト)、広告データにはメーカーデータは存在しない。
QString QLowEnergyAdvertisingData::localName() const
広告するローカル・デバイスの名前を返す。
setLocalName()も参照のこと 。
QByteArray QLowEnergyAdvertisingData::manufacturerData() const
メーカーデータを返す。デフォルトは空のバイト配列。
setManufacturerData()も参照 。
quint16 QLowEnergyAdvertisingData::manufacturerId() const
メーカー ID を返す。デフォルトはQLowEnergyAdvertisingData::invalidManufacturerId() で、これはデータが広告されないことを意味する。
QByteArray QLowEnergyAdvertisingData::rawData() const
アドバタイズされる、ユーザー提供の生データを返す。デフォルトは空のバイト配列。
setRawData()も参照 。
QList<QBluetoothUuid> QLowEnergyAdvertisingData::services() const
アドバタイズするサービスUUIDのリストを返します。デフォルトでは、このリストは空です。
setServices()も参照 。
void QLowEnergyAdvertisingData::setDiscoverability(QLowEnergyAdvertisingData::Discoverability mode)
広告デバイスの検出可能性タイプをmode に設定する。
注意: 発見可能性情報は実際の広告データパケットにのみ現れる。このオブジェクトがスキャン応答データとして動作する場合、この関数の呼 び出しは送信されるスキャン応答には影響しない。
discoverability()も参照のこと 。
void QLowEnergyAdvertisingData::setIncludePowerLevel(bool doInclude)
広告データにデバイスの送信電力レベルを含めるかどうかを指定する。doInclude がtrue
の場合はデータが含まれ、そうでない場合は含まれない。
includePowerLevel()も参照 。
void QLowEnergyAdvertisingData::setLocalName(const QString &name)
デバイスの名前としてname をブロードキャストすることを指定します。完全な名前が広告データパケットに収まらない場合は、Bluetooth Low Energy仕様で記述されているように、省略した名前が送信されます。
Androidでは、ローカル名は変更できません。Androidは常にデバイス名を使用します。このローカル名が空でない場合、Androidの実装は広告パケットにデバイス名を含め、そうでない場合は広告パケットからデバイス名を省略します。
localName()も参照のこと 。
void QLowEnergyAdvertisingData::setManufacturerData(quint16 id, const QByteArray &data)
メーカー ID とデータを設定します。id パラメータは、Bluetooth SIG によって割り当てられた会社識別子である。data パラメーターは任意の値です。
注: macOSとiOSはメーカーIDやデータの広告をサポートしていないため、これらのプラットフォームでは提供されたパラメータは無視されます。
manufacturerData()も参照してください 。
void QLowEnergyAdvertisingData::setRawData(const QByteArray &data)
data にアドバタイズするデータを設定する。 この値が空のバイト配列でない場合、アドバタイジング・データとしてそのまま送信され、このオブジェクト内の他のデータはすべて無視される。これは、非標準データを送信するために使用できる。
注: data が31バイトより長い場合、切り捨てられる。data が整形式であることを確認するのは、呼び出し側の責任である。
生の広告データの設定は、Linux Bluetooth Kernel APIバックエンドでのみサポートされています。他のバックエンドでは、生の広告データをグローバルフィールドとして指定することはできません。
rawData()も参照してください 。
void QLowEnergyAdvertisingData::setServices(const QList<QBluetoothUuid> &services)
services のサービス UUID をアドバタイズすることを指定します。リスト全体がパケットに収まらない場合は、Bluetooth Low Energy仕様で指定されているように、不完全なリストが送信されます。
services()も参照してください 。
[noexcept]
void QLowEnergyAdvertisingData::swap(QLowEnergyAdvertisingData &other)
このオブジェクトをother と交換する。
QLowEnergyAdvertisingData &QLowEnergyAdvertisingData::operator=(const QLowEnergyAdvertisingData &other)
このオブジェクトをother のコピーとし、このオブジェクトの新しい値を返す。
関連する非会員
bool operator!=(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
data1 とdata2 が公開状態に関して等しくなければtrue
を返し、そうでなければfalse
を返す。
bool operator==(const QLowEnergyAdvertisingData &data1, const QLowEnergyAdvertisingData &data2)
data1 とdata2 が公開状態に関して等しい場合はtrue
を返し、そうでない場合はfalse
を返す。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.