Builder Class
class QKnxNetIpTunnelingInfoDibProxy::BuilderThe QKnxNetIpTunnelingInfoDibProxy::Builder class creates a KNXnet/IP tunneling info DIB structure. More...
This class was introduced in Qt 5.12.
Public Functions
Builder(const Builder &other) | |
Builder() | |
Builder & | operator=(const Builder &other) |
~Builder() | |
QKnxNetIpDib | create() const |
Builder & | setMaximumInterfaceApduLength(quint16 length) |
Builder & | setOptionalSlotInfos(const QVector<QKnxNetIpTunnelingSlotInfo> &infos) |
Builder & | setTunnelingSlotInfo(const QKnxNetIpTunnelingSlotInfo &info) |
Detailed Description
A KNXnet/IP tunneling info DIB structure contains the maximum application layer protocol data unit (APDU) length supported by a KNXnet/IP tunneling interface for bus access and one or more tunneling slot information objects.
The common way to create such a DIB structure is:
auto dib = QKnxNetIpTunnelingInfoDibProxy::builder() .setMaximumInterfaceApduLength(0x1000) .setTunnelingSlotInfo({ { QKnxAddress::Type::Individual, 1976 }, QKnxNetIpTunnelingSlotInfo::Available }).setOptionalSlotInfos({ { { QKnxAddress::Type::Individual, 2013 }, QKnxNetIpTunnelingSlotInfo::Usable | QKnxNetIpTunnelingSlotInfo::Authorized | QKnxNetIpTunnelingSlotInfo::Free }, { { QKnxAddress::Type::Individual, 1978 }, QKnxNetIpTunnelingSlotInfo::NotAvailable }, { QKnxNetIpTunnelingSlotInfo({ QKnxAddress::Type::Individual, 2002 }) } }).create();
Member Function Documentation
Builder::Builder(const Builder &other)
Constructs a copy of other.
Builder::Builder()
Creates a new empty tunneling info DIB structure builder object.
Builder &Builder::operator=(const Builder &other)
Assigns the specified other to this object.
Builder::~Builder()
Destroys the object and frees any allocated resources.
QKnxNetIpDib Builder::create() const
Creates and returns a tunneling info QKnxNetIpDib.
Note: The returned structure may be invalid depending on the values used during setup.
Note: Invalid tunneling slot information objects are not taken into account when creating the tunneling information QKnxNetIpDib.
See also isValid().
Builder &Builder::setMaximumInterfaceApduLength(quint16 length)
Sets the maximum APDU length of the KNXnet/IP DIB structure to length and returns a reference to the builder.
Builder &Builder::setOptionalSlotInfos(const QVector<QKnxNetIpTunnelingSlotInfo> &infos)
Sets the optional tunneling slot information of the KNXnet/IP DIB structure to infos and returns a reference to the builder.
Builder &Builder::setTunnelingSlotInfo(const QKnxNetIpTunnelingSlotInfo &info)
Sets the mandatory tunneling slot information of the KNXnet/IP DIB structure to info and returns a reference to the builder.