QKnxNetIpCriProxy Class
The QKnxNetIpCriProxy class provides the means to read the connection request information (CRI) from the generic QKnxNetIpCri class and to create a KNXnet/IP CRI structure based on the information. More...
Header: | #include <QKnxNetIpCriProxy> |
qmake: | QT += knx |
Public Types
class | Builder |
Public Functions
QKnxNetIpCriProxy(const QKnxNetIpCri &cri) | |
QKnxByteArray | additionalData() const |
QKnxNetIp::ConnectionType | connectionType() const |
QKnxAddress | individualAddress() const |
bool | isExtended() const |
bool | isValid() const |
QKnxNetIp::TunnelLayer | tunnelLayer() const |
Static Public Members
QKnxNetIpCriProxy::Builder | builder() |
Detailed Description
A KNXnet/IP CRI structure contains additional information needed for different types of communication channels to fulfill a connection request.
The structure may contain host protocol dependent and independent data, but the current KNX specification foresees additional data only in the case of tunneling.
Note: When using QKnxNetIpCriProxy, care must be taken to ensure that the referenced KNXnet/IP CRI structure outlives the proxy on all code paths, lest the proxy ends up referencing deleted data.
Reading the connection type and tunneling layer can be achieved like this:
auto cri = QKnxNetIpCri::fromBytes(...); QKnxNetIpCriProxy proxy(cri); if (!proxy.isValid()) return; if (proxy.connectionType() != QKnxNetIp::ConnectionType::Tunnel) return; auto layer = proxy.tunnelLayer(); // read the requested tunneling layer
See also builder() and Qt KNXnet/IP Connection Classes.
Member Function Documentation
QKnxNetIpCriProxy::QKnxNetIpCriProxy(const QKnxNetIpCri &cri)
Constructs a proxy object with the specified a KNXnet/IP structure cri to read the connection request information (CRI).
QKnxByteArray QKnxNetIpCriProxy::additionalData() const
Returns the additional data of this KNXnet/IP structure.
The current KNX specification foresees additional data only in the case of tunneling.
See also tunnelLayer() and individualAddress().
[static]
QKnxNetIpCriProxy::Builder QKnxNetIpCriProxy::builder()
Returns a builder object to create a KNXnet/IP connection request information structure.
QKnxNetIp::ConnectionType QKnxNetIpCriProxy::connectionType() const
Returns the connection type of this KNXnet/IP structure if the object that was passed during construction was valid; otherwise returns QKnx::NetIp::Unknown.
QKnxAddress QKnxNetIpCriProxy::individualAddress() const
Returns the individual address of the extended connection request information structure if the object that was passed during construction was valid and an extended structure; otherwise returns QKnx::NetIp::Unknown.
This function was introduced in Qt 5.12.
See also isExtended(), tunnelLayer(), and additionalData().
bool QKnxNetIpCriProxy::isExtended() const
Returns true
if this is an extended connection request information (CRI) frame; otherwise returns false
.
Note: No validation checks are performed on the given KNXnet/IP frame that was passed during construction.
This function was introduced in Qt 5.12.
See also isValid().
bool QKnxNetIpCriProxy::isValid() const
Returns true
if the KNXnet/IP structure to create the object is a valid KNXnet/IP CRI structure; otherwise returns false
.
QKnxNetIp::TunnelLayer QKnxNetIpCriProxy::tunnelLayer() const
Returns the tunneling layer of this KNXnet/IP structure if the object that was passed during construction was valid and the connection type is QKnx::NetIp::Tunnel, otherwise returns QKnx::NetIp::Unknown.
See also additionalData() and individualAddress().
© 2024 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.