- Qt 5.15
- Qt Bluetooth
- C++ Classes
- QLowEnergyDescriptor
- Qt 5.15.18 Reference Documentation

# QLowEnergyDescriptor Class

The QLowEnergyDescriptor class stores information about the Bluetooth Low Energy descriptor. More...

Header: | #include <QLowEnergyDescriptor>
qmake: | QT += bluetooth
Since: | Qt 5.4

This class was introduced in Qt 5.4.

- List of all members, including inherited members

## Public Functions

| QLowEnergyDescriptor(const QLowEnergyDescriptor &other)
| QLowEnergyDescriptor()
QLowEnergyDescriptor & | operator=(const QLowEnergyDescriptor &other)
| ~QLowEnergyDescriptor()
QLowEnergyHandle | handle() const
bool | isValid() const
QString | name() const
QBluetoothUuid::DescriptorType | type() const
QBluetoothUuid | uuid() const
QByteArray | value() const
bool | operator!=(const QLowEnergyDescriptor &other) const
bool | operator==(const QLowEnergyDescriptor &other) const

## Detailed Description

QLowEnergyDescriptor provides information about a Bluetooth Low Energy descriptor's name(), uuid(), value() and handle(). Descriptors are encapsulated by Bluetooth Low Energy characteristics and provide additional contextual information about the characteristic (data format, notification activation and so on).

The descriptor value may be written via the QLowEnergyService instance that manages the service to which this descriptor belongs. The QLowEnergyService::writeDescriptor() function writes the new value. The QLowEnergyService::descriptorWritten() signal is emitted upon success. The cached value() of this object is updated accordingly.

See also QLowEnergyService and QLowEnergyCharacteristic.

## Member Function Documentation

### QLowEnergyDescriptor::QLowEnergyDescriptor(const QLowEnergyDescriptor &other)

Construct a new QLowEnergyDescriptor that is a copy of other.

The two copies continue to share the same underlying data which does not detach upon write.

### QLowEnergyDescriptor::QLowEnergyDescriptor()

Construct a new QLowEnergyDescriptor. A default-constructed instance of this class is always invalid.

### QLowEnergyDescriptor &QLowEnergyDescriptor::operator=(const QLowEnergyDescriptor &other)

Makes a copy of other and assigns it to this QLowEnergyDescriptor object. The two copies continue to share the same service and controller details.

### QLowEnergyDescriptor::~QLowEnergyDescriptor()

Destroys the QLowEnergyDescriptor object.

### QLowEnergyHandle QLowEnergyDescriptor::handle() const

Returns the handle of the descriptor or `0` if the handle cannot be accessed on the platform or the descriptor is invalid.

Note: On macOS and iOS handles can differ from 0, but these values have no special meaning outside of internal/private API.

### bool QLowEnergyDescriptor::isValid() const

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

An invalid descriptor instance is not associated with any service (default-constructed) or the associated service is no longer valid due to a disconnect from the underlying Bluetooth Low Energy device, for example. Once the object is invalid it cannot become valid anymore.

Note: If a QLowEnergyDescriptor instance turns invalid due to a disconnect from the underlying device, the information encapsulated by the current instance remains as it was at the time of the disconnect. Therefore it can be retrieved after the disconnect event.

### QString QLowEnergyDescriptor::name() const

Returns the human-readable name of the descriptor.

The name is based on the descriptor's type(). The complete list of descriptor types can be found under Bluetooth.org Descriptors.

The returned string is empty if the type() is unknown.

See also type() and QBluetoothUuid::descriptorToString().

### QBluetoothUuid::DescriptorType QLowEnergyDescriptor::type() const

Returns the type of the descriptor.

See also name().

### QBluetoothUuid QLowEnergyDescriptor::uuid() const

Returns the UUID of this descriptor if isValid() returns `true`; otherwise a null UUID.

### QByteArray QLowEnergyDescriptor::value() const

Returns the cached value of the descriptor.

The cached descriptor value may be updated using QLowEnergyService::writeDescriptor() or QLowEnergyService::readDescriptor().

### bool QLowEnergyDescriptor::operator!=(const QLowEnergyDescriptor &other) const

Returns `true` if other is not equal to this QLowEnergyCharacteristic; otherwise `false`.

Two QLowEnergyDescriptor instances are considered to be equal if they refer to the same descriptor on the same remote Bluetooth Low Energy device or both instances have been default-constructed.

### bool QLowEnergyDescriptor::operator==(const QLowEnergyDescriptor &other) const

Returns `true` if other is equal to this QLowEnergyCharacteristic; otherwise `false`.

Two QLowEnergyDescriptor instances are considered to be equal if they refer to the same descriptor on the same remote Bluetooth Low Energy device or both instances have been default-constructed.