IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

QBluetoothDeviceInfo Class

The QBluetoothDeviceInfo class stores information about the Bluetooth device.

This class was introduced in Qt 5.2.

Article lu   fois.

L'auteur

Liens sociaux

Viadeo Twitter Facebook Share on Google+   

QBluetoothDeviceInfo Class

  • Header: QBluetoothDeviceInfo

  • Since: Qt 5.2

  • qmake: QT += bluetooth

Detailed Description

QBluetoothDeviceInfo provides information about a Bluetooth device's name, address and class of device.

Member Type Documentation

 

[since 5.4] enum QBluetoothDeviceInfo::CoreConfiguration

flags QBluetoothDeviceInfo::CoreConfigurations

This enum describes the configuration of the device.

Constant

Value

Description

QBluetoothDeviceInfo::UnknownCoreConfiguration

0x0

The type of the Bluetooth device cannot be determined.

QBluetoothDeviceInfo::BaseRateCoreConfiguration

0x02

The device is a standard Bluetooth device.

QBluetoothDeviceInfo::BaseRateAndLowEnergyCoreConfiguration

0x03

The device is a Bluetooth Smart device with support for standard and Low Energy device.

QBluetoothDeviceInfo::LowEnergyCoreConfiguration

0x01

The device is a Bluetooth Low Energy device.

This enum was introduced or modified in Qt 5.4.

The CoreConfigurations type is a typedef for QFlags<CoreConfiguration>. It stores an OR combination of CoreConfiguration values.

[since 5.12] enum QBluetoothDeviceInfo::Field

flags QBluetoothDeviceInfo::Fields

This enum is used in conjuntion with the QBluetoothDeviceDiscoveryAgent::deviceUpdated() signal and indicates the field that changed.

Constant

Value

Description

QBluetoothDeviceInfo::Field::None

0x0000

None of the values changed.

QBluetoothDeviceInfo::Field::RSSI

0x0001

The rssi() value of the device changed.

QBluetoothDeviceInfo::Field::ManufacturerData

0x0002

The manufacturerData() field changed

QBluetoothDeviceInfo::Field::ServiceData

0x0004

The serviceData() field changed

QBluetoothDeviceInfo::Field::All

0x7fff

Matches every possible field.

This enum was introduced or modified in Qt 5.12.

The Fields type is a typedef for QFlags<Field>. It stores an OR combination of Field values.

enum QBluetoothDeviceInfo::MajorDeviceClass

This enum describes a Bluetooth device's major device class.

Constant

Value

Description

QBluetoothDeviceInfo::MiscellaneousDevice

0

A miscellaneous device.

QBluetoothDeviceInfo::ComputerDevice

1

A computer device or PDA.

QBluetoothDeviceInfo::PhoneDevice

2

A telephone device.

QBluetoothDeviceInfo::NetworkDevice

3

A device that provides access to a local area network (since Qt 5.13).

QBluetoothDeviceInfo::AudioVideoDevice

4

A device capable of playback or capture of audio and/or video.

QBluetoothDeviceInfo::PeripheralDevice

5

A peripheral device such as a keyboard, mouse, and so on.

QBluetoothDeviceInfo::ImagingDevice

6

An imaging device such as a display, printer, scanner or camera.

QBluetoothDeviceInfo::WearableDevice

7

A wearable device such as a watch or pager.

QBluetoothDeviceInfo::ToyDevice

8

A toy.

QBluetoothDeviceInfo::HealthDevice

9

A health reated device such as heart rate or temperature monitor.

QBluetoothDeviceInfo::UncategorizedDevice

31

A device that does not fit into any of the other device classes.

enum QBluetoothDeviceInfo::MinorAudioVideoClass

This enum describes the minor device classes for audio/video devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedAudioVideoDevice

0

An uncategorized audio/video device.

QBluetoothDeviceInfo::WearableHeadsetDevice

1

A wearable headset device.

QBluetoothDeviceInfo::HandsFreeDevice

2

A handsfree device.

QBluetoothDeviceInfo::Microphone

4

A microphone.

QBluetoothDeviceInfo::Loudspeaker

5

A loudspeaker.

QBluetoothDeviceInfo::Headphones

6

Headphones.

QBluetoothDeviceInfo::PortableAudioDevice

7

A portable audio device.

QBluetoothDeviceInfo::CarAudio

8

A car audio device.

QBluetoothDeviceInfo::SetTopBox

9

A settop box.

QBluetoothDeviceInfo::HiFiAudioDevice

10

A HiFi audio device.

QBluetoothDeviceInfo::Vcr

11

A video cassette recorder.

QBluetoothDeviceInfo::VideoCamera

12

A video camera.

QBluetoothDeviceInfo::Camcorder

13

A video camera.

QBluetoothDeviceInfo::VideoMonitor

14

A video monitor.

QBluetoothDeviceInfo::VideoDisplayAndLoudspeaker

15

A video display with built-in loudspeaker.

QBluetoothDeviceInfo::VideoConferencing

16

A video conferencing device.

QBluetoothDeviceInfo::GamingDevice

18

A gaming device.

enum QBluetoothDeviceInfo::MinorComputerClass

This enum describes the minor device classes for computer devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedComputer

0

An uncategorized computer device.

QBluetoothDeviceInfo::DesktopComputer

1

A desktop computer.

QBluetoothDeviceInfo::ServerComputer

2

A server computer.

QBluetoothDeviceInfo::LaptopComputer

3

A laptop computer.

QBluetoothDeviceInfo::HandheldClamShellComputer

4

A clamshell handheld computer or PDA.

QBluetoothDeviceInfo::HandheldComputer

5

A handheld computer or PDA.

QBluetoothDeviceInfo::WearableComputer

6

A wearable computer.

enum QBluetoothDeviceInfo::MinorHealthClass

This enum describes the minor device classes for health devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedHealthDevice

0

An uncategorized health device.

QBluetoothDeviceInfo::HealthBloodPressureMonitor

0x1

A blood pressure monitor.

QBluetoothDeviceInfo::HealthThermometer

0x2

A Thermometer.

QBluetoothDeviceInfo::HealthWeightScale

0x3

A scale.

QBluetoothDeviceInfo::HealthGlucoseMeter

0x4

A glucose meter.

QBluetoothDeviceInfo::HealthPulseOximeter

0x5

A blood oxygen saturation meter.

QBluetoothDeviceInfo::HealthDataDisplay

0x7

A data display.

QBluetoothDeviceInfo::HealthStepCounter

0x8

A pedometer.

enum QBluetoothDeviceInfo::MinorImagingClass

This enum describes the minor device classes for imaging devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedImagingDevice

0

An uncategorized imaging device.

QBluetoothDeviceInfo::ImageDisplay

0x04

A device capable of displaying images.

QBluetoothDeviceInfo::ImageCamera

0x08

A camera.

QBluetoothDeviceInfo::ImageScanner

0x10

An image scanner.

QBluetoothDeviceInfo::ImagePrinter

0x20

A printer.

enum QBluetoothDeviceInfo::MinorMiscellaneousClass

This enum describes the minor device classes for miscellaneous Bluetooth devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedMiscellaneous

0

An uncategorized miscellaneous device.

enum QBluetoothDeviceInfo::MinorNetworkClass

This enum describes the minor device classes for local area network access devices. Local area network access devices use the minor device class to specify the current network utilization.

Constant

Value

Description

QBluetoothDeviceInfo::NetworkFullService

0x00

100% of the total bandwidth is available.

QBluetoothDeviceInfo::NetworkLoadFactorOne

0x08

0 - 17% of the total bandwidth is currently being used.

QBluetoothDeviceInfo::NetworkLoadFactorTwo

0x10

17 - 33% of the total bandwidth is currently being used.

QBluetoothDeviceInfo::NetworkLoadFactorThree

0x18

33 - 50% of the total bandwidth is currently being used.

QBluetoothDeviceInfo::NetworkLoadFactorFour

0x20

50 - 67% of the total bandwidth is currently being used.

QBluetoothDeviceInfo::NetworkLoadFactorFive

0x28

67 - 83% of the total bandwidth is currently being used.

QBluetoothDeviceInfo::NetworkLoadFactorSix

0x30

83 - 99% of the total bandwidth is currently being used.

QBluetoothDeviceInfo::NetworkNoService

0x38

No network service available.

enum QBluetoothDeviceInfo::MinorPeripheralClass

This enum describes the minor device classes for peripheral devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedPeripheral

0

An uncategorized peripheral device.

QBluetoothDeviceInfo::KeyboardPeripheral

0x10

A keyboard.

QBluetoothDeviceInfo::PointingDevicePeripheral

0x20

A pointing device, for example a mouse.

QBluetoothDeviceInfo::KeyboardWithPointingDevicePeripheral

0x30

A keyboard with built-in pointing device.

QBluetoothDeviceInfo::JoystickPeripheral

0x01

A joystick.

QBluetoothDeviceInfo::GamepadPeripheral

0x02

A game pad.

QBluetoothDeviceInfo::RemoteControlPeripheral

0x03

A remote control.

QBluetoothDeviceInfo::SensingDevicePeripheral

0x04

A sensing device.

QBluetoothDeviceInfo::DigitizerTabletPeripheral

0x05

A digitizer tablet peripheral.

QBluetoothDeviceInfo::CardReaderPeripheral

0x06

A card reader peripheral.

enum QBluetoothDeviceInfo::MinorPhoneClass

This enum describes the minor device classes for phone devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedPhone

0

An uncategorized phone device.

QBluetoothDeviceInfo::CellularPhone

1

A cellular phone.

QBluetoothDeviceInfo::CordlessPhone

2

A cordless phone.

QBluetoothDeviceInfo::SmartPhone

3

A smart phone.

QBluetoothDeviceInfo::WiredModemOrVoiceGatewayPhone

4

A wired modem or voice gateway.

QBluetoothDeviceInfo::CommonIsdnAccessPhone

5

A device that provides ISDN access.

enum QBluetoothDeviceInfo::MinorToyClass

This enum describes the minor device classes for toy devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedToy

0

An uncategorized toy.

QBluetoothDeviceInfo::ToyRobot

1

A toy robot.

QBluetoothDeviceInfo::ToyVehicle

2

A toy vehicle.

QBluetoothDeviceInfo::ToyDoll

3

A toy doll or action figure.

QBluetoothDeviceInfo::ToyController

4

A controller.

QBluetoothDeviceInfo::ToyGame

5

A game.

enum QBluetoothDeviceInfo::MinorWearableClass

This enum describes the minor device classes for wearable devices.

Constant

Value

Description

QBluetoothDeviceInfo::UncategorizedWearableDevice

0

An uncategorized wearable device.

QBluetoothDeviceInfo::WearableWristWatch

1

A wristwatch.

QBluetoothDeviceInfo::WearablePager

2

A pager.

QBluetoothDeviceInfo::WearableJacket

3

A jacket.

QBluetoothDeviceInfo::WearableHelmet

4

A helmet.

QBluetoothDeviceInfo::WearableGlasses

5

A pair of glasses.

enum QBluetoothDeviceInfo::ServiceClass

flags QBluetoothDeviceInfo::ServiceClasses

This enum describes the service class of the Bluetooth device. The service class is used as a rudimentary form of service discovery. It is meant to provide a list of the types of services that the device might provide.

Constant

Value

Description

QBluetoothDeviceInfo::NoService

0x0000

The device does not provide any services.

QBluetoothDeviceInfo::PositioningService

0x0001

The device provides positioning services.

QBluetoothDeviceInfo::NetworkingService

0x0002

The device provides networking services.

QBluetoothDeviceInfo::RenderingService

0x0004

The device provides rendering services.

QBluetoothDeviceInfo::CapturingService

0x0008

The device provides capturing services.

QBluetoothDeviceInfo::ObjectTransferService

0x0010

The device provides object transfer services.

QBluetoothDeviceInfo::AudioService

0x0020

The device provides audio services.

QBluetoothDeviceInfo::TelephonyService

0x0040

The device provides telephony services.

QBluetoothDeviceInfo::InformationService

0x0080

The device provides information services.

QBluetoothDeviceInfo::AllServices

0x07ff

The device provides services of all types.

The ServiceClasses type is a typedef for QFlags<ServiceClass>. It stores an OR combination of ServiceClass values.

Member Function Documentation

 

QBluetoothDeviceInfo::QBluetoothDeviceInfo()

Constructs an invalid QBluetoothDeviceInfo object.

QBluetoothDeviceInfo::QBluetoothDeviceInfo(const QBluetoothAddress &address, const QString &name, quint32 classOfDevice)

Constructs a QBluetoothDeviceInfo object with Bluetooth address address, device name name and the encoded class of device classOfDevice.

The classOfDevice parameter is encoded in the following format

Bits

Size

Description

0 - 1

2

Unused, set to 0.

2 - 7

6

Minor device class.

8 - 12

5

Major device class.

13 - 23

11

Service class.

[since 5.5] QBluetoothDeviceInfo::QBluetoothDeviceInfo(const QBluetoothUuid &uuid, const QString &name, quint32 classOfDevice)

Constructs a QBluetoothDeviceInfo object with unique uuid, device name name and the encoded class of device classOfDevice.

This constructor is required for Low Energy devices on macOS and iOS. CoreBluetooth API hides addresses and provides unique UUIDs to identify a device. This UUID is not the same thing as a service UUID and is required to work later with CoreBluetooth API and discovered devices.

This function was introduced in Qt 5.5.

QBluetoothDeviceInfo::QBluetoothDeviceInfo(const QBluetoothDeviceInfo &other)

Constructs a QBluetoothDeviceInfo that is a copy of other.

QBluetoothDeviceInfo::~QBluetoothDeviceInfo()

Destroys the QBluetoothDeviceInfo.

QBluetoothAddress QBluetoothDeviceInfo::address() const

Returns the address of the device.

On iOS and macOS this address is invalid. Instead deviceUuid() should be used. Those two platforms do not expose Bluetooth addresses for found Bluetooth devices and utilize unique device identifiers.

See Also

See also deviceUuid()

[since 5.4] QBluetoothDeviceInfo::CoreConfigurations QBluetoothDeviceInfo::coreConfigurations() const

Returns the configuration of the device. If device configuration is not set, basic rate device configuration will be returned.

This function was introduced in Qt 5.4.

See Also

[since 5.5] QBluetoothUuid QBluetoothDeviceInfo::deviceUuid() const

Returns a unique identifier for a Bluetooth device without an address.

In general, this uuid is invalid on every platform but macOS and iOS. It is used as a workaround for those two platforms as they do not provide Bluetooth addresses for found Bluetooth Low Energy devices. Every other platform uses address() instead.

This function was introduced in Qt 5.5.

See Also

See also setDeviceUuid()

bool QBluetoothDeviceInfo::isCached() const

Returns true if the QBluetoothDeviceInfo object is created from cached data.

bool QBluetoothDeviceInfo::isValid() const

Returns true if the QBluetoothDeviceInfo object is valid, otherwise returns false.

QBluetoothDeviceInfo::MajorDeviceClass QBluetoothDeviceInfo::majorDeviceClass() const

Returns the major device class of the device.

[since 5.12] QByteArray QBluetoothDeviceInfo::manufacturerData(quint16 manufacturerId) const

Returns the data associated with the given manufacturerId.

Manufacturer data is defined by the Supplement to the Bluetooth Core Specification and consists of two segments:

  • Manufacturer specific identifier code from the Assigned Numbers Company Identifiers document

  • Sequence of arbitrary data octets

The interpretation of the data octets is defined by the manufacturer specified by the company identifier.

The remote device may provide multiple data entries per manufacturerId. This function only returns the first entry. If all entries are needed use manufacturerData() which returns a multi hash.

This function was introduced in Qt 5.12.

See Also

[since 5.12] QMultiHash<quint16, QByteArray> QBluetoothDeviceInfo::manufacturerData() const

Returns the complete set of all manufacturer data from advertisement packets.

Some devices may provide multiple manufacturer data entries per manufacturer ID. An example might be a Bluetooth Low Energy device that sends a different manufacturer data via advertisement packets and scan response packets respectively. Therefore the returned hash table may have multiple entries per manufacturer ID or hash key.

This function was introduced in Qt 5.12.

See Also

[since 5.12] QList<quint16> QBluetoothDeviceInfo::manufacturerIds() const

Returns all manufacturer IDs from advertisement packets attached to this device information.

This function was introduced in Qt 5.12.

See Also

quint8 QBluetoothDeviceInfo::minorDeviceClass() const

Returns the minor device class of the device. The actual information is context dependent on the value of majorDeviceClass().

See Also

QString QBluetoothDeviceInfo::name() const

Returns the name assigned to the device.

See Also

See also setName()

qint16 QBluetoothDeviceInfo::rssi() const

Returns the signal strength when the device was last scanned

See Also

See also setRssi()

QBluetoothDeviceInfo::ServiceClasses QBluetoothDeviceInfo::serviceClasses() const

Returns the service class of the device.

[since 6.3] QByteArray QBluetoothDeviceInfo::serviceData(const QBluetoothUuid &serviceId) const

Returns the data associated with the given serviceId.

Service data is defined by the Supplement to the Bluetooth Core Specification and consists of two segments:

  • Service UUID

  • Sequence of arbitrary data octets

The remote device may provide multiple data entries per serviceId. This function only returns the first entry. If all entries are needed use serviceData() which returns a multi hash.

This function was introduced in Qt 6.3.

See Also

See also serviceIds(), setServiceData()

[since 6.3] QMultiHash<QBluetoothUuid, QByteArray> QBluetoothDeviceInfo::serviceData() const

Returns the complete set of all service data from advertisement packets.

Some devices may provide multiple service data entries per service data ID. An example might be a Bluetooth Low Energy device that sends a different service data via advertisement packets and scan response packets respectively. Therefore the returned hash table may have multiple entries per service data ID or hash key.

This function was introduced in Qt 6.3.

See Also

See also setServiceData

[since 6.3] QList<QBluetoothUuid> QBluetoothDeviceInfo::serviceIds() const

Returns all service data IDs from advertisement packets attached to this device information.

This function was introduced in Qt 6.3.

See Also

See also serviceData(), setServiceData()

[since 6.0] QList<QBluetoothUuid> QBluetoothDeviceInfo::serviceUuids() const

Returns the list of service UUIDs supported by the device. Most commonly this list of UUIDs represents custom service UUIDs or a service UUID value specified by QBluetoothUuid::ServiceClassUuid.

This function was introduced in Qt 6.0.

See Also

See also setServiceUuids(), serviceUuids()

void QBluetoothDeviceInfo::setCached(bool cached)

Used by the system to set the cached flag if the QBluetoothDeviceInfo is created from cached data. Cached information may not be as accurate as data read from an active device.

See Also

See also isCached()

[since 5.4] void QBluetoothDeviceInfo::setCoreConfigurations(QBluetoothDeviceInfo::CoreConfigurations coreConfigs)

Sets the CoreConfigurations of the device to coreConfigs. This will help to make a difference between regular and Low Energy devices.

This function was introduced in Qt 5.4.

See Also

See also coreConfigurations()

[since 5.5] void QBluetoothDeviceInfo::setDeviceUuid(const QBluetoothUuid &uuid)

Sets the unique identifier uuid for Bluetooth devices, that do not have addresses. This happens on macOS and iOS, where the CoreBluetooth API hides addresses, but provides UUIDs to identify devices/peripherals.

This uuid is invalid on any other platform.

This function was introduced in Qt 5.5.

See Also

See also deviceUuid()

[since 5.12] bool QBluetoothDeviceInfo::setManufacturerData(quint16 manufacturerId, const QByteArray &data)

Sets the advertised manufacturer data for the given manufacturerId. Returns true if it was inserted, false if it was already known.

Since Qt 5.14, different values for data and the same manufacturerId no longer replace each other but are accumulated for the duration of a device scan.

This function was introduced in Qt 5.12.

See Also

See also manufacturerData

[since 6.2] void QBluetoothDeviceInfo::setName(const QString &name)

Sets the name of the device.

This function was introduced in Qt 6.2.

See Also

See also name()

void QBluetoothDeviceInfo::setRssi(qint16 signal)

Set the signal strength value, used internally.

See Also

See also rssi()

[since 6.3] bool QBluetoothDeviceInfo::setServiceData(const QBluetoothUuid &serviceId, const QByteArray &data)

Sets the advertised service data for the given serviceId. Returns true if it was inserted, false if it was already known.

This function was introduced in Qt 6.3.

See Also

See also serviceData

[since 5.13] void QBluetoothDeviceInfo::setServiceUuids(const QList<QBluetoothUuid> &uuids)

Sets the list of service UUIDs to uuids.

This function was introduced in Qt 5.13.

See Also

See also serviceUuids()

QBluetoothDeviceInfo &QBluetoothDeviceInfo::operator=(const QBluetoothDeviceInfo &other)

Makes a copy of the other and assigns it to this QBluetoothDeviceInfo object.

Related Non-Members

 

bool operator!=(const QBluetoothDeviceInfo &a, const QBluetoothDeviceInfo &b)

Returns true if the two QBluetoothDeviceInfo objects a and b are not equal.

bool operator==(const QBluetoothDeviceInfo &a, const QBluetoothDeviceInfo &b)

Returns true if the two QBluetoothDeviceInfo objects a and b are equal.

Vous avez aimé ce tutoriel ? Alors partagez-le en cliquant sur les boutons suivants : Viadeo Twitter Facebook Share on Google+