QKnxNetIpHpaiProxy Class
The QKnxNetIpHpaiProxy class provides the means to read the KNXnet/IP host address protocol information (HPAI) from the generic QKnxNetIpHpai class and to create such a structure. More...
Header: | #include <QKnxNetIpHpaiProxy> |
qmake: | QT += knx |
Public Types
class | Builder |
Public Functions
QKnxNetIpHpaiProxy(const QKnxNetIpHpai &hpai) | |
QHostAddress | hostAddress() const |
QKnxNetIp::HostProtocol | hostProtocol() const |
bool | isValid() const |
quint16 | port() const |
Static Public Members
QKnxNetIpHpaiProxy::Builder | builder() |
Detailed Description
A KNXnet/IP HPAI structure contains the information that is necessary to uniquely identify an KNXnet/IP transport connection endpoint.
The information needed to identify an KNXnet/IP transport connection endpoint includes the protocol, IP address, and port number.
Note: When using QKnxNetIpHpaiProxy care must be taken to ensure that the referenced KNXnet/IP HPAI structure outlives the QKnxNetIpHpaiProxy on all code paths, lest the proxy ends up referencing deleted data.
Reading the host address and port number can be achieved like this:
auto hpai = QKnxNetIpHpai::fromBytes(...); QKnxNetIpHpaiProxy proxy(hpai); if (!proxy.isValid()) return; if (proxy.hostProtocol() == QKnxNetIp::HostProtocol::TCP_IPv4) return; // TCP support not implemented yet // read the host protocol address information auto address = proxy.hostAddress(); auto port = proxy.port();
See also builder() and Qt KNXnet/IP Connection Classes.
Member Function Documentation
QKnxNetIpHpaiProxy::QKnxNetIpHpaiProxy(const QKnxNetIpHpai &hpai)
Constructs a proxy object with the given a KNXnet/IP structure hpai to read the host protocol address information (HPAI).
[static]
QKnxNetIpHpaiProxy::Builder QKnxNetIpHpaiProxy::builder()
Returns a builder object to create a KNXnet/IP host protocol address information structure.
QHostAddress QKnxNetIpHpaiProxy::hostAddress() const
Returns the host address from KNXnet/IP structure if the object passed during construction was valid, otherwise returns a default-constructed QHostAddress.
QKnxNetIp::HostProtocol QKnxNetIpHpaiProxy::hostProtocol() const
Return the host protocol from KNXnet/IP structure if the object passed during construction was valid, otherwise returns QKnxNetIp::Unknown.
bool QKnxNetIpHpaiProxy::isValid() const
Returns true
if the KNXnet/IP structure to create the object is a valid KNXnet/IP HPAI structure, returns false
otherwise.
quint16 QKnxNetIpHpaiProxy::port() const
Returns the port number carried inside the KNXnet/IP host protocol address information structure.