QKnxNetIpSessionRequestProxy Class
The QKnxNetIpSessionRequestProxy class provides the means to introspect session request data inside the generic QKnxNetIpFrame class and to create a KNXnet/IP session request frame from provided data. More...
Header: | #include <QKnxNetIpSessionRequestProxy> |
qmake: | QT += knx |
Since: | Qt 5.12 |
This class was introduced in Qt 5.12.
Public Types
class | Builder |
Public Functions
QKnxNetIpSessionRequestProxy(const QKnxNetIpFrame &frame) | |
QKnxNetIpHpai | controlEndpoint() const |
bool | isValid() const |
QKnxByteArray | publicKey() const |
Static Public Members
QKnxNetIpSessionRequestProxy::Builder | builder() |
Detailed Description
This class is part of the Qt KNX module and currently available as a Technology Preview, and therefore the API and functionality provided by the class may be subject to change at any time without prior notice.
This frame will be sent by a KNXnet/IP secure client to the control endpoint of the KNXnet/IP secure server to initiate the secure session setup handshake for a new secure communication channel. The maximum time a KNXnet/IP secure client will wait for a response of the KNXnet/IP secure server is 10 seconds.
Note: When using QKnxNetIpSessionRequestProxy, 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 session request information:
auto netIpFrame = QKnxNetIpFrame::fromBytes(...); const QKnxNetIpSessionRequestProxy proxy(netIpFrame); if (!proxy.isValid()) return; auto endPoint = proxy.controlEndpoint(); auto publicKey = proxy.publicKey();
See also builder(), QKnxNetIpSessionResponseProxy, and Qt KNXnet/IP Connection Classes.
Member Function Documentation
QKnxNetIpSessionRequestProxy::QKnxNetIpSessionRequestProxy(const QKnxNetIpFrame &frame)
Constructs a proxy object to read the session request information carried by the specified KNXnet/IP frame frame.
[static]
QKnxNetIpSessionRequestProxy::Builder QKnxNetIpSessionRequestProxy::builder()
Returns a builder object to create a KNXnet/IP session request frame.
QKnxNetIpHpai QKnxNetIpSessionRequestProxy::controlEndpoint() const
Returns the control endpoint from the generic KNXnet/IP session request frame.
bool QKnxNetIpSessionRequestProxy::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.
Note: KNXnet/IP session request frames currently have a fixed size of 46
bytes.
See also QKnxNetIpFrameHeader::totalSize().
QKnxByteArray QKnxNetIpSessionRequestProxy::publicKey() const
Returns the public key from the generic KNXnet/IP session request frame. The public key needs to be generated using the Curve25519 algorithm and has a fixed size of 32
bytes.
© 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.