QBluetoothServiceInfo Class
QBluetoothServiceInfo クラスは、Bluetooth サービスの属性へのアクセスを可能にします。詳細...
Header: | #include <QBluetoothServiceInfo> |
qmake: | QT += bluetooth |
パブリックタイプ
class | Alternative |
class | Sequence |
enum | AttributeId { ServiceRecordHandle, ServiceClassIds, ServiceRecordState, ServiceId, ProtocolDescriptorList, …, ServiceProvider } |
enum | Protocol { UnknownProtocol, L2capProtocol, RfcommProtocol } |
パブリック関数
QBluetoothServiceInfo() | |
QBluetoothServiceInfo(const QBluetoothServiceInfo &other) | |
~QBluetoothServiceInfo() | |
QVariant | attribute(quint16 attributeId) const |
QList<quint16> | attributes() const |
bool | contains(quint16 attributeId) const |
QBluetoothDeviceInfo | device() const |
bool | isComplete() const |
bool | isRegistered() const |
bool | isValid() const |
QBluetoothServiceInfo::Sequence | protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const |
int | protocolServiceMultiplexer() const |
bool | registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress()) |
void | removeAttribute(quint16 attributeId) |
int | serverChannel() const |
quint8 | serviceAvailability() const |
QList<QBluetoothUuid> | serviceClassUuids() const |
QString | serviceDescription() const |
QString | serviceName() const |
QString | serviceProvider() const |
QBluetoothUuid | serviceUuid() const |
void | setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &value) |
void | setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value) |
void | setAttribute(quint16 attributeId, const QBluetoothUuid &value) |
void | setAttribute(quint16 attributeId, const QVariant &value) |
void | setDevice(const QBluetoothDeviceInfo &device) |
void | setServiceAvailability(quint8 availability) |
void | setServiceDescription(const QString &description) |
void | setServiceName(const QString &name) |
void | setServiceProvider(const QString &provider) |
void | setServiceUuid(const QBluetoothUuid &uuid) |
QBluetoothServiceInfo::Protocol | socketProtocol() const |
bool | unregisterService() |
QBluetoothServiceInfo & | operator=(const QBluetoothServiceInfo &other) |
詳細説明
QBluetoothServiceInfo は、Bluetooth デバイスが提供するサービスに関する情報を提供します。また、ローカルデバイスに新しいサービスを登録するために使用することもできます。このような登録は Bluetooth SDP エントリにのみ影響することに注意してください。着信接続をリッスンしているサーバー(RFCOMMサーバーなど)は、registerService() が呼び出される前に起動しておく必要がある。登録解除は逆の順序で行う必要があります。
QBluetoothServiceInfo は、従来の意味での値型ではありません。同じサービス情報オブジェクトのすべてのコピーは、変更時に切り離されないため、同じデータを共有します。これにより、2つのコピーで同じBluetoothサービスを登録(解除)できます。
iOSでは、プラットフォームがQBluetoothServiceInfo関連機能へのアクセスを許可するAPIを公開していないため、このクラスは使用できません。
メンバ型ドキュメント
enum QBluetoothServiceInfo::AttributeId
Bluetooth サービス属性。これらの属性の詳細については、Bluetooth Core Specification を参照してください。
定数 | 値 | 説明 |
---|---|---|
QBluetoothServiceInfo::ServiceRecordHandle | 0x0000 | 属性を取得できるサービスレコードを指定します。 |
QBluetoothServiceInfo::ServiceClassIds | 0x0001 | サービスが準拠するサービスクラスのUUID。最も一般的なサービスクラスは(QBluetoothUuid::ServiceClassUuid)で定義されています。 |
QBluetoothServiceInfo::ServiceRecordState | 0x0002 | 属性は、他のサービス属性が追加、削除、または変更されたときに変更されます。 |
QBluetoothServiceInfo::ServiceId | 0x0003 | サービスを一意に識別するUUID。 |
QBluetoothServiceInfo::ProtocolDescriptorList | 0x0004 | サービスが使用するプロトコルのリスト。最も一般的なプロトコルのUUIDは以下で定義されています。QBluetoothUuid::ProtocolUuid |
QBluetoothServiceInfo::BrowseGroupList | 0x0005 | サービスが属するブラウズグループのリスト. |
QBluetoothServiceInfo::LanguageBaseAttributeIdList | 0x0006 | 人間が読める属性をサポートするための言語ベース属性IDのリスト. |
QBluetoothServiceInfo::ServiceInfoTimeToLive | 0x0007 | サービスレコードが有効で変更されないと予想される秒数. |
QBluetoothServiceInfo::ServiceAvailability | 0x0008 | サービスの可用性を示す値. |
QBluetoothServiceInfo::BluetoothProfileDescriptorList | 0x0009 | サービスが準拠するプロファイルのリスト. |
QBluetoothServiceInfo::DocumentationUrl | 0x000A | サービスのドキュメントを指すURL。 |
QBluetoothServiceInfo::ClientExecutableUrl | 0x000B | サービスを利用するために使用できるアプリケーションの場所を指すURL。 |
QBluetoothServiceInfo::IconUrl | 0x000C | サービスを表すアイコンの場所を指すURL。 |
QBluetoothServiceInfo::AdditionalProtocolDescriptorList | 0x000D | サービスが使用する追加プロトコル。この属性は、ProtocolDescriptorList を拡張します。 |
QBluetoothServiceInfo::PrimaryLanguageBase | 0x0100 | 主言語テキスト記述子の基本インデックス。 |
QBluetoothServiceInfo::ServiceName | PrimaryLanguageBase + 0x0000 | 主要言語におけるBluetoothサービスの名前。 |
QBluetoothServiceInfo::ServiceDescription | PrimaryLanguageBase + 0x0001 | 主要言語でのBluetoothサービスの説明。 |
QBluetoothServiceInfo::ServiceProvider | PrimaryLanguageBase + 0x0002 | 主要言語でのBluetoothサービスの説明。 |
注: Windowsでは、ServiceClassIdsとProtocolDescriptorListは、サービス作成時に自動的にデフォルト値に設定されます。これらの属性の値を手動で設定すると、このプラットフォームでは動作せず、予期しない結果になる可能性があります。
enum QBluetoothServiceInfo::Protocol
この列挙型は、サービスが使用するソケットプロトコルを記述します。
定数 | 値 | 説明 |
---|---|---|
QBluetoothServiceInfo::UnknownProtocol | 0 | サービスは未知のソケットプロトコルを使用する。 |
QBluetoothServiceInfo::L2capProtocol | 1 | L2CAPソケットプロトコルを使用しています。このプロトコルはAndroidの直接ソケット接続ではサポートされていません。 |
QBluetoothServiceInfo::RfcommProtocol | 2 | このサービスはRFCOMMソケットプロトコルを使用しています。 |
メンバー関数ドキュメント
QBluetoothServiceInfo::QBluetoothServiceInfo()
新しい無効な QBluetoothServiceInfo を構築します;
QBluetoothServiceInfo::QBluetoothServiceInfo(const QBluetoothServiceInfo &other)
other のコピーである新しい QBluetoothServiceInfo を構築する。
2つのコピーは、書き込み時に切り離されない同じ基礎データを共有し続ける。
[noexcept]
QBluetoothServiceInfo::~QBluetoothServiceInfo()
QBluetoothServiceInfo オブジェクトを破棄します。
QVariant QBluetoothServiceInfo::attribute(quint16 attributeId) const
属性attributeId の値を返します。
setAttribute()も参照してください 。
QList<quint16> QBluetoothServiceInfo::attributes() const
QBluetoothServiceInfo オブジェクトが持つすべての属性 ID のリストを返します。
bool QBluetoothServiceInfo::contains(quint16 attributeId) const
QBluetoothServiceInfo オブジェクトに属性attributeId が含まれている場合は true を返し、そうでない場合は false を返します。
QBluetoothDeviceInfo QBluetoothServiceInfo::device() const
このサービスを提供する Bluetooth デバイスのアドレスを返します。
setDevice()も参照してください 。
bool QBluetoothServiceInfo::isComplete() const
QBluetoothServiceInfo オブジェクトが完全であると見なされる場合は true を返し、そうでない場合は false を返します。
完全なQBluetoothServiceInfo オブジェクトはProtocolDescriptorList 属性を含む。
bool QBluetoothServiceInfo::isRegistered() const
サービス情報がプラットフォームのSDP(Service Discovery Protocol)実装に登録されている場合はtrueを返し、そうでない場合はfalseを返す。
bool QBluetoothServiceInfo::isValid() const
QBluetoothServiceInfo オブジェクトが有効な場合はtrueを返し、そうでない場合はfalseを返す。
無効なQBluetoothServiceInfo オブジェクトには属性がない。
QBluetoothServiceInfo::Sequence QBluetoothServiceInfo::protocolDescriptor(QBluetoothUuid::ProtocolUuid protocol) const
プロトコルパラメータを、プロトコルprotocol のQBluetoothServiceInfo::Sequence として返す。
protocol がサポートされていない場合、空のQBluetoothServiceInfo::Sequence が返されます。
int QBluetoothServiceInfo::protocolServiceMultiplexer() const
これは便利な関数である。L2CAP プロトコルをサポートするサービスのプロトコル/サービスマルチプレクサを返す。
この関数は、QBluetoothServiceInfo::attribute(QBluetoothServiceInfo::ProtocolDescriptorList) が返すQBluetoothServiceInfo::Sequence から情報を抽出するのと同じである。
bool QBluetoothServiceInfo::registerService(const QBluetoothAddress &localAdapter = QBluetoothAddress())
このサービスをプラットフォームのSDP(Service Discovery Protocol)実装に登録し、他のデバイスがサービス検出を実行するときに検出できるようにする。サービスが正常に登録された場合はtrueを返し、そうでない場合はfalseを返す。そうでなければfalseを返す。いったん登録されると、レコードの変更はできない。サービスの登録を解除し、変更を加えて再度登録する必要がある。
localAdapter パラメータは、サービスを登録するローカルのBluetoothアダプタを決定する。localAdapter がnull
の場合、デフォルトのBluetoothアダプタが使用されます。このサービス情報オブジェクトが既にローカルアダプタ経由で登録されており、この関数が別のローカルアダプタを使用して呼び出された場合、以前の登録は削除され、新しいアダプタを使用してサービスが再登録されます。
void QBluetoothServiceInfo::removeAttribute(quint16 attributeId)
QBluetoothServiceInfo オブジェクトから属性attributeId を削除する。
サービス情報がすでにプラットフォーム SDP データベースに登録されている場合、registerService() が再度呼び出されるまで、データベースエントリは更新されません。
int QBluetoothServiceInfo::serverChannel() const
これは便利な関数である。RFCOMM プロトコルをサポートするサービスのサーバーチャネルを返す。
この関数は、QBluetoothServiceInfo::attribute (QBluetootherServiceInfo::ProtocolDescriptorList)が返すQBluetoothServiceInfo::Sequence から情報を抽出するのと同じである。
quint8 QBluetoothServiceInfo::serviceAvailability() const
これは便利な関数です。attribute(QBluetoothServiceInfo::ServiceAvailability).toUInt() を呼び出すのと同じです。
サービスの可用性を返します。
setServiceAvailability() およびattribute()も参照してください 。
QList<QBluetoothUuid> QBluetoothServiceInfo::serviceClassUuids() const
このサービスが準拠するサービス・クラスを記述する UUID のリストを返します。
これは便利な関数である。これは、attribute(QBluetoothServiceInfo::ServiceClassIds).value<QBluetoothServiceInfo::Sequence>() を呼び出し、その後にQBluetoothUuid エントリを反復処理することと同じです。
attribute()も参照してください 。
QString QBluetoothServiceInfo::serviceDescription() const
これは便利な関数です。attribute(QBluetoothServiceInfo::ServiceDescription).toString() を呼び出すのと同じです。
サービスの説明を主要言語で返します。
setServiceDescription() およびattribute() も参照 。
QString QBluetoothServiceInfo::serviceName() const
これは便利な関数です。attribute(QBluetoothServiceInfo::ServiceName).toString() を呼び出すのと同じです。
主要言語のサービス名を返す。
setServiceName() およびattribute()も参照のこと 。
QString QBluetoothServiceInfo::serviceProvider() const
これは便利な関数です。attribute(QBluetoothServiceInfo::ServiceProvider).toString() を呼び出すのと同じです。
サービス提供者を主要言語で返します。
setServiceProvider() およびattribute()も参照 。
QBluetoothUuid QBluetoothServiceInfo::serviceUuid() const
これは便利な関数です。attribute(QBluetoothServiceInfo::ServiceId).value<QBluetoothUuid>() を呼び出すのと同じです。
サービスのカスタム UUID を返します。このUUIDはNULLであってもよい。Bluetooth SIG標準に基づくUUIDは、serviceClassUuids()で取得する必要があります。
setServiceUuid() およびattribute()も参照して ください。
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Alternative &value)
これは便利な関数です。
attributeId で識別される属性をvalue に設定します。
サービス情報がプラットフォームのSDPデータベースに登録済みの場合、registerService()が再度呼び出されるまで、データベースエントリは更新されない。
attribute()も参照 。
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothServiceInfo::Sequence &value)
これは便利な関数である。
attributeId で識別される属性をvalue に設定する。
サービス情報がプラットフォームのSDPデータベースに登録済みの場合、registerService()が再度呼び出されるまで、データベースエントリは更新されない。
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QBluetoothUuid &value)
これは便利な関数である。
attributeId で識別される属性をvalue に設定する。
サービス情報がプラットフォームのSDPデータベースに登録済みの場合、registerService()が再度呼び出されるまで、データベースエントリは更新されない。
void QBluetoothServiceInfo::setAttribute(quint16 attributeId, const QVariant &value)
attributeId で識別される属性をvalue に設定する。
サービス情報がプラッ トフォームのSDPデータベースに登録済みの場合、registerService()が再度呼び出されるまで、データベースエントリは更新されない。
注意: 属性がバイトエンコード値を予期している場合(Bluetooth HIDサービスなど)、QByteArray として設定する必要がある。
isRegistered() およびregisterService()も参照 。
void QBluetoothServiceInfo::setDevice(const QBluetoothDeviceInfo &device)
このサービスを提供する Bluetooth デバイスをdevice に設定します。
device()も参照して ください。
void QBluetoothServiceInfo::setServiceAvailability(quint8 availability)
これは便利な関数です。setAttribute(QBluetoothServiceInfo::ServiceAvailability, availability) を呼び出すのと同じです。
サービスの可用性をavailability に設定します。
serviceAvailability() およびsetAttribute() も参照して ください。
void QBluetoothServiceInfo::setServiceDescription(const QString &description)
これは便利な関数です。setAttribute(QBluetoothServiceInfo::ServiceDescription, description)を呼び出すのと同じです。
主要言語によるサービスの説明をdescription に設定する。
serviceDescription() およびsetAttribute()も参照 。
void QBluetoothServiceInfo::setServiceName(const QString &name)
これは便利な関数です。setAttribute(QBluetoothServiceInfo::ServiceName, name) を呼び出すのと同じです。
主要言語のサービス名をname に設定する。
serviceName() およびsetAttribute()も参照して ください。
void QBluetoothServiceInfo::setServiceProvider(const QString &provider)
これは便利な関数です。setAttribute(QBluetoothServiceInfo::ServiceProvider, provider) を呼び出すのと同じです。
主要言語のサービス・プロバイダをprovider に設定します。
serviceProvider() およびsetAttribute()も参照 。
void QBluetoothServiceInfo::setServiceUuid(const QBluetoothUuid &uuid)
これは便利な関数です。setAttribute(QBluetoothServiceInfo::ServiceId, uuid) を呼び出すのと同じです。
カスタムサービスのUUIDをuuid に設定する。 この関数は、標準化されたサービスのUUIDを設定するために使用してはならない。
serviceUuid() およびsetAttribute()も参照 。
QBluetoothServiceInfo::Protocol QBluetoothServiceInfo::socketProtocol() const
QBluetoothServiceInfo オブジェクトが使用するプロトコルを返します。
bool QBluetoothServiceInfo::unregisterService()
このサービスをプラットフォームのサービス検出プロトコル(SDP)実装に登録解除する。この後、サービスはサービス検出によって他のデバイスから検出できなくなる。
サービスが正常に登録解除された場合はtrueを返し、そうでない場合はfalseを返す。
QBluetoothServiceInfo &QBluetoothServiceInfo::operator=(const QBluetoothServiceInfo &other)
other のコピーを作成し、このQBluetoothServiceInfo オブジェクトに割り当てる。2つのコピーは、同じサービスと登録の詳細を共有し続けます。
本ドキュメントに含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。