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::ServiceRecordHandle0x0000属性を取得できるサービスレコードを指定します。
QBluetoothServiceInfo::ServiceClassIds0x0001サービスが準拠するサービスクラスのUUID。最も一般的なサービスクラスは(QBluetoothUuid::ServiceClassUuid)で定義されています。
QBluetoothServiceInfo::ServiceRecordState0x0002属性は、他のサービス属性が追加、削除、または変更されたときに変更されます。
QBluetoothServiceInfo::ServiceId0x0003サービスを一意に識別するUUID。
QBluetoothServiceInfo::ProtocolDescriptorList0x0004サービスが使用するプロトコルのリスト。最も一般的なプロトコルのUUIDは以下で定義されています。QBluetoothUuid::ProtocolUuid
QBluetoothServiceInfo::BrowseGroupList0x0005サービスが属するブラウズグループのリスト.
QBluetoothServiceInfo::LanguageBaseAttributeIdList0x0006人間が読める属性をサポートするための言語ベース属性IDのリスト.
QBluetoothServiceInfo::ServiceInfoTimeToLive0x0007サービスレコードが有効で変更されないと予想される秒数.
QBluetoothServiceInfo::ServiceAvailability0x0008サービスの可用性を示す値.
QBluetoothServiceInfo::BluetoothProfileDescriptorList0x0009サービスが準拠するプロファイルのリスト.
QBluetoothServiceInfo::DocumentationUrl0x000Aサービスのドキュメントを指すURL。
QBluetoothServiceInfo::ClientExecutableUrl0x000Bサービスを利用するために使用できるアプリケーションの場所を指すURL。
QBluetoothServiceInfo::IconUrl0x000Cサービスを表すアイコンの場所を指すURL。
QBluetoothServiceInfo::AdditionalProtocolDescriptorList0x000Dサービスが使用する追加プロトコル。この属性は、ProtocolDescriptorList を拡張します。
QBluetoothServiceInfo::PrimaryLanguageBase0x0100主言語テキスト記述子の基本インデックス。
QBluetoothServiceInfo::ServiceNamePrimaryLanguageBase + 0x0000主要言語におけるBluetoothサービスの名前。
QBluetoothServiceInfo::ServiceDescriptionPrimaryLanguageBase + 0x0001主要言語でのBluetoothサービスの説明。
QBluetoothServiceInfo::ServiceProviderPrimaryLanguageBase + 0x0002主要言語でのBluetoothサービスの説明。

注: Windowsでは、ServiceClassIdsとProtocolDescriptorListは、サービス作成時に自動的にデフォルト値に設定されます。これらの属性の値を手動で設定すると、このプラットフォームでは動作せず、予期しない結果になる可能性があります。

enum QBluetoothServiceInfo::Protocol

この列挙型は、サービスが使用するソケットプロトコルを記述します。

定数説明
QBluetoothServiceInfo::UnknownProtocol0サービスは未知のソケットプロトコルを使用する。
QBluetoothServiceInfo::L2capProtocol1L2CAPソケットプロトコルを使用しています。このプロトコルはAndroidの直接ソケット接続ではサポートされていません。
QBluetoothServiceInfo::RfcommProtocol2このサービスは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

プロトコルパラメータを、プロトコルprotocolQBluetoothServiceInfo::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アダプタを決定する。localAdapternull の場合、デフォルトの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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。