QKnxNetIpRoutingIndicationProxy Class

The QKnxNetIpRoutingIndicationProxy class provides the means to read a routing indication from the generic QKnxNetIpFrame class and to create a KNXnet/IP frame based on the information. More...

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

Public Types

class Builder

Public Functions

QKnxNetIpRoutingIndicationProxy(const QKnxNetIpFrame &frame)
QKnxLinkLayerFrame cemi() const
bool isValid() const

Static Public Members

QKnxNetIpRoutingIndicationProxy::Builder builder()

Detailed Description

A routing indication is sent by a KNXnet/IP router or device to transmit KNX link layer frames over IP networks.

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

The following code sample illustrates how to read the routing indication information sent by a KNXnet/IP router or device:

 auto netIpFrame = QKnxNetIpFrame::fromBytes(...);

 const QKnxNetIpRoutingIndicationProxy proxy(netIpFrame);
 if (!proxy.isValid())
     return;

 auto linkFrame = proxy.cemi();

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

Member Function Documentation

QKnxNetIpRoutingIndicationProxy::QKnxNetIpRoutingIndicationProxy(const QKnxNetIpFrame &frame)

Constructs a proxy object to read the routing indication information carried by the specified KNXnet/IP frame frame.

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

Returns a builder object to create a KNXnet/IP routing indication frame.

QKnxLinkLayerFrame QKnxNetIpRoutingIndicationProxy::cemi() const

Returns the cEMI frame within the routing indication frame.

This function was introduced in Qt 5.12.

bool QKnxNetIpRoutingIndicationProxy::isValid() const

Returns true if the frame contains initialized values and is in itself valid, otherwise returns false. A valid KNXnet/IP frame consists of at least a valid header and a size in bytes corresponding to the total size of the KNXnet/IP frame header.

See also QKnxNetIpFrameHeader::totalSize().