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.