QKnxNetIpDeviceDibProxy Class

The QKnxNetIpDeviceDibProxy class provides the means to read the device information of a KNXnet/IP device from the generic QKnxNetIpDib class and to create a KNXnet/IP device information block (DIB) structure. More...

Header: #include <QKnxNetIpDeviceDibProxy>
qmake: QT += knx

Public Types

class Builder

Public Functions

QKnxNetIpDeviceDibProxy(const QKnxNetIpDib &dib)
QKnxNetIp::DescriptionType descriptionType() const
QByteArray deviceName() const
QKnxNetIp::ProgrammingMode deviceStatus() const
QKnxAddress individualAddress() const
bool isValid() const
QKnxByteArray macAddress() const
QKnx::MediumType mediumType() const
QHostAddress multicastAddress() const
quint16 projectInstallationId() const
QKnxByteArray serialNumber() const

Static Public Members

QKnxNetIpDeviceDibProxy::Builder builder()

Detailed Description

Note: When using QKnxNetIpDeviceDibProxy, care must be taken to ensure that the referenced KNXnet/IP DIB structure outlives the proxy on all code paths, lest the proxy ends up referencing deleted data.

Reading the device information can be achieved like this:

auto dib = QKnxNetIpDib::fromBytes(...);

QKnxNetIpDeviceDibProxy proxy(dib);
if (!proxy.isValid())
    return;

auto mediumType = proxy.mediumType();
auto programmingMode = proxy.deviceStatus();
...
auto deviceName = proxy.deviceName();

See also builder() and Qt KNXnet/IP Connection Classes.

Member Function Documentation

QKnxNetIpDeviceDibProxy::QKnxNetIpDeviceDibProxy(const QKnxNetIpDib &dib)

Constructs a proxy object with the specified KNXnet/IP DIB structure dib to read the device information of a KNXnet/IP device.

[static] QKnxNetIpDeviceDibProxy::Builder QKnxNetIpDeviceDibProxy::builder()

Returns a builder object to create a KNXnet/IP device information DIB structure.

QKnxNetIp::DescriptionType QKnxNetIpDeviceDibProxy::descriptionType() const

Returns the description type of this KNXnet/IP structure if the object that was passed during construction was valid; otherwise returns QKnx::NetIp::Unknown.

QByteArray QKnxNetIpDeviceDibProxy::deviceName() const

Returns the device name contained inside the KNXnet/IP DIB structure if the object that was passed during construction was valid; otherwise returns an empty byte array.

QKnxNetIp::ProgrammingMode QKnxNetIpDeviceDibProxy::deviceStatus() const

Returns the device status contained inside the KNXnet/IP DIB structure.

See also QKnx::NetIp::ProgrammingMode.

QKnxAddress QKnxNetIpDeviceDibProxy::individualAddress() const

Returns the individual address contained inside the KNXnet/IP DIB structure if the object that was passed during construction was valid; otherwise returns a default constructed QKnxAddress.

bool QKnxNetIpDeviceDibProxy::isValid() const

Returns true if the KNXnet/IP structure to create the object is a valid KNXnet/IP DIB structure; otherwise returns false.

QKnxByteArray QKnxNetIpDeviceDibProxy::macAddress() const

Returns the MAC address contained inside the KNXnet/IP DIB structure if the object that was passed during construction was valid; otherwise returns an empty byte array.

QKnx::MediumType QKnxNetIpDeviceDibProxy::mediumType() const

Returns the medium type contained inside the KNXnet/IP DIB structure if the object that was passed during construction was valid; otherwise returns QKnx::Unknown.

QHostAddress QKnxNetIpDeviceDibProxy::multicastAddress() const

Returns the multicast address contained inside the KNXnet/IP DIB structure if the object that was passed during construction was valid; otherwise returns a default constructed QHostAddress.

quint16 QKnxNetIpDeviceDibProxy::projectInstallationId() const

Returns the KNX project installation ID contained inside the KNXnet/IP DIB structure.

QKnxByteArray QKnxNetIpDeviceDibProxy::serialNumber() const

Returns the device serial number contained inside the KNXnet/IP DIB structure if the object that was passed during construction was valid; otherwise returns an empty byte array.

© 2023 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.