QKnxNetIpTunnelingFeatureSetProxy Class

The QKnxNetIpTunnelingFeatureSetProxy class provides the means to access the information carried by a generic tunneling feature-set service QKnxNetIpFrame frame and to create a KNXnet/IP frame based on the information. 更多...

头: #include <QKnxNetIpTunnelingFeatureSetProxy>
qmake: QT += knx
Since: Qt 5.12

该类在 Qt 5.12 引入。

公共类型

class Builder

公共函数

QKnxNetIpTunnelingFeatureSetProxy (const QKnxNetIpFrame & frame )
quint8 channelId () const
QKnx::InterfaceFeature featureIdentifier () const
QKnxByteArray featureValue () const
bool isValid () const
quint8 sequenceNumber () const

静态公共成员

QKnxNetIpTunnelingFeatureSetProxy::Builder builder ()

详细描述

A tunneling feature-set service frame contains the ID of the communication channel between a KNXnet/IP client and server, the sequence number of the frame, the interface feature to set, and the feature value as a byte array.

The tunneling client initiates the tunneling feature-set service to set the value of an interface feature in a tunneling server. The tunneling server accepts the value and applies it immediately, unless specified differently.

This means that the server applies the value before sending the tunneling feature-response or before routing the next tunneling request on the bus.

Within 3 seconds of confirming the tunneling feature-set service, the tunneling server sends a tunneling feature-response frame. The frame contains the written value and a return code .

注意: When using QKnxNetIpTunnelingFeatureSetProxy, 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 tunneling feature-set service information sent by a KNXnet/IP client:

auto netIpFrame = QKnxNetIpFrame::fromBytes(...);
const QKnxNetIpTunnelingFeatureSetProxy proxy(netIpFrame);
if (!proxy.isValid())
    return;
auto id = proxy.featureIdentifier();
auto value = proxy.featureValue();
					

另请参阅 builder (), QKnxNetIpTunnelingFeatureInfoProxy , QKnxNetIpTunnelingFeatureResponseProxy , Qt KNX Tunneling Classes ,和 Qt KNXnet/IP Connection Classes .

成员函数文档编制

QKnxNetIpTunnelingFeatureSetProxy:: QKnxNetIpTunnelingFeatureSetProxy (const QKnxNetIpFrame & frame )

Constructs a proxy object to read the tunneling feature-set service information carried by the specified KNXnet/IP frame frame .

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

Returns a builder object to create a KNXnet/IP tunneling feature-set service frame.

quint8 QKnxNetIpTunnelingFeatureSetProxy:: channelId () const

Returns the ID of the communication channel between a KNXnet/IP client and server.

QKnx::InterfaceFeature QKnxNetIpTunnelingFeatureSetProxy:: featureIdentifier () const

Returns the tunneling interface feature identifier of a tunneling feature-set service frame.

QKnxByteArray QKnxNetIpTunnelingFeatureSetProxy:: featureValue () const

Returns the tunneling interface feature value of a tunneling feature-set service frame.

bool QKnxNetIpTunnelingFeatureSetProxy:: isValid () const

返回 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.

另请参阅 QKnxNetIpFrameHeader::totalSize ().

quint8 QKnxNetIpTunnelingFeatureSetProxy:: sequenceNumber () const

Returns the sequence number of a tunneling feature-set service frame.