├── .qmake.conf ├── .tag ├── LICENSE.GPL3 ├── LICENSE.GPL3-EXCEPT ├── dependencies.yaml ├── dist ├── changes-5.11.2 ├── changes-5.14.0 ├── changes-5.14.1 ├── changes-5.14.2 ├── changes-5.15.0 └── changes-5.15.1 ├── examples ├── examples.pro └── knx │ ├── device │ ├── device.pro │ ├── deviceitem.cpp │ ├── deviceitem.h │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h │ └── mainwindow.ui │ ├── discoverer │ ├── discoverer.pro │ └── main.cpp │ ├── doc │ ├── device.qdoc │ ├── discoverer.qdoc │ ├── examples.qdoc │ ├── feature.qdoc │ ├── group.qdoc │ ├── images │ │ ├── device.png │ │ ├── editor-devman.jpg │ │ ├── editor-main.png │ │ ├── features.png │ │ ├── group.png │ │ └── tunnel-tab.jpg │ ├── knxeditor.qdoc │ ├── knxproj.qdoc │ ├── router.qdoc │ └── tunnelclient.qdoc │ ├── feature │ ├── deviceitem.cpp │ ├── deviceitem.h │ ├── feature.pro │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h │ └── mainwindow.ui │ ├── group │ ├── deviceitem.cpp │ ├── deviceitem.h │ ├── group.pro │ ├── groupaddressvalidater.cpp │ ├── groupaddressvalidater.h │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h │ └── mainwindow.ui │ ├── knx.pro │ ├── knxeditor │ ├── knxeditor.pro │ ├── localdevicemanagement.cpp │ ├── localdevicemanagement.h │ ├── localdevicemanagement.ui │ ├── main.cpp │ ├── mainwindow.cpp │ ├── mainwindow.h │ ├── mainwindow.ui │ ├── tunneling.cpp │ ├── tunneling.h │ ├── tunneling.ui │ ├── tunnelingfeatures.cpp │ ├── tunnelingfeatures.h │ └── tunnelingfeatures.ui │ ├── knxproj │ ├── knxproj.pro │ └── main.cpp │ ├── router │ ├── main.cpp │ └── router.pro │ └── tunnelclient │ ├── main.cpp │ └── tunnelclient.pro ├── qtknx.pro ├── src ├── knx │ ├── QtKnx_pch.h │ ├── core │ │ ├── core.pri │ │ ├── qknxbytearray.cpp │ │ └── qknxbytearray.h │ ├── doc │ │ ├── images │ │ │ ├── qtknx-datapoint-type-classes.png │ │ │ ├── qtknx-device-management-classes.png │ │ │ ├── qtknx-netip-connection-classes.png │ │ │ └── qtknx-tunneling-classes.png │ │ ├── qtknx.qdocconf │ │ ├── src │ │ │ ├── datapoint_types.qdoc │ │ │ ├── device_management.qdoc │ │ │ ├── external-resources.qdoc │ │ │ ├── index.qdoc │ │ │ ├── module.qdoc │ │ │ ├── netip-connections.qdoc │ │ │ ├── overview.qdoc │ │ │ └── tunneling.qdoc │ │ └── style │ │ │ └── style.css │ ├── dpt │ │ ├── dpt.pri │ │ ├── qknx1bit.cpp │ │ ├── qknx1bit.h │ │ ├── qknx1bitcontrolled.cpp │ │ ├── qknx1bitcontrolled.h │ │ ├── qknx1byte.cpp │ │ ├── qknx1byte.h │ │ ├── qknx2bitset.cpp │ │ ├── qknx2bitset.h │ │ ├── qknx2bytefloat.cpp │ │ ├── qknx2bytefloat.h │ │ ├── qknx2bytesignedvalue.cpp │ │ ├── qknx2bytesignedvalue.h │ │ ├── qknx2byteunsignedvalue.cpp │ │ ├── qknx2byteunsignedvalue.h │ │ ├── qknx32bitset.cpp │ │ ├── qknx32bitset.h │ │ ├── qknx3bitcontrolled.cpp │ │ ├── qknx3bitcontrolled.h │ │ ├── qknx4bytefloat.cpp │ │ ├── qknx4bytefloat.h │ │ ├── qknx4bytesignedvalue.cpp │ │ ├── qknx4bytesignedvalue.h │ │ ├── qknx4byteunsignedvalue.cpp │ │ ├── qknx4byteunsignedvalue.h │ │ ├── qknx8bitset.cpp │ │ ├── qknx8bitset.h │ │ ├── qknx8bitsignedvalue.cpp │ │ ├── qknx8bitsignedvalue.h │ │ ├── qknx8bitunsignedvalue.cpp │ │ ├── qknx8bitunsignedvalue.h │ │ ├── qknxchar.cpp │ │ ├── qknxchar.h │ │ ├── qknxcharstring.cpp │ │ ├── qknxcharstring.h │ │ ├── qknxdatapointtype.cpp │ │ ├── qknxdatapointtype.h │ │ ├── qknxdatapointtype_p.h │ │ ├── qknxdatapointtypefactory.cpp │ │ ├── qknxdatapointtypefactory.h │ │ ├── qknxdatetime.cpp │ │ ├── qknxdatetime.h │ │ ├── qknxelectricalenergy.cpp │ │ ├── qknxelectricalenergy.h │ │ ├── qknxentranceaccess.cpp │ │ ├── qknxentranceaccess.h │ │ ├── qknxscene.cpp │ │ ├── qknxscene.h │ │ ├── qknxstatusmode3.cpp │ │ ├── qknxstatusmode3.h │ │ ├── qknxtime.cpp │ │ ├── qknxtime.h │ │ ├── qknxutf8string.cpp │ │ ├── qknxutf8string.h │ │ ├── qknxvarstring.cpp │ │ └── qknxvarstring.h │ ├── ets │ │ ├── ets.pri │ │ ├── manufacturers.cpp │ │ └── manufacturers.h │ ├── knx.pro │ ├── knxproj │ │ ├── knxproj.pri │ │ ├── qknxbuildings.cpp │ │ ├── qknxbuildings_p.h │ │ ├── qknxdeviceinstance.cpp │ │ ├── qknxdeviceinstance_p.h │ │ ├── qknxgroupaddresses.cpp │ │ ├── qknxgroupaddresses_p.h │ │ ├── qknxgroupaddressinfo.cpp │ │ ├── qknxgroupaddressinfo.h │ │ ├── qknxgroupaddressinfos.cpp │ │ ├── qknxgroupaddressinfos.h │ │ ├── qknxinstallation.cpp │ │ ├── qknxinstallation_p.h │ │ ├── qknxprojectinformation.cpp │ │ ├── qknxprojectinformation_p.h │ │ ├── qknxprojectroot.cpp │ │ ├── qknxprojectroot_p.h │ │ ├── qknxprojectutils.cpp │ │ ├── qknxprojectutils_p.h │ │ ├── qknxtopology.cpp │ │ ├── qknxtopology_p.h │ │ ├── qzip.cpp │ │ ├── qzipreader_p.h │ │ └── qzipwriter_p.h │ ├── netip │ │ ├── netip.pri │ │ ├── qknxbuilderdata_p.h │ │ ├── qknxnetip.cpp │ │ ├── qknxnetip.h │ │ ├── qknxnetipconfigdib.cpp │ │ ├── qknxnetipconfigdib.h │ │ ├── qknxnetipconnectionheader.cpp │ │ ├── qknxnetipconnectionheader.h │ │ ├── qknxnetipconnectionstaterequest.cpp │ │ ├── qknxnetipconnectionstaterequest.h │ │ ├── qknxnetipconnectionstateresponse.cpp │ │ ├── qknxnetipconnectionstateresponse.h │ │ ├── qknxnetipconnectrequest.cpp │ │ ├── qknxnetipconnectrequest.h │ │ ├── qknxnetipconnectresponse.cpp │ │ ├── qknxnetipconnectresponse.h │ │ ├── qknxnetipcrd.cpp │ │ ├── qknxnetipcrd.h │ │ ├── qknxnetipcri.cpp │ │ ├── qknxnetipcri.h │ │ ├── qknxnetipcurrentconfigdib.cpp │ │ ├── qknxnetipcurrentconfigdib.h │ │ ├── qknxnetipdescriptionrequest.cpp │ │ ├── qknxnetipdescriptionrequest.h │ │ ├── qknxnetipdescriptionresponse.cpp │ │ ├── qknxnetipdescriptionresponse.h │ │ ├── qknxnetipdeviceconfigurationacknowledge.cpp │ │ ├── qknxnetipdeviceconfigurationacknowledge.h │ │ ├── qknxnetipdeviceconfigurationrequest.cpp │ │ ├── qknxnetipdeviceconfigurationrequest.h │ │ ├── qknxnetipdevicedib.cpp │ │ ├── qknxnetipdevicedib.h │ │ ├── qknxnetipdevicemanagement.cpp │ │ ├── qknxnetipdevicemanagement.h │ │ ├── qknxnetipdisconnectrequest.cpp │ │ ├── qknxnetipdisconnectrequest.h │ │ ├── qknxnetipdisconnectresponse.cpp │ │ ├── qknxnetipdisconnectresponse.h │ │ ├── qknxnetipendpointconnection.cpp │ │ ├── qknxnetipendpointconnection.h │ │ ├── qknxnetipendpointconnection_p.h │ │ ├── qknxnetipextendeddevicedib.cpp │ │ ├── qknxnetipextendeddevicedib.h │ │ ├── qknxnetipframe.cpp │ │ ├── qknxnetipframe.h │ │ ├── qknxnetipframeheader.cpp │ │ ├── qknxnetipframeheader.h │ │ ├── qknxnetiphpai.cpp │ │ ├── qknxnetiphpai.h │ │ ├── qknxnetipknxaddressesdib.cpp │ │ ├── qknxnetipknxaddressesdib.h │ │ ├── qknxnetipmanufacturerdib.cpp │ │ ├── qknxnetipmanufacturerdib.h │ │ ├── qknxnetiprouter.cpp │ │ ├── qknxnetiprouter.h │ │ ├── qknxnetiprouter_p.cpp │ │ ├── qknxnetiprouter_p.h │ │ ├── qknxnetiproutingbusy.cpp │ │ ├── qknxnetiproutingbusy.h │ │ ├── qknxnetiproutingindication.cpp │ │ ├── qknxnetiproutingindication.h │ │ ├── qknxnetiproutinglostmessage.cpp │ │ ├── qknxnetiproutinglostmessage.h │ │ ├── qknxnetiproutingsystembroadcast.cpp │ │ ├── qknxnetiproutingsystembroadcast.h │ │ ├── qknxnetipsearchrequest.cpp │ │ ├── qknxnetipsearchrequest.h │ │ ├── qknxnetipsearchresponse.cpp │ │ ├── qknxnetipsearchresponse.h │ │ ├── qknxnetipsecureconfiguration.cpp │ │ ├── qknxnetipsecureconfiguration.h │ │ ├── qknxnetipsecureconfiguration_p.h │ │ ├── qknxnetipsecuredservicefamiliesdib.cpp │ │ ├── qknxnetipsecuredservicefamiliesdib.h │ │ ├── qknxnetipsecurewrapper.cpp │ │ ├── qknxnetipsecurewrapper.h │ │ ├── qknxnetipserverdescriptionagent.cpp │ │ ├── qknxnetipserverdescriptionagent.h │ │ ├── qknxnetipserverdescriptionagent_p.h │ │ ├── qknxnetipserverdiscoveryagent.cpp │ │ ├── qknxnetipserverdiscoveryagent.h │ │ ├── qknxnetipserverdiscoveryagent_p.cpp │ │ ├── qknxnetipserverdiscoveryagent_p.h │ │ ├── qknxnetipserverinfo.cpp │ │ ├── qknxnetipserverinfo.h │ │ ├── qknxnetipserverinfo_p.h │ │ ├── qknxnetipservicefamiliesdib.cpp │ │ ├── qknxnetipservicefamiliesdib.h │ │ ├── qknxnetipsessionauthenticate.cpp │ │ ├── qknxnetipsessionauthenticate.h │ │ ├── qknxnetipsessionrequest.cpp │ │ ├── qknxnetipsessionrequest.h │ │ ├── qknxnetipsessionresponse.cpp │ │ ├── qknxnetipsessionresponse.h │ │ ├── qknxnetipsessionstatus.cpp │ │ ├── qknxnetipsessionstatus.h │ │ ├── qknxnetipsrp.cpp │ │ ├── qknxnetipsrp.h │ │ ├── qknxnetipstruct.cpp │ │ ├── qknxnetipstruct.h │ │ ├── qknxnetipstructheader.cpp │ │ ├── qknxnetipstructheader.h │ │ ├── qknxnetiptestrouter_p.h │ │ ├── qknxnetiptimernotify.cpp │ │ ├── qknxnetiptimernotify.h │ │ ├── qknxnetiptunnel.cpp │ │ ├── qknxnetiptunnel.h │ │ ├── qknxnetiptunnelingacknowledge.cpp │ │ ├── qknxnetiptunnelingacknowledge.h │ │ ├── qknxnetiptunnelingfeatureget.cpp │ │ ├── qknxnetiptunnelingfeatureget.h │ │ ├── qknxnetiptunnelingfeatureinfo.cpp │ │ ├── qknxnetiptunnelingfeatureinfo.h │ │ ├── qknxnetiptunnelingfeatureresponse.cpp │ │ ├── qknxnetiptunnelingfeatureresponse.h │ │ ├── qknxnetiptunnelingfeatureset.cpp │ │ ├── qknxnetiptunnelingfeatureset.h │ │ ├── qknxnetiptunnelinginfodib.cpp │ │ ├── qknxnetiptunnelinginfodib.h │ │ ├── qknxnetiptunnelingrequest.cpp │ │ └── qknxnetiptunnelingrequest.h │ ├── qknxadditionalinfo.cpp │ ├── qknxadditionalinfo.h │ ├── qknxaddress.cpp │ ├── qknxaddress.h │ ├── qknxcontrolfield.cpp │ ├── qknxcontrolfield.h │ ├── qknxdevicemanagementframe.cpp │ ├── qknxdevicemanagementframe.h │ ├── qknxdevicemanagementframefactory.cpp │ ├── qknxdevicemanagementframefactory.h │ ├── qknxextendedcontrolfield.cpp │ ├── qknxextendedcontrolfield.h │ ├── qknxinterfaceobjectproperty.cpp │ ├── qknxinterfaceobjectproperty.h │ ├── qknxinterfaceobjectpropertydatatype.cpp │ ├── qknxinterfaceobjectpropertydatatype.h │ ├── qknxinterfaceobjecttype.cpp │ ├── qknxinterfaceobjecttype.h │ ├── qknxlinklayerframe.cpp │ ├── qknxlinklayerframe.h │ ├── qknxlinklayerframebuilder.cpp │ ├── qknxlinklayerframebuilder.h │ ├── qknxnamespace.cpp │ ├── qknxnamespace.h │ ├── qknxtpdu.cpp │ ├── qknxtpdu.h │ ├── qknxtpdufactory_broadcast.cpp │ ├── qknxtpdufactory_multicast.cpp │ ├── qknxtpdufactory_p.h │ ├── qknxtpdufactory_p2p.cpp │ ├── qknxtraits.h │ ├── qknxutils.h │ ├── qtknxglobal.h │ ├── qtknxglobal_p.h │ └── ssl │ │ ├── qknxcryptographicengine.cpp │ │ ├── qknxcryptographicengine.h │ │ ├── qknxkeyring.cpp │ │ ├── qknxkeyring_p.h │ │ ├── qknxsecurekey.cpp │ │ ├── qknxsecurekey.h │ │ ├── qknxssl_openssl.cpp │ │ ├── qknxssl_p.h │ │ ├── qsslsocket_openssl11_symbols_p.h │ │ ├── qsslsocket_openssl_symbols.cpp │ │ ├── qsslsocket_openssl_symbols_p.h │ │ └── ssl.pri └── src.pro ├── sync.profile └── tests ├── auto ├── auto.pro ├── cmake │ ├── CMakeLists.txt │ └── cmake.pro ├── qknxadditionalinfo │ ├── qknxadditionalinfo.pro │ └── tst_qknxadditionalinfo.cpp ├── qknxaddress │ ├── qknxaddress.pro │ └── tst_qknxaddress.cpp ├── qknxbytearray │ ├── qknxbytearray.pro │ └── tst_qknxbytearray.cpp ├── qknxcontrolfield │ ├── qknxcontrolfield.pro │ └── tst_qknxcontrolfield.cpp ├── qknxcryptographicengine │ ├── qknxcryptographicengine.pro │ └── tst_qknxcryptographicengine.cpp ├── qknxdatapointtype │ ├── qknxdatapointtype.pro │ └── tst_qknxdatapointtype.cpp ├── qknxdevicemanagementframe │ ├── qknxdevicemanagementframe.pro │ └── tst_qknxdevicemanagementframe.cpp ├── qknxgroupaddressinfo │ ├── data │ │ ├── 0.xml │ │ └── qt.io.knxproj │ ├── project.qrc │ ├── qknxgroupaddressinfo.pro │ └── tst_qknxgroupaddressinfo.cpp ├── qknxnetipconfigdib │ ├── qknxnetipconfigdib.pro │ └── tst_qknxnetipconfigdib.cpp ├── qknxnetipconnectionheader │ ├── qknxnetipconnectionheader.pro │ └── tst_qknxnetipconnectionheader.cpp ├── qknxnetipconnectionstaterequest │ ├── qknxnetipconnectionstaterequest.pro │ └── tst_qknxnetipconnectionstaterequest.cpp ├── qknxnetipconnectionstateresponse │ ├── qknxnetipconnectionstateresponse.pro │ └── tst_qknxnetipconnectionstateresponse.cpp ├── qknxnetipconnectrequest │ ├── qknxnetipconnectrequest.pro │ └── tst_qknxnetipconnectrequest.cpp ├── qknxnetipconnectresponse │ ├── qknxnetipconnectresponse.pro │ └── tst_qknxnetipconnectresponse.cpp ├── qknxnetipcrd │ ├── qknxnetipcrd.pro │ └── tst_qknxnetipcrd.cpp ├── qknxnetipcri │ ├── qknxnetipcri.pro │ └── tst_qknxnetipcri.cpp ├── qknxnetipcurrentconfigdib │ ├── qknxnetipcurrentconfigdib.pro │ └── tst_qknxnetipcurrentconfigdib.cpp ├── qknxnetipdescriptionrequest │ ├── qknxnetipdescriptionrequest.pro │ └── tst_qknxnetipdescriptionrequest.cpp ├── qknxnetipdescriptionresponse │ ├── qknxnetipdescriptionresponse.pro │ └── tst_qknxnetipdescriptionresponse.cpp ├── qknxnetipdeviceconfigurationacknowledge │ ├── qknxnetipdeviceconfigurationacknowledge.pro │ └── tst_qknxnetipdeviceconfigurationacknowledge.cpp ├── qknxnetipdeviceconfigurationrequest │ ├── qknxnetipdeviceconfigurationrequest.pro │ └── tst_qknxnetipdeviceconfigurationrequest.cpp ├── qknxnetipdevicedib │ ├── qknxnetipdevicedib.pro │ └── tst_qknxnetipdevicedib.cpp ├── qknxnetipdisconnectrequest │ ├── qknxnetipdisconnectrequest.pro │ └── tst_qknxnetipdisconnectrequest.cpp ├── qknxnetipdisconnectresponse │ ├── qknxnetipdisconnectresponse.pro │ └── tst_qknxnetipdisconnectresponse.cpp ├── qknxnetipextendeddevicedib │ ├── qknxnetipextendeddevicedib.pro │ └── tst_qknxnetipextendeddevicedib.cpp ├── qknxnetiphpai │ ├── qknxnetiphpai.pro │ └── tst_qknxnetiphpai.cpp ├── qknxnetipknxaddressesdib │ ├── qknxnetipknxaddressesdib.pro │ └── tst_qknxnetipknxaddressesdib.cpp ├── qknxnetipmanufacturerdib │ ├── qknxnetipmanufacturerdib.pro │ └── tst_qknxnetipmanufacturerdib.cpp ├── qknxnetiprouter │ ├── qknxnetiprouter.pro │ └── tst_qknxnetiprouter.cpp ├── qknxnetiproutingbusy │ ├── qknxnetiproutingbusy.pro │ └── tst_qknxnetiproutingbusy.cpp ├── qknxnetiproutingindication │ ├── qknxnetiproutingindication.pro │ └── tst_qknxnetiproutingindication.cpp ├── qknxnetiproutinglostmessage │ ├── qknxnetiproutinglostmessage.pro │ └── tst_qknxnetiproutinglostmessage.cpp ├── qknxnetiproutingsystembroadcast │ ├── qknxnetiproutingsystembroadcast.pro │ └── tst_qknxnetiproutingsystembroadcast.cpp ├── qknxnetipsearchrequest │ ├── qknxnetipsearchrequest.pro │ └── tst_qknxnetipsearchrequest.cpp ├── qknxnetipsearchresponse │ ├── qknxnetipsearchresponse.pro │ └── tst_qknxnetipsearchresponse.cpp ├── qknxnetipsecuredservicefamiliesdib │ ├── qknxnetipsecuredservicefamiliesdib.pro │ └── tst_qknxnetipsecuredservicefamiliesdib.cpp ├── qknxnetipservicefamiliesdib │ ├── qknxnetipservicefamiliesdib.pro │ └── tst_qknxnetipservicefamiliesdib.cpp ├── qknxnetipsessionrequest │ ├── qknxnetipsessionrequest.pro │ └── tst_qknxnetipsessionrequest.cpp ├── qknxnetipsessionresponse │ ├── qknxnetipsessionresponse.pro │ └── tst_qknxnetipsessionresponse.cpp ├── qknxnetipstructure │ ├── qknxnetipstructure.pro │ └── tst_qknxnetipstructure.cpp ├── qknxnetiptunnelingacknowledge │ ├── qknxnetiptunnelingacknowledge.pro │ └── tst_qknxnetiptunnelingacknowledge.cpp ├── qknxnetiptunnelingfeature │ ├── qknxnetiptunnelingfeature.pro │ └── tst_qknxnetiptunnelingfeature.cpp ├── qknxnetiptunnelinginfodib │ ├── qknxnetiptunnelinginfodib.pro │ └── tst_qknxnetiptunnelinginfodib.cpp ├── qknxnetiptunnelingrequest │ ├── qknxnetiptunnelingrequest.pro │ └── tst_qknxnetiptunnelingrequest.cpp ├── qknxproject │ ├── data │ │ ├── buildings.xml │ │ ├── groupaddresses.xml │ │ ├── locations.xml │ │ ├── projectinformation.xml │ │ ├── topology.xml │ │ ├── trades-busaccess-splitinfos.xml │ │ └── unassigneddevices.xml │ ├── project.qrc │ ├── qknxproject.pro │ └── tst_qknxproject.cpp ├── qknxtpdufactory │ ├── qknxtpdufactory.pro │ └── tst_qknxtpdufactory.cpp ├── qknxtunnelframe │ ├── qknxtunnelframe.pro │ └── tst_qknxtunnelframe.cpp └── qknxtunnelframefactory │ ├── qknxtunnelframefactory.pro │ └── tst_qknxtunnelframefactory.cpp └── tests.pro /.qmake.conf: -------------------------------------------------------------------------------- 1 | load(qt_build_config) 2 | 3 | CONFIG += warning_clean 4 | DEFINES += QT_NO_FOREACH 5 | 6 | MODULE_VERSION = 6.2.0 7 | -------------------------------------------------------------------------------- /.tag: -------------------------------------------------------------------------------- 1 | 6a296d26aef90872b210a807c338503ce59e5062 2 | -------------------------------------------------------------------------------- /dependencies.yaml: -------------------------------------------------------------------------------- 1 | dependencies: 2 | ../qtbase: 3 | ref: e356ab2c32248838f70fce38b35294a151a7e278 4 | required: true 5 | -------------------------------------------------------------------------------- /dist/changes-5.11.2: -------------------------------------------------------------------------------- 1 | Qt 5.11.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.11.0 through 5.11.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | http://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.11 series is binary compatible with the 5.10.x series. 10 | Applications compiled for 5.10 will continue to run with 5.11. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | **************************************************************************** 21 | * Qt 5.11.2 Changes * 22 | **************************************************************************** 23 | 24 | - This release contains only minor code improvements. 25 | -------------------------------------------------------------------------------- /dist/changes-5.14.0: -------------------------------------------------------------------------------- 1 | Qt 5.14 introduces many new features and improvements as well as bugfixes 2 | over the 5.13.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | https://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 8 | Applications compiled for 5.13 will continue to run with 5.14. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | - This release contains only minor code improvements. 19 | -------------------------------------------------------------------------------- /dist/changes-5.14.1: -------------------------------------------------------------------------------- 1 | Qt 5.14.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.14.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 10 | Applications compiled for 5.13 will continue to run with 5.14. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.14.2: -------------------------------------------------------------------------------- 1 | Qt 5.14.2 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.14.0 through 5.14.1. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.14 series is binary compatible with the 5.13.x series. 10 | Applications compiled for 5.13 will continue to run with 5.14. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /dist/changes-5.15.0: -------------------------------------------------------------------------------- 1 | Qt 5.15 introduces many new features and improvements as well as bugfixes 2 | over the 5.14.x series. For more details, refer to the online documentation 3 | included in this distribution. The documentation is also available online: 4 | 5 | https://doc.qt.io/qt-5/index.html 6 | 7 | The Qt version 5.15 series is binary compatible with the 5.14.x series. 8 | Applications compiled for 5.14 will continue to run with 5.15. 9 | 10 | Some of the changes listed in this file include issue tracking numbers 11 | corresponding to tasks in the Qt Bug Tracker: 12 | 13 | https://bugreports.qt.io/ 14 | 15 | Each of these identifiers can be entered in the bug tracker to obtain more 16 | information about a particular change. 17 | 18 | - This release contains only minor code improvements. 19 | -------------------------------------------------------------------------------- /dist/changes-5.15.1: -------------------------------------------------------------------------------- 1 | Qt 5.15.1 is a bug-fix release. It maintains both forward and backward 2 | compatibility (source and binary) with Qt 5.15.0. 3 | 4 | For more details, refer to the online documentation included in this 5 | distribution. The documentation is also available online: 6 | 7 | https://doc.qt.io/qt-5/index.html 8 | 9 | The Qt version 5.15 series is binary compatible with the 5.14.x series. 10 | Applications compiled for 5.14 will continue to run with 5.15. 11 | 12 | Some of the changes listed in this file include issue tracking numbers 13 | corresponding to tasks in the Qt Bug Tracker: 14 | 15 | https://bugreports.qt.io/ 16 | 17 | Each of these identifiers can be entered in the bug tracker to obtain more 18 | information about a particular change. 19 | 20 | - This release contains only minor code improvements. 21 | -------------------------------------------------------------------------------- /examples/examples.pro: -------------------------------------------------------------------------------- 1 | requires(qtHaveModule(knx)) 2 | requires(qtHaveModule(network)) 3 | 4 | TEMPLATE = subdirs 5 | SUBDIRS += knx 6 | -------------------------------------------------------------------------------- /examples/knx/device/device.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = device 3 | INCLUDEPATH += . 4 | 5 | CONFIG += c++11 6 | QT += knx widgets network core 7 | 8 | FORMS += mainwindow.ui 9 | 10 | HEADERS += deviceitem.h \ 11 | mainwindow.h 12 | 13 | SOURCES += deviceitem.cpp \ 14 | main.cpp \ 15 | mainwindow.cpp 16 | 17 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/device 18 | INSTALLS += target 19 | -------------------------------------------------------------------------------- /examples/knx/device/deviceitem.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "deviceitem.h" 52 | 53 | DeviceItem::DeviceItem(const QKnxNetIpServerInfo &info) 54 | : QStandardItem(info.deviceName()) 55 | , m_serverInfo(info) 56 | {} 57 | 58 | DeviceItem *DeviceItem::clone() const 59 | { 60 | return new DeviceItem(m_serverInfo); 61 | } 62 | 63 | const QKnxNetIpServerInfo &DeviceItem::info() const 64 | { 65 | return m_serverInfo; 66 | } 67 | -------------------------------------------------------------------------------- /examples/knx/device/deviceitem.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #ifndef DEVICEITEM_H 52 | #define DEVICEITEM_H 53 | 54 | #include 55 | #include 56 | 57 | class DeviceItem : public QStandardItem 58 | { 59 | public: 60 | DeviceItem(const QKnxNetIpServerInfo &info); 61 | ~DeviceItem() = default; 62 | 63 | DeviceItem *clone() const override; 64 | const QKnxNetIpServerInfo &info() const; 65 | 66 | private: 67 | QKnxNetIpServerInfo m_serverInfo; 68 | }; 69 | 70 | #endif // DEVICEITEM_H 71 | -------------------------------------------------------------------------------- /examples/knx/device/main.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "mainwindow.h" 52 | 53 | #include 54 | 55 | int main(int argc, char *argv[]) 56 | { 57 | QApplication a(argc, argv); 58 | MainWindow w; 59 | w.show(); 60 | 61 | return a.exec(); 62 | } 63 | -------------------------------------------------------------------------------- /examples/knx/discoverer/discoverer.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = discoverer 3 | 4 | INCLUDEPATH += . 5 | QT = core knx network 6 | CONFIG += c++11 console 7 | 8 | SOURCES += main.cpp 9 | 10 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/discoverer 11 | INSTALLS += target 12 | -------------------------------------------------------------------------------- /examples/knx/doc/examples.qdoc: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the documentation of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:FDL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU Free Documentation License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU Free 19 | ** Documentation License version 1.3 as published by the Free Software 20 | ** Foundation and appearing in the file included in the packaging of 21 | ** this file. Please review the following information to ensure 22 | ** the GNU Free Documentation License version 1.3 requirements 23 | ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. 24 | ** $QT_END_LICENSE$ 25 | ** 26 | ****************************************************************************/ 27 | 28 | /*! 29 | \group qtknx-examples 30 | \title Qt KNX Examples 31 | \brief List of Qt KNX examples 32 | 33 | The Qt KNX examples demonstrate the functionality provided by the 34 | \l{Qt KNX} module. 35 | */ 36 | -------------------------------------------------------------------------------- /examples/knx/doc/images/device.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/examples/knx/doc/images/device.png -------------------------------------------------------------------------------- /examples/knx/doc/images/editor-devman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/examples/knx/doc/images/editor-devman.jpg -------------------------------------------------------------------------------- /examples/knx/doc/images/editor-main.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/examples/knx/doc/images/editor-main.png -------------------------------------------------------------------------------- /examples/knx/doc/images/features.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/examples/knx/doc/images/features.png -------------------------------------------------------------------------------- /examples/knx/doc/images/group.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/examples/knx/doc/images/group.png -------------------------------------------------------------------------------- /examples/knx/doc/images/tunnel-tab.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/examples/knx/doc/images/tunnel-tab.jpg -------------------------------------------------------------------------------- /examples/knx/feature/deviceitem.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "deviceitem.h" 52 | 53 | DeviceItem::DeviceItem(const QKnxNetIpServerInfo &info) 54 | : QStandardItem(info.deviceName()) 55 | , m_serverInfo(info) 56 | {} 57 | 58 | DeviceItem *DeviceItem::clone() const 59 | { 60 | return new DeviceItem(m_serverInfo); 61 | } 62 | 63 | const QKnxNetIpServerInfo &DeviceItem::info() const 64 | { 65 | return m_serverInfo; 66 | } 67 | -------------------------------------------------------------------------------- /examples/knx/feature/deviceitem.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #ifndef DEVICEITEM_H 52 | #define DEVICEITEM_H 53 | 54 | #include 55 | #include 56 | 57 | class DeviceItem : public QStandardItem 58 | { 59 | public: 60 | DeviceItem(const QKnxNetIpServerInfo &info); 61 | ~DeviceItem() = default; 62 | 63 | DeviceItem *clone() const override; 64 | const QKnxNetIpServerInfo &info() const; 65 | 66 | private: 67 | QKnxNetIpServerInfo m_serverInfo; 68 | }; 69 | 70 | #endif // DEVICEITEM_H 71 | -------------------------------------------------------------------------------- /examples/knx/feature/feature.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = feature 3 | INCLUDEPATH += . 4 | 5 | CONFIG += c++11 6 | QT += knx widgets network core 7 | 8 | FORMS += mainwindow.ui 9 | 10 | HEADERS += deviceitem.h \ 11 | mainwindow.h 12 | 13 | SOURCES += deviceitem.cpp \ 14 | main.cpp \ 15 | mainwindow.cpp 16 | 17 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/feature 18 | INSTALLS += target 19 | -------------------------------------------------------------------------------- /examples/knx/feature/main.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "mainwindow.h" 52 | 53 | #include 54 | 55 | int main(int argc, char *argv[]) 56 | { 57 | QApplication a(argc, argv); 58 | MainWindow w; 59 | w.show(); 60 | 61 | return a.exec(); 62 | } 63 | -------------------------------------------------------------------------------- /examples/knx/group/deviceitem.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "deviceitem.h" 52 | 53 | DeviceItem::DeviceItem(const QKnxNetIpServerInfo &info) 54 | : QStandardItem(info.deviceName()) 55 | , m_serverInfo(info) 56 | {} 57 | 58 | DeviceItem *DeviceItem::clone() const 59 | { 60 | return new DeviceItem(m_serverInfo); 61 | } 62 | 63 | const QKnxNetIpServerInfo &DeviceItem::info() const 64 | { 65 | return m_serverInfo; 66 | } 67 | -------------------------------------------------------------------------------- /examples/knx/group/deviceitem.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #ifndef DEVICEITEM_H 52 | #define DEVICEITEM_H 53 | 54 | #include 55 | #include 56 | 57 | class DeviceItem : public QStandardItem 58 | { 59 | public: 60 | DeviceItem(const QKnxNetIpServerInfo &info); 61 | ~DeviceItem() = default; 62 | 63 | DeviceItem *clone() const override; 64 | const QKnxNetIpServerInfo &info() const; 65 | 66 | private: 67 | QKnxNetIpServerInfo m_serverInfo; 68 | }; 69 | 70 | #endif // DEVICEITEM_H 71 | -------------------------------------------------------------------------------- /examples/knx/group/group.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = group 3 | INCLUDEPATH += . 4 | 5 | CONFIG += c++11 6 | QT += knx widgets network core 7 | 8 | FORMS += mainwindow.ui 9 | 10 | HEADERS += deviceitem.h \ 11 | groupaddressvalidater.h \ 12 | mainwindow.h 13 | 14 | SOURCES += deviceitem.cpp \ 15 | groupaddressvalidater.cpp \ 16 | main.cpp \ 17 | mainwindow.cpp 18 | 19 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/group 20 | INSTALLS += target 21 | -------------------------------------------------------------------------------- /examples/knx/group/main.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "mainwindow.h" 52 | 53 | #include 54 | 55 | int main(int argc, char *argv[]) 56 | { 57 | QApplication a(argc, argv); 58 | MainWindow w; 59 | w.show(); 60 | 61 | return a.exec(); 62 | } 63 | -------------------------------------------------------------------------------- /examples/knx/knx.pro: -------------------------------------------------------------------------------- 1 | requires(qtHaveModule(network)) 2 | 3 | TEMPLATE = subdirs 4 | 5 | SUBDIRS += discoverer knxproj tunnelclient router 6 | 7 | qtHaveModule(widgets) { 8 | SUBDIRS += knxeditor group device feature 9 | } 10 | -------------------------------------------------------------------------------- /examples/knx/knxeditor/knxeditor.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | CONFIG += c++11 3 | INCLUDEPATH += . 4 | TARGET = knxeditor 5 | QT += knx widgets network core 6 | 7 | FORMS += mainwindow.ui \ 8 | localdevicemanagement.ui \ 9 | tunneling.ui \ 10 | tunnelingfeatures.ui 11 | 12 | SOURCES += main.cpp \ 13 | mainwindow.cpp \ 14 | localdevicemanagement.cpp \ 15 | tunneling.cpp \ 16 | tunnelingfeatures.cpp 17 | 18 | HEADERS += mainwindow.h \ 19 | localdevicemanagement.h \ 20 | tunneling.h \ 21 | tunnelingfeatures.h 22 | 23 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/knxeditor 24 | INSTALLS += target 25 | -------------------------------------------------------------------------------- /examples/knx/knxeditor/main.cpp: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:BSD$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** BSD License Usage 18 | ** Alternatively, you may use this file under the terms of the BSD license 19 | ** as follows: 20 | ** 21 | ** "Redistribution and use in source and binary forms, with or without 22 | ** modification, are permitted provided that the following conditions are 23 | ** met: 24 | ** * Redistributions of source code must retain the above copyright 25 | ** notice, this list of conditions and the following disclaimer. 26 | ** * Redistributions in binary form must reproduce the above copyright 27 | ** notice, this list of conditions and the following disclaimer in 28 | ** the documentation and/or other materials provided with the 29 | ** distribution. 30 | ** * Neither the name of The Qt Company Ltd nor the names of its 31 | ** contributors may be used to endorse or promote products derived 32 | ** from this software without specific prior written permission. 33 | ** 34 | ** 35 | ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 36 | ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 37 | ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 38 | ** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 39 | ** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 40 | ** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 41 | ** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 42 | ** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 43 | ** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 44 | ** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 45 | ** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 46 | ** 47 | ** $QT_END_LICENSE$ 48 | ** 49 | ******************************************************************************/ 50 | 51 | #include "mainwindow.h" 52 | #include 53 | 54 | int main(int argc, char *argv[]) 55 | { 56 | QApplication a(argc, argv); 57 | MainWindow w; 58 | w.show(); 59 | 60 | return a.exec(); 61 | } 62 | -------------------------------------------------------------------------------- /examples/knx/knxeditor/tunnelingfeatures.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef TUNNELINGFEATURES_H 31 | #define TUNNELINGFEATURES_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | namespace Ui { 40 | class TunnelingFeatures; 41 | } 42 | QT_END_NAMESPACE 43 | 44 | class TunnelingFeatures : public QWidget 45 | { 46 | Q_OBJECT 47 | 48 | public: 49 | explicit TunnelingFeatures(QWidget *parent = nullptr); 50 | ~TunnelingFeatures(); 51 | 52 | void setNatAware(bool isNatAware); 53 | void setLocalAddress(const QHostAddress &address); 54 | void setKnxNetIpServer(const QKnxNetIpServerInfo &server); 55 | void setTcpEnable(bool value); 56 | void onKeyringChanged(const QList &configs); 57 | 58 | private: 59 | void checkFeatureValue(); 60 | void updateSecureConfigCombo(); 61 | 62 | private: 63 | Ui::TunnelingFeatures *ui { nullptr }; 64 | 65 | QKnxNetIpServerInfo m_server; 66 | QKnxNetIpTunnel m_tunnel; 67 | 68 | QKnxNetIp::HostProtocol m_protocol = { QKnxNetIp::HostProtocol::UDP_IPv4 }; 69 | QList m_configs; 70 | }; 71 | 72 | #endif // TUNNELINGFEATURES_H 73 | -------------------------------------------------------------------------------- /examples/knx/knxproj/knxproj.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = knxproj 3 | CONFIG += c++11 console 4 | 5 | QT = core knx network 6 | INCLUDEPATH += . 7 | 8 | SOURCES += main.cpp 9 | 10 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/knxproj 11 | INSTALLS += target 12 | -------------------------------------------------------------------------------- /examples/knx/router/router.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = router 3 | 4 | INCLUDEPATH += . 5 | QT = core knx network 6 | CONFIG += c++11 console 7 | 8 | SOURCES += main.cpp 9 | 10 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/router 11 | INSTALLS += target 12 | -------------------------------------------------------------------------------- /examples/knx/tunnelclient/tunnelclient.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = app 2 | TARGET = tunnelclient 3 | 4 | INCLUDEPATH += . 5 | QT = core knx network 6 | CONFIG += c++11 console 7 | 8 | SOURCES += main.cpp 9 | 10 | target.path = $$[QT_INSTALL_EXAMPLES]/knx/tunnelclient 11 | INSTALLS += target 12 | -------------------------------------------------------------------------------- /qtknx.pro: -------------------------------------------------------------------------------- 1 | lessThan(QT_MAJOR_VERSION, 5) { 2 | error("Cannot build current Qt KNX sources with Qt version $${QT_VERSION}.") 3 | } 4 | requires(!wasm) 5 | requires(!integrity) 6 | 7 | load(configure) 8 | load(qt_parts) 9 | -------------------------------------------------------------------------------- /src/knx/QtKnx_pch.h: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtWebEngine module of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:LGPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU Lesser General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU Lesser 19 | ** General Public License version 3 as published by the Free Software 20 | ** Foundation and appearing in the file LICENSE.LGPL3 included in the 21 | ** packaging of this file. Please review the following information to 22 | ** ensure the GNU Lesser General Public License version 3 requirements 23 | ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html. 24 | ** 25 | ** GNU General Public License Usage 26 | ** Alternatively, this file may be used under the terms of the GNU 27 | ** General Public License version 2.0 or (at your option) the GNU General 28 | ** Public license version 3 or any later version approved by the KDE Free 29 | ** Qt Foundation. The licenses are as published by the Free Software 30 | ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3 31 | ** included in the packaging of this file. Please review the following 32 | ** information to ensure the GNU General Public License requirements will 33 | ** be met: https://www.gnu.org/licenses/gpl-2.0.html and 34 | ** https://www.gnu.org/licenses/gpl-3.0.html. 35 | ** 36 | ** $QT_END_LICENSE$ 37 | ** 38 | ****************************************************************************/ 39 | 40 | // Module header file used for documentation builds only. 41 | #ifdef Q_CLANG_QDOC 42 | #include 43 | #endif // Q_CLANG_QDOC 44 | -------------------------------------------------------------------------------- /src/knx/core/core.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | 3 | SOURCES += \ 4 | $$PWD/qknxbytearray.cpp 5 | 6 | HEADERS += \ 7 | $$PWD/qknxbytearray.h 8 | -------------------------------------------------------------------------------- /src/knx/doc/images/qtknx-datapoint-type-classes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/src/knx/doc/images/qtknx-datapoint-type-classes.png -------------------------------------------------------------------------------- /src/knx/doc/images/qtknx-device-management-classes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/src/knx/doc/images/qtknx-device-management-classes.png -------------------------------------------------------------------------------- /src/knx/doc/images/qtknx-netip-connection-classes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/src/knx/doc/images/qtknx-netip-connection-classes.png -------------------------------------------------------------------------------- /src/knx/doc/images/qtknx-tunneling-classes.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/src/knx/doc/images/qtknx-tunneling-classes.png -------------------------------------------------------------------------------- /src/knx/doc/qtknx.qdocconf: -------------------------------------------------------------------------------- 1 | include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf) 2 | 3 | project = QtKnx 4 | description = Qt KNX Reference Documentation 5 | version = $QT_VERSION 6 | 7 | examplesinstallpath = knx 8 | 9 | qhp.projects = QtKnx 10 | 11 | qhp.QtKnx.file = qtknx.qhp 12 | qhp.QtKnx.namespace = org.qt-project.qtknx.$QT_VERSION_TAG 13 | qhp.QtKnx.virtualFolder = qtknx 14 | qhp.QtKnx.indexTitle = Qt KNX 15 | qhp.QtKnx.indexRoot = 16 | 17 | qhp.QtKnx.filterAttributes = qtknx $QT_VERSION qtrefdoc 18 | qhp.QtKnx.customFilters.Qt.name = QtKnx $QT_VERSION 19 | qhp.QtKnx.customFilters.Qt.filterAttributes = qtknx $QT_VERSION 20 | 21 | qhp.QtKnx.subprojects = classes examples 22 | 23 | qhp.QtKnx.subprojects.classes.title = C++ Classes 24 | qhp.QtKnx.subprojects.classes.indexTitle = Qt KNX C++ Classes 25 | qhp.QtKnx.subprojects.classes.selectors = class fake:headerfile 26 | qhp.QtKnx.subprojects.classes.sortPages = true 27 | 28 | qhp.QtMqtt.subprojects.examples.title = Examples 29 | qhp.QtMqtt.subprojects.examples.indexTitle = Qt KNX Examples 30 | qhp.QtMqtt.subprojects.examples.selectors = fake:example 31 | qhp.QtMqtt.subprojects.examples.sortPages = true 32 | 33 | headerdirs += .. 34 | sourcedirs += .. 35 | exampledirs = ../../../examples/knx 36 | imagedirs += images 37 | excludedirs += ../qt4support 38 | moduleheader = QtKnx 39 | 40 | Cpp.ignoretokens += Q_KNX_EXPORT 41 | 42 | depends += qtcore qtdoc qtgui qtnetwork qmake qtwidgets 43 | 44 | # Custom module header for Clang doc builds 45 | moduleheader = QtKnx_pch.h 46 | 47 | #add generic thumbnail images for example documentation that does not have an image. 48 | manifestmeta.thumbnail.names += "QtKnx/Discoverer*" \ 49 | "QtKnx/Tunnel Client*" 50 | 51 | navigation.landingpage = "Qt KNX" 52 | navigation.cppclassespage = "Qt KNX C++ Classes" 53 | navigation.homepage = Qt for Automation 54 | -------------------------------------------------------------------------------- /src/knx/doc/src/external-resources.qdoc: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the documentation of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:FDL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU Free Documentation License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU Free 19 | ** Documentation License version 1.3 as published by the Free Software 20 | ** Foundation and appearing in the file included in the packaging of 21 | ** this file. Please review the following information to ensure 22 | ** the GNU Free Documentation License version 1.3 requirements 23 | ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. 24 | ** $QT_END_LICENSE$ 25 | ** 26 | ****************************************************************************/ 27 | 28 | /*! 29 | \externalpage http://www.knx.org 30 | \title KNX 31 | */ 32 | 33 | /*! 34 | \externalpage http://www.ietf.org/rfc/rfc3629.txt 35 | \title UTF-8 36 | */ 37 | -------------------------------------------------------------------------------- /src/knx/doc/src/module.qdoc: -------------------------------------------------------------------------------- 1 | /**************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the documentation of the Qt Toolkit. 7 | ** 8 | ** $QT_BEGIN_LICENSE:FDL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU Free Documentation License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU Free 19 | ** Documentation License version 1.3 as published by the Free Software 20 | ** Foundation and appearing in the file included in the packaging of 21 | ** this file. Please review the following information to ensure 22 | ** the GNU Free Documentation License version 1.3 requirements 23 | ** will be met: https://www.gnu.org/licenses/fdl-1.3.html. 24 | ** $QT_END_LICENSE$ 25 | ** 26 | ****************************************************************************/ 27 | 28 | /*! 29 | \module QtKnx 30 | \title Qt KNX C++ Classes 31 | \ingroup modules 32 | \qtvariable knx 33 | \brief List of C++ classes that enable access to a KNX network. 34 | 35 | \note The Qt KNX module is currently available as a Technology Preview and 36 | therefore the API and functionality provided by the module may be subject 37 | to change at any time without prior notice. 38 | 39 | To use these classes in your application, use the following include 40 | statement: 41 | 42 | \code 43 | #include 44 | \endcode 45 | 46 | To link against the module, add this line to your \l qmake \c .pro file: 47 | 48 | \code 49 | QT += knx 50 | \endcode 51 | */ 52 | 53 | /*! 54 | \page qtknx-general-classes.html 55 | \title Qt KNX General Classes 56 | \brief C++ classes that are used throughout the Qt KNX module. 57 | 58 | This topic lists C++ classes that are used throughout the Qt KNX module. 59 | 60 | \section1 List of General Classes 61 | 62 | \annotatedlist qtknx-general-classes 63 | */ 64 | -------------------------------------------------------------------------------- /src/knx/doc/style/style.css: -------------------------------------------------------------------------------- 1 | a:link, a:visited { 2 | color: #00732F; 3 | text-decoration: none; 4 | font-weight: bold; 5 | } 6 | 7 | body { 8 | font: normal 400 14px/1.2 Arial; 9 | margin-top: 85px; 10 | } 11 | 12 | h1 { 13 | margin: 0; 14 | } 15 | 16 | h2 { 17 | font: 500 20px/1.2 Arial; 18 | } 19 | 20 | h3.fn, span.fn { 21 | -moz-border-radius: 7px 7px 7px 7px; 22 | -webkit-border-radius: 7px 7px 7px 7px; 23 | border-radius: 7px 7px 7px 7px; 24 | background-color: #F6F6F6; 25 | border-width: 1px; 26 | border-style: solid; 27 | border-color: #E6E6E6; 28 | word-spacing: 3px; 29 | padding: 3px 5px; 30 | } 31 | 32 | table, pre { 33 | -moz-border-radius: 7px 7px 7px 7px; 34 | -webkit-border-radius: 7px 7px 7px 7px; 35 | border-radius: 7px 7px 7px 7px; 36 | background-color: #F6F6F6; 37 | border: 1px solid #E6E6E6; 38 | border-collapse: separate; 39 | font-size: 12px; 40 | line-height: 1.2; 41 | margin-bottom: 25px; 42 | margin-left: 15px; 43 | } 44 | 45 | table td { 46 | padding: 3px 15px 3px 20px; 47 | } 48 | 49 | table tr.even { 50 | background-color: white; 51 | color: #66666E; 52 | } 53 | 54 | table tr.odd { 55 | background-color: #F6F6F6; 56 | color: #66666E; 57 | } 58 | 59 | li { 60 | margin-bottom: 10px; 61 | padding-left: 12px; 62 | } 63 | 64 | .cpp { 65 | display: block; 66 | margin: 10; 67 | overflow: hidden; 68 | overflow-x: hidden; 69 | overflow-y: hidden; 70 | padding: 20px 0 20px 0; 71 | } 72 | 73 | .footer { 74 | margin-top: 50px; 75 | } 76 | 77 | .memItemLeft { 78 | padding-right: 3px; 79 | } 80 | 81 | .memItemRight { 82 | padding: 3px 15px 3px 0; 83 | } 84 | 85 | .qml { 86 | display: block; 87 | margin: 10; 88 | overflow: hidden; 89 | overflow-x: hidden; 90 | overflow-y: hidden; 91 | padding: 20px 0 20px 0; 92 | } 93 | 94 | .qmldefault { 95 | padding-left: 5px; 96 | float: right; 97 | color: red; 98 | } 99 | 100 | .qmlreadonly { 101 | padding-left: 5px; 102 | float: right; 103 | color: #254117; 104 | } 105 | 106 | .rightAlign { 107 | padding: 3px 5px 3px 10px; 108 | text-align: right; 109 | } 110 | 111 | .title { 112 | background-color: white; 113 | color: #44A51C; 114 | font-family: Verdana; 115 | font-size: 35px; 116 | font-weight: normal; 117 | left: 0; 118 | padding-bottom: 5px; 119 | padding-left: 16px; 120 | padding-top: 20px; 121 | position: absolute; 122 | right: 0; 123 | top: 0; 124 | } 125 | 126 | .toc { 127 | float: right; 128 | -moz-border-radius: 7px 7px 7px 7px; 129 | -webkit-border-radius: 7px 7px 7px 7px; 130 | border-radius: 7px 7px 7px 7px; 131 | background-color: #F6F6F6; 132 | border: 1px solid #DDD; 133 | margin: 0 20px 10px 10px; 134 | padding: 20px 15px 20px 20px; 135 | height: auto; 136 | width: 200px; 137 | } 138 | -------------------------------------------------------------------------------- /src/knx/dpt/dpt.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | 3 | PUBLIC_HEADERS += $$PWD/qknx1bit.h \ 4 | $$PWD/qknx1bitcontrolled.h \ 5 | $$PWD/qknx1byte.h \ 6 | $$PWD/qknx2bitset.h \ 7 | $$PWD/qknx2bytefloat.h \ 8 | $$PWD/qknx2bytesignedvalue.h \ 9 | $$PWD/qknx2byteunsignedvalue.h \ 10 | $$PWD/qknx32bitset.h \ 11 | $$PWD/qknx3bitcontrolled.h \ 12 | $$PWD/qknx4bytefloat.h \ 13 | $$PWD/qknx4bytesignedvalue.h \ 14 | $$PWD/qknx4byteunsignedvalue.h \ 15 | $$PWD/qknx8bitset.h \ 16 | $$PWD/qknx8bitsignedvalue.h \ 17 | $$PWD/qknx8bitunsignedvalue.h \ 18 | $$PWD/qknxchar.h \ 19 | $$PWD/qknxcharstring.h \ 20 | $$PWD/qknxdatapointtype.h \ 21 | $$PWD/qknxdatapointtypefactory.h \ 22 | $$PWD/qknxdatetime.h \ 23 | $$PWD/qknxelectricalenergy.h \ 24 | $$PWD/qknxentranceaccess.h \ 25 | $$PWD/qknxscene.h \ 26 | $$PWD/qknxstatusmode3.h \ 27 | $$PWD/qknxtime.h \ 28 | $$PWD/qknxutf8string.h \ 29 | $$PWD/qknxvarstring.h 30 | 31 | PRIVATE_HEADERS += $$PWD/qknxdatapointtype_p.h 32 | 33 | SOURCES += $$PWD/qknx1bit.cpp \ 34 | $$PWD/qknx1bitcontrolled.cpp \ 35 | $$PWD/qknx1byte.cpp \ 36 | $$PWD/qknx2bitset.cpp \ 37 | $$PWD/qknx2bytefloat.cpp \ 38 | $$PWD/qknx2bytesignedvalue.cpp \ 39 | $$PWD/qknx2byteunsignedvalue.cpp \ 40 | $$PWD/qknx32bitset.cpp \ 41 | $$PWD/qknx3bitcontrolled.cpp \ 42 | $$PWD/qknx4bytefloat.cpp \ 43 | $$PWD/qknx4bytesignedvalue.cpp \ 44 | $$PWD/qknx4byteunsignedvalue.cpp \ 45 | $$PWD/qknx8bitset.cpp \ 46 | $$PWD/qknx8bitsignedvalue.cpp \ 47 | $$PWD/qknx8bitunsignedvalue.cpp \ 48 | $$PWD/qknxchar.cpp \ 49 | $$PWD/qknxcharstring.cpp \ 50 | $$PWD/qknxdatapointtype.cpp \ 51 | $$PWD/qknxdatapointtypefactory.cpp \ 52 | $$PWD/qknxdatetime.cpp \ 53 | $$PWD/qknxelectricalenergy.cpp \ 54 | $$PWD/qknxentranceaccess.cpp \ 55 | $$PWD/qknxscene.cpp \ 56 | $$PWD/qknxstatusmode3.cpp \ 57 | $$PWD/qknxtime.cpp \ 58 | $$PWD/qknxutf8string.cpp \ 59 | $$PWD/qknxvarstring.cpp 60 | -------------------------------------------------------------------------------- /src/knx/dpt/qknx2bytesignedvalue.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX2BYTESIGNEDVALUE_H 31 | #define QKNX2BYTESIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnx2ByteSignedValue : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnx2ByteSignedValue(); 42 | explicit QKnx2ByteSignedValue(double value); 43 | 44 | static const constexpr int TypeSize = 0x02; 45 | static const constexpr int MainType = 0x08; 46 | 47 | double value() const; 48 | bool setValue(double value); 49 | 50 | bool isValid() const override; 51 | 52 | protected: 53 | QKnx2ByteSignedValue(int subType, double value); 54 | }; 55 | 56 | #define CREATE_CLASS_DECLARATION(CLASS, SUB_TYPE) \ 57 | class Q_KNX_EXPORT CLASS : public QKnx2ByteSignedValue \ 58 | { \ 59 | public: \ 60 | CLASS(); \ 61 | explicit CLASS(double value); \ 62 | static const constexpr int SubType = SUB_TYPE; \ 63 | }; 64 | 65 | CREATE_CLASS_DECLARATION(QKnxValue2Count, 0x01) 66 | CREATE_CLASS_DECLARATION(QKnxPercentV16, 0x0a) 67 | CREATE_CLASS_DECLARATION(QKnxDeltaTimeMsec, 0x02) 68 | CREATE_CLASS_DECLARATION(QKnxDeltaTime10Msec, 0x03) 69 | CREATE_CLASS_DECLARATION(QKnxDeltaTime100Msec, 0x04) 70 | CREATE_CLASS_DECLARATION(QKnxDeltaTimeSec, 0x05) 71 | CREATE_CLASS_DECLARATION(QKnxDeltaTimeMin, 0x06) 72 | CREATE_CLASS_DECLARATION(QKnxDeltaTimeHrs, 0x07) 73 | CREATE_CLASS_DECLARATION(QKnxRotationAngle, 0x0b) 74 | 75 | #undef CREATE_CLASS_DECLARATION 76 | 77 | QT_END_NAMESPACE 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /src/knx/dpt/qknx2byteunsignedvalue.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX2BYTEUNSIGNEDVALUE_H 31 | #define QKNX2BYTEUNSIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnx2ByteUnsignedValue : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnx2ByteUnsignedValue(); 42 | explicit QKnx2ByteUnsignedValue(quint32 value); 43 | 44 | static const constexpr int TypeSize = 0x02; 45 | static const constexpr int MainType = 0x07; 46 | 47 | quint32 value() const; 48 | bool setValue(quint32 value); 49 | 50 | bool isValid() const override; 51 | 52 | protected: 53 | QKnx2ByteUnsignedValue(int subType, quint32 value); 54 | }; 55 | 56 | 57 | #define CREATE_CLASS_DECLARATION(CLASS, SUB_TYPE) \ 58 | class Q_KNX_EXPORT CLASS : public QKnx2ByteUnsignedValue \ 59 | { \ 60 | public: \ 61 | CLASS(); \ 62 | explicit CLASS(quint32 value); \ 63 | static const constexpr int SubType = SUB_TYPE; \ 64 | }; 65 | 66 | CREATE_CLASS_DECLARATION(QKnxValue2Ucount, 0x01) 67 | CREATE_CLASS_DECLARATION(QKnxPropDataType, 0x0a) 68 | CREATE_CLASS_DECLARATION(QKnxTimePeriodMsec, 0x02) 69 | CREATE_CLASS_DECLARATION(QKnxTimePeriod10Msec, 0x03) 70 | CREATE_CLASS_DECLARATION(QKnxTimePeriod100Msec, 0x04) 71 | CREATE_CLASS_DECLARATION(QKnxTimePeriodSec, 0x05) 72 | CREATE_CLASS_DECLARATION(QKnxTimePeriodMin, 0x06) 73 | CREATE_CLASS_DECLARATION(QKnxTimePeriodHrs, 0x07) 74 | CREATE_CLASS_DECLARATION(QKnxLengthMilliMeter, 0x0b) 75 | CREATE_CLASS_DECLARATION(QKnxUEICurrentMilliA, 0x0c) 76 | CREATE_CLASS_DECLARATION(QKnxBrightness, 0x0d) 77 | 78 | #undef CREATE_CLASS_DECLARATION 79 | 80 | QT_END_NAMESPACE 81 | 82 | #endif 83 | -------------------------------------------------------------------------------- /src/knx/dpt/qknx4bytesignedvalue.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX4BYTESIGNEDVALUE_H 31 | #define QKNX4BYTESIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnx4ByteSignedValue : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | 42 | QKnx4ByteSignedValue(); 43 | explicit QKnx4ByteSignedValue(qint32 value); 44 | 45 | static const constexpr int TypeSize = 0x04; 46 | static const constexpr int MainType = 0x0d; 47 | 48 | qint32 value() const; 49 | bool setValue(qint32 value); 50 | 51 | bool isValid() const override; 52 | 53 | protected: 54 | QKnx4ByteSignedValue(int subType, qint32 value); 55 | }; 56 | 57 | #define CREATE_CLASS_DECLARATION(CLASS, SUB_TYPE) \ 58 | class Q_KNX_EXPORT CLASS : public QKnx4ByteSignedValue \ 59 | { \ 60 | public: \ 61 | CLASS(); \ 62 | explicit CLASS(qint32 value); \ 63 | static const constexpr int SubType = SUB_TYPE; \ 64 | }; 65 | 66 | CREATE_CLASS_DECLARATION(QKnxValue4Count, 0x01) 67 | CREATE_CLASS_DECLARATION(QKnxFlowRateCubicMeterPerHour, 0x02) 68 | CREATE_CLASS_DECLARATION(QKnxActiveEnergy, 0x0a) 69 | CREATE_CLASS_DECLARATION(QKnxApparentEnergy, 0x0b) 70 | CREATE_CLASS_DECLARATION(QKnxReactiveEnergy, 0x0c) 71 | CREATE_CLASS_DECLARATION(QKnxActiveEnergykWh, 0x0d) 72 | CREATE_CLASS_DECLARATION(QKnxApparentEnergykVAh, 0x0e) 73 | CREATE_CLASS_DECLARATION(QKnxReactiveEnergykVARh, 0x0f) 74 | CREATE_CLASS_DECLARATION(QKnxLongDeltaTimeSec, 0x64) 75 | 76 | #undef CREATE_CLASS_DECLARATION 77 | 78 | QT_END_NAMESPACE 79 | 80 | #endif 81 | -------------------------------------------------------------------------------- /src/knx/dpt/qknx4byteunsignedvalue.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX4BYTEUNSIGNEDVALUE_H 31 | #define QKNX4BYTEUNSIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnx4ByteUnsignedValue : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | 42 | QKnx4ByteUnsignedValue(); 43 | explicit QKnx4ByteUnsignedValue(quint32 value); 44 | 45 | static const constexpr int TypeSize = 0x04; 46 | static const constexpr int MainType = 0x0c; 47 | 48 | quint32 value() const; 49 | bool setValue(quint32 value); 50 | 51 | bool isValid() const override; 52 | 53 | protected: 54 | QKnx4ByteUnsignedValue(int subType, quint32 value); 55 | }; 56 | 57 | class Q_KNX_EXPORT QKnxValue4UCount : public QKnx4ByteUnsignedValue 58 | { 59 | public : 60 | QKnxValue4UCount(); 61 | explicit QKnxValue4UCount(quint32 value); 62 | static const constexpr int SubType = 0x01; 63 | }; 64 | 65 | QT_END_NAMESPACE 66 | 67 | #endif 68 | -------------------------------------------------------------------------------- /src/knx/dpt/qknx8bitsignedvalue.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX8BITSIGNEDVALUE_H 31 | #define QKNX8BITSIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnx8BitSignedValue : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnx8BitSignedValue(); 42 | explicit QKnx8BitSignedValue(qint8 value); 43 | 44 | static const constexpr int TypeSize = 0x01; 45 | static const constexpr int MainType = 0x06; 46 | 47 | qint8 value() const; 48 | void setValue(qint8 value); 49 | 50 | protected: 51 | QKnx8BitSignedValue(int subType, qint8 value); 52 | }; 53 | 54 | #define CREATE_CLASS_DECLARATION(CLASS, SUB_TYPE) \ 55 | class Q_KNX_EXPORT CLASS : public QKnx8BitSignedValue \ 56 | { \ 57 | public: \ 58 | CLASS(); \ 59 | explicit CLASS(qint8 value); \ 60 | static const constexpr int SubType = SUB_TYPE; \ 61 | }; 62 | 63 | CREATE_CLASS_DECLARATION(QKnxPercentV8, 0x01) 64 | CREATE_CLASS_DECLARATION(QKnxValue1Count, 0x0a) 65 | 66 | #undef CREATE_CLASS_DECLARATION 67 | 68 | QT_END_NAMESPACE 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /src/knx/dpt/qknx8bitunsignedvalue.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX8BITUNSIGNEDVALUE_H 31 | #define QKNX8BITUNSIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnx8BitUnsignedValue : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnx8BitUnsignedValue(); 42 | explicit QKnx8BitUnsignedValue(double value); 43 | 44 | static const constexpr int TypeSize = 0x01; 45 | static const constexpr int MainType = 0x05; 46 | 47 | double value() const; 48 | bool setValue(double value); 49 | 50 | protected: 51 | QKnx8BitUnsignedValue(int subType, double value); 52 | }; 53 | 54 | class Q_KNX_EXPORT QKnxTariff : public QKnx8BitUnsignedValue 55 | { 56 | public: 57 | QKnxTariff(); 58 | explicit QKnxTariff(double value); 59 | static const constexpr int SubType = 0x06; 60 | 61 | bool isValid() const override; 62 | }; 63 | 64 | #define CREATE_CLASS_DECLARATION(CLASS, SUB_TYPE) \ 65 | class Q_KNX_EXPORT CLASS : public QKnx8BitUnsignedValue \ 66 | { \ 67 | public: \ 68 | CLASS(); \ 69 | explicit CLASS(double value); \ 70 | static const constexpr int SubType = SUB_TYPE; \ 71 | }; 72 | 73 | CREATE_CLASS_DECLARATION(QKnxScaling, 0x01) 74 | CREATE_CLASS_DECLARATION(QKnxAngle, 0x03) 75 | CREATE_CLASS_DECLARATION(QKnxPercentU8, 0x04) 76 | CREATE_CLASS_DECLARATION(QKnxDecimalFactor, 0x05) 77 | CREATE_CLASS_DECLARATION(QKnxValue1Ucount, 0x0a) 78 | 79 | #undef CREATE_CLASS_DECLARATION 80 | 81 | QT_END_NAMESPACE 82 | 83 | #endif 84 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxchar.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXCHAR_H 31 | #define QKNXCHAR_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxChar : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnxChar(); 42 | explicit QKnxChar(unsigned char value); 43 | 44 | static const constexpr int TypeSize = 0x01; 45 | static const constexpr int MainType = 0x04; 46 | 47 | unsigned char value() const; 48 | bool setValue(unsigned char value); 49 | 50 | bool isValid() const override; 51 | 52 | protected: 53 | QKnxChar(int subType, unsigned char value); 54 | }; 55 | 56 | class Q_KNX_EXPORT QKnxCharASCII : public QKnxChar 57 | { 58 | public: 59 | QKnxCharASCII(); 60 | explicit QKnxCharASCII(char value); 61 | 62 | static const constexpr int SubType = 0x01; 63 | 64 | char character() const; 65 | bool setCharacter(char value); 66 | }; 67 | 68 | class Q_KNX_EXPORT QKnxChar88591 : public QKnxChar 69 | { 70 | public: 71 | QKnxChar88591(); 72 | explicit QKnxChar88591(unsigned char character); 73 | 74 | static const constexpr int SubType = 0x02; 75 | 76 | unsigned char character() const; 77 | bool setCharacter(unsigned char value); 78 | }; 79 | 80 | QT_END_NAMESPACE 81 | 82 | #endif 83 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxcharstring.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXCHARSTRING_H 31 | #define QKNXCHARSTRING_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxCharString : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnxCharString(); 42 | explicit QKnxCharString(QLatin1String string); 43 | explicit QKnxCharString(const char *string, int size = -1); 44 | 45 | static const constexpr int TypeSize = 0x0e; 46 | static const constexpr int MainType = 0x10; 47 | 48 | QLatin1String string() const; 49 | bool setString(QLatin1String string); 50 | bool setString(const char *string, int size = -1); 51 | 52 | bool isValid() const override; 53 | 54 | protected: 55 | QKnxCharString(int subType, const char* string, int size); 56 | }; 57 | 58 | class Q_KNX_EXPORT QKnxCharStringASCII : public QKnxCharString 59 | { 60 | public: 61 | QKnxCharStringASCII(); 62 | explicit QKnxCharStringASCII(QLatin1String string); 63 | explicit QKnxCharStringASCII(const char *string, int size = -1); 64 | }; 65 | 66 | class Q_KNX_EXPORT QKnxCharString88591 : public QKnxCharString 67 | { 68 | public: 69 | QKnxCharString88591(); 70 | explicit QKnxCharString88591(QLatin1String string); 71 | explicit QKnxCharString88591(const char *string, int size = -1); 72 | 73 | static const constexpr int SubType = 0x01; 74 | }; 75 | 76 | QT_END_NAMESPACE 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxelectricalenergy.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNX8BYTESIGNEDVALUE_H 31 | #define QKNX8BYTESIGNEDVALUE_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxElectricalEnergy : public QKnxFixedSizeDatapointType 39 | { 40 | public: 41 | QKnxElectricalEnergy(); 42 | explicit QKnxElectricalEnergy(qint64 value); 43 | 44 | static const constexpr int TypeSize = 0x08; 45 | static const constexpr int MainType = 0x1d; 46 | 47 | qint64 value() const; 48 | bool setValue(qint64 value); 49 | 50 | bool isValid() const override; 51 | 52 | protected: 53 | QKnxElectricalEnergy(int subType, qint64 value); 54 | }; 55 | 56 | #define CREATE_CLASS_DECLARATION(CLASS, SUB_TYPE) \ 57 | class Q_KNX_EXPORT CLASS : public QKnxElectricalEnergy \ 58 | { \ 59 | public: \ 60 | CLASS(); \ 61 | explicit CLASS(qint64 value); \ 62 | static const constexpr int SubType = SUB_TYPE; \ 63 | }; 64 | 65 | CREATE_CLASS_DECLARATION(QKnxActiveEnergyV64, 0x0a) 66 | CREATE_CLASS_DECLARATION(QKnxApparentEnergyV64, 0x0b) 67 | CREATE_CLASS_DECLARATION(QKnxReactiveEnergyV64, 0x0c) 68 | 69 | #undef CREATE_CLASS_DECLARATION 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif 74 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxentranceaccess.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXENTRANCEACCESS_H 31 | #define QKNXENTRANCEACCESS_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxEntranceAccess : public QKnxFixedSizeDatapointType 39 | { 40 | Q_GADGET 41 | 42 | public: 43 | enum Attribute 44 | { 45 | Error = 0x01, 46 | PermissionAccepted = 0x02, 47 | ReadRightToLeft = 0x04, 48 | Encrypted = 0x08 49 | }; 50 | Q_ENUM(Attribute) 51 | Q_DECLARE_FLAGS(Attributes, Attribute) 52 | 53 | QKnxEntranceAccess(); 54 | QKnxEntranceAccess(quint32 idCode, Attributes attributes, quint8 index); 55 | 56 | static const constexpr int TypeSize = 0x04; 57 | static const constexpr int MainType = 0x0f; 58 | 59 | bool setValue(quint32 idCode, Attributes attributes, quint8 index); 60 | 61 | qint32 idCode()const; 62 | bool setIdCode(quint32 idCode); 63 | 64 | qint8 digit(quint8 x) const; 65 | bool setDigit(quint8 x, quint8 digit); 66 | 67 | Attributes attributes() const; 68 | bool setAttributes(Attributes attributes); 69 | 70 | bool isSet(Attribute attibute) const; 71 | bool setAttribute(Attribute attribute); 72 | bool removeAttribute(Attribute attribute); 73 | 74 | quint8 index() const; 75 | bool setIndex(quint8 index); 76 | 77 | bool isValid() const override; 78 | }; 79 | Q_DECLARE_OPERATORS_FOR_FLAGS(QKnxEntranceAccess::Attributes) 80 | 81 | QT_END_NAMESPACE 82 | 83 | #endif 84 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxstatusmode3.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXSTATUSMODE3_H 31 | #define QKNXSTATUSMODE3_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxStatusMode3 : public QKnxFixedSizeDatapointType 39 | { 40 | Q_GADGET 41 | 42 | public: 43 | enum class Mode 44 | { 45 | Zero = 0x01, 46 | One = 0x02, 47 | Two = 0x04, 48 | Unknown = 0x08 49 | }; 50 | Q_ENUM(Mode) 51 | 52 | enum Status 53 | { 54 | A = 0x01, 55 | B = 0x02, 56 | C = 0x04, 57 | D = 0x08, 58 | E = 0x0a 59 | }; 60 | Q_ENUM(Status) 61 | Q_DECLARE_FLAGS(StatusFlags, Status) 62 | 63 | QKnxStatusMode3(); 64 | explicit QKnxStatusMode3(Mode mode, StatusFlags statusFlags); 65 | 66 | static const constexpr int TypeSize = 0x01; 67 | static const constexpr int MainType = 0x06; 68 | static const constexpr int SubType = 0x14; 69 | 70 | Mode mode() const; 71 | bool setMode(Mode mode); 72 | 73 | StatusFlags statusFlags() const; 74 | bool setStatusFlags(StatusFlags statusFlags); 75 | 76 | bool isSet(Status status) const; 77 | bool setStatus(Status status); 78 | bool removeStatus(Status status); 79 | 80 | bool isValid() const override; 81 | }; 82 | Q_DECLARE_OPERATORS_FOR_FLAGS(QKnxStatusMode3::StatusFlags) 83 | 84 | QT_END_NAMESPACE 85 | 86 | #endif 87 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxutf8string.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXUTF8STRING_H 31 | #define QKNXUTF8STRING_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxUtf8String : public QKnxVariableSizeDatapointType 39 | { 40 | public: 41 | QKnxUtf8String(); 42 | explicit QKnxUtf8String(const QString &string); 43 | explicit QKnxUtf8String(const char *string, int size = -1); 44 | 45 | static const constexpr int TypeSize = 0x01; 46 | static const constexpr int MainType = 0x1c; 47 | 48 | QString string() const; 49 | bool setString(const QString &string); 50 | bool setString(const char *string, int size = -1); 51 | 52 | bool isValid() const override; 53 | 54 | protected: 55 | QKnxUtf8String(int subType, const char *string, int size); 56 | }; 57 | 58 | class Q_KNX_EXPORT QKnxUtf8 : public QKnxUtf8String 59 | { 60 | public: 61 | QKnxUtf8(); 62 | explicit QKnxUtf8(const QString &string); 63 | explicit QKnxUtf8(const char *string, int size = -1); 64 | 65 | static const constexpr int SubType = 0x01; 66 | }; 67 | 68 | QT_END_NAMESPACE 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /src/knx/dpt/qknxvarstring.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXVARSTRING_H 31 | #define QKNXVARSTRING_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxVarString : public QKnxVariableSizeDatapointType 39 | { 40 | public: 41 | QKnxVarString(); 42 | explicit QKnxVarString(QLatin1String string); 43 | explicit QKnxVarString(const char *string, int size = -1); 44 | 45 | static const constexpr int MainType = 0x18; 46 | static const constexpr int TypeSize = 0x01; 47 | 48 | QLatin1String string() const; 49 | bool setString(QLatin1String string); 50 | bool setString(const char *string, int size = -1); 51 | 52 | bool isValid() const override; 53 | 54 | protected: 55 | QKnxVarString(int subType, const char *string, int size); 56 | }; 57 | 58 | class Q_KNX_EXPORT QKnxVarString88591 : public QKnxVarString 59 | { 60 | public: 61 | QKnxVarString88591(); 62 | explicit QKnxVarString88591(QLatin1String string); 63 | explicit QKnxVarString88591(const char *string, int size = -1); 64 | 65 | static const constexpr int SubType = 0x01; 66 | }; 67 | 68 | QT_END_NAMESPACE 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /src/knx/ets/ets.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | 3 | SOURCES += $$PWD/manufacturers.cpp 4 | PUBLIC_HEADERS += $$PWD/manufacturers.h 5 | -------------------------------------------------------------------------------- /src/knx/ets/manufacturers.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef MANUFACTURERS_H 31 | #define MANUFACTURERS_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | namespace QKnx { namespace Ets { namespace Manufacturers { 39 | 40 | Q_KNX_EXPORT QString fromId(int id, const QString &defaultValue = {}); 41 | Q_KNX_EXPORT QString fromId(const QString &id, const QString &defaultValue = {}); 42 | 43 | }}} 44 | 45 | QT_END_NAMESPACE 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/knx/knx.pro: -------------------------------------------------------------------------------- 1 | TARGET = QtKnx 2 | 3 | QT = core 4 | CONFIG += c++11 5 | QT_FOR_PRIVATE += network core-private network-private 6 | 7 | QMAKE_DOCS = $$PWD/doc/qtknx.qdocconf 8 | 9 | include(core/core.pri) 10 | include(dpt/dpt.pri) 11 | include(ets/ets.pri) 12 | include(knxproj/knxproj.pri) 13 | include(netip/netip.pri) 14 | include(ssl/ssl.pri) 15 | 16 | DEFINES += QT_NO_CAST_FROM_ASCII 17 | 18 | PUBLIC_HEADERS += \ 19 | qknxadditionalinfo.h \ 20 | qknxaddress.h \ 21 | qknxcontrolfield.h \ 22 | qknxextendedcontrolfield.h \ 23 | qtknxglobal.h \ 24 | qknxinterfaceobjectproperty.h \ 25 | qknxinterfaceobjectpropertydatatype.h \ 26 | qknxinterfaceobjecttype.h \ 27 | qknxlinklayerframe.h \ 28 | qknxlinklayerframebuilder.h \ 29 | qknxdevicemanagementframe.h \ 30 | qknxdevicemanagementframefactory.h \ 31 | qknxnamespace.h \ 32 | qknxtpdu.h \ 33 | qknxtraits.h \ 34 | qknxutils.h 35 | 36 | PRIVATE_HEADERS += \ 37 | qtknxglobal_p.h \ 38 | qknxtpdufactory_p.h 39 | 40 | SOURCES += \ 41 | qknxadditionalinfo.cpp \ 42 | qknxaddress.cpp \ 43 | qknxcontrolfield.cpp \ 44 | qknxextendedcontrolfield.cpp \ 45 | qknxinterfaceobjectproperty.cpp \ 46 | qknxinterfaceobjectpropertydatatype.cpp \ 47 | qknxinterfaceobjecttype.cpp \ 48 | qknxlinklayerframe.cpp \ 49 | qknxdevicemanagementframe.cpp \ 50 | qknxdevicemanagementframefactory.cpp \ 51 | qknxnamespace.cpp \ 52 | qknxtpdu.cpp \ 53 | qknxtpdufactory_broadcast.cpp \ 54 | qknxtpdufactory_multicast.cpp \ 55 | qknxtpdufactory_p2p.cpp \ 56 | qknxlinklayerframebuilder.cpp 57 | 58 | 59 | HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS 60 | 61 | load(qt_module) 62 | -------------------------------------------------------------------------------- /src/knx/knxproj/knxproj.pri: -------------------------------------------------------------------------------- 1 | INCLUDEPATH += $$PWD 2 | 3 | qtConfig(system-zlib) { 4 | QMAKE_USE_PRIVATE += zlib 5 | } else { 6 | QT_PRIVATE += zlib-private 7 | } 8 | 9 | SOURCES += \ 10 | $$PWD/qknxbuildings.cpp \ 11 | $$PWD/qknxdeviceinstance.cpp \ 12 | $$PWD/qknxgroupaddresses.cpp \ 13 | $$PWD/qknxgroupaddressinfo.cpp \ 14 | $$PWD/qknxgroupaddressinfos.cpp \ 15 | $$PWD/qknxinstallation.cpp \ 16 | $$PWD/qknxprojectinformation.cpp \ 17 | $$PWD/qknxprojectroot.cpp \ 18 | $$PWD/qknxprojectutils.cpp \ 19 | $$PWD/qknxtopology.cpp \ 20 | $$PWD/qzip.cpp 21 | 22 | PRIVATE_HEADERS += \ 23 | $$PWD/qknxbuildings_p.h \ 24 | $$PWD/qknxdeviceinstance_p.h \ 25 | $$PWD/qknxgroupaddresses_p.h \ 26 | $$PWD/qknxinstallation_p.h \ 27 | $$PWD/qknxprojectinformation_p.h \ 28 | $$PWD/qknxprojectroot_p.h \ 29 | $$PWD/qknxprojectutils_p.h \ 30 | $$PWD/qknxtopology_p.h \ 31 | $$PWD/qzipreader_p.h \ 32 | $$PWD/qzipwriter_p.h 33 | 34 | HEADERS += \ 35 | $$PWD/qknxgroupaddressinfo.h \ 36 | $$PWD/qknxgroupaddressinfos.h 37 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipconnectionheader.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCONNECTIONHEADER_H 31 | #define QKNXNETIPCONNECTIONHEADER_H 32 | 33 | #include 34 | 35 | QT_BEGIN_NAMESPACE 36 | 37 | class Q_KNX_EXPORT QKnxNetIpConnectionHeader final 38 | { 39 | public: 40 | QKnxNetIpConnectionHeader() = default; 41 | ~QKnxNetIpConnectionHeader() = default; 42 | 43 | QKnxNetIpConnectionHeader(quint8 channelId, quint8 seqNumber); 44 | QKnxNetIpConnectionHeader(quint8 channelId, quint8 seqNumber, quint8 serviceTypeSpecificValue); 45 | 46 | bool isNull() const; 47 | bool isValid() const; 48 | 49 | quint8 size() const; 50 | 51 | quint8 channelId() const; 52 | void setChannelId(quint8 channelId); 53 | 54 | quint8 sequenceNumber() const; 55 | void setSequenceNumber(quint8 seqNumber); 56 | 57 | quint8 serviceTypeSpecificValue() const; 58 | void setServiceTypeSpecificValue(quint8 value); 59 | 60 | QKnxByteArray connectionTypeSpecificHeaderItems() const; 61 | void setConnectionTypeSpecificHeaderItems(const QKnxByteArray &items); 62 | 63 | quint8 byte(quint8 index) const; 64 | QKnxByteArray bytes() const; 65 | 66 | static QKnxNetIpConnectionHeader fromBytes(const QKnxByteArray &bytes, quint16 index = 0); 67 | 68 | bool operator==(const QKnxNetIpConnectionHeader &other) const; 69 | bool operator!=(const QKnxNetIpConnectionHeader &other) const; 70 | 71 | private: 72 | QKnxByteArray m_bytes { 0x00, 0x00, 0x00, 0x00 }; 73 | }; 74 | Q_KNX_EXPORT QDebug operator<<(QDebug debug, const QKnxNetIpConnectionHeader &header); 75 | 76 | QT_END_NAMESPACE 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipconnectionstaterequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCONNECTIONSTATEREQUEST_H 31 | #define QKNXNETIPCONNECTIONSTATEREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpConnectionStateRequestProxy final 40 | { 41 | public: 42 | QKnxNetIpConnectionStateRequestProxy() = delete; 43 | ~QKnxNetIpConnectionStateRequestProxy() = default; 44 | 45 | QKnxNetIpConnectionStateRequestProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpConnectionStateRequestProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | quint8 channelId() const; 51 | QKnxNetIpHpai controlEndpoint() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setChannelId(quint8 channelId); 57 | Builder &setControlEndpoint(const QKnxNetIpHpai &hpai); 58 | 59 | QKnxNetIpFrame create() const; 60 | 61 | private: 62 | quint8 m_channelId; 63 | QKnxNetIpHpai m_hpai; 64 | }; 65 | static QKnxNetIpConnectionStateRequestProxy::Builder builder(); 66 | 67 | private: 68 | const QKnxNetIpFrame &m_frame; 69 | }; 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif 74 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipconnectionstateresponse.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCONNECTIONSTATERESPONSE_H 31 | #define QKNXNETIPCONNECTIONSTATERESPONSE_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpConnectionStateResponseProxy final 40 | { 41 | public: 42 | QKnxNetIpConnectionStateResponseProxy() = delete; 43 | ~QKnxNetIpConnectionStateResponseProxy() = default; 44 | 45 | QKnxNetIpConnectionStateResponseProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpConnectionStateResponseProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | quint8 channelId() const; 51 | QKnxNetIp::Error status() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setChannelId(quint8 channelId); 57 | Builder &setStatus(QKnxNetIp::Error status); 58 | 59 | QKnxNetIpFrame create() const; 60 | 61 | private: 62 | quint8 m_channelId { 0 }; 63 | QKnxNetIp::Error m_status { QKnxNetIp::Error::None }; 64 | }; 65 | static QKnxNetIpConnectionStateResponseProxy::Builder builder(); 66 | 67 | private: 68 | const QKnxNetIpFrame &m_frame; 69 | }; 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif 74 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipconnectrequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCONNECTREQUEST_H 31 | #define QKNXNETIPCONNECTREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | 40 | class Q_KNX_EXPORT QKnxNetIpConnectRequestProxy final 41 | { 42 | public: 43 | QKnxNetIpConnectRequestProxy() = delete; 44 | ~QKnxNetIpConnectRequestProxy() = default; 45 | 46 | QKnxNetIpConnectRequestProxy(const QKnxNetIpFrame &&) = delete; 47 | explicit QKnxNetIpConnectRequestProxy(const QKnxNetIpFrame &frame); 48 | 49 | bool isValid() const; 50 | 51 | QKnxNetIpHpai controlEndpoint() const; 52 | QKnxNetIpHpai dataEndpoint() const; 53 | QKnxNetIpCri requestInformation() const; 54 | 55 | class Q_KNX_EXPORT Builder final 56 | { 57 | public: 58 | Builder &setControlEndpoint(const QKnxNetIpHpai &hpai); 59 | Builder &setDataEndpoint(const QKnxNetIpHpai &hpai); 60 | Builder &setRequestInformation(const QKnxNetIpCri &cri); 61 | 62 | QKnxNetIpFrame create() const; 63 | 64 | private: 65 | QKnxNetIpHpai m_ceHpai; 66 | QKnxNetIpHpai m_deHpai; 67 | QKnxNetIpCri m_cri; 68 | }; 69 | static QKnxNetIpConnectRequestProxy::Builder builder(); 70 | 71 | private: 72 | const QKnxNetIpFrame &m_frame; 73 | }; 74 | 75 | QT_END_NAMESPACE 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipconnectresponse.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCONNECTRESPONSE_H 31 | #define QKNXNETIPCONNECTRESPONSE_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | #include 38 | 39 | QT_BEGIN_NAMESPACE 40 | 41 | class Q_KNX_EXPORT QKnxNetIpConnectResponseProxy final 42 | { 43 | public: 44 | QKnxNetIpConnectResponseProxy() = delete; 45 | ~QKnxNetIpConnectResponseProxy() = default; 46 | 47 | QKnxNetIpConnectResponseProxy(const QKnxNetIpFrame &&) = delete; 48 | explicit QKnxNetIpConnectResponseProxy(const QKnxNetIpFrame &frame); 49 | 50 | bool isValid() const; 51 | 52 | quint8 channelId() const; 53 | QKnxNetIp::Error status() const; 54 | QKnxNetIpHpai dataEndpoint() const; 55 | QKnxNetIpCrd responseData() const; 56 | 57 | class Q_KNX_EXPORT Builder final 58 | { 59 | public: 60 | Builder &setChannelId(quint8 channelId); 61 | Builder &setStatus(QKnxNetIp::Error status); 62 | Builder &setDataEndpoint(const QKnxNetIpHpai &hpai); 63 | Builder &setResponseData(const QKnxNetIpCrd &crd); 64 | 65 | QKnxNetIpFrame create() const; 66 | 67 | private: 68 | quint8 m_channelId { 0 }; 69 | QKnxNetIp::Error m_status { QKnxNetIp::Error::None }; 70 | QKnxNetIpHpai m_hpai; 71 | QKnxNetIpCrd m_crd; 72 | }; 73 | static QKnxNetIpConnectResponseProxy::Builder builder(); 74 | 75 | private: 76 | const QKnxNetIpFrame &m_frame; 77 | }; 78 | 79 | QT_END_NAMESPACE 80 | 81 | #endif 82 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipcrd.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCRD_H 31 | #define QKNXNETIPCRD_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpCrdProxy final 40 | { 41 | public: 42 | QKnxNetIpCrdProxy() = delete; 43 | ~QKnxNetIpCrdProxy() = default; 44 | 45 | QKnxNetIpCrdProxy(const QKnxNetIpCrd &&) = delete; 46 | explicit QKnxNetIpCrdProxy(const QKnxNetIpCrd &crd); 47 | 48 | bool isValid() const; 49 | 50 | QKnxNetIp::ConnectionType connectionType() const; 51 | QKnxAddress individualAddress() const; 52 | QKnxByteArray additionalData() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder &setConnectionType(QKnxNetIp::ConnectionType connectionType); 58 | Builder &setIndividualAddress(const QKnxAddress &address); 59 | Builder &setAdditionalData(const QKnxByteArray &additionalData); 60 | 61 | QKnxNetIpCrd create() const; 62 | 63 | private: 64 | QKnxNetIp::ConnectionType m_cType = QKnxNetIp::ConnectionType::Tunnel; 65 | QKnxByteArray m_additionalData; 66 | }; 67 | static QKnxNetIpCrdProxy::Builder builder(); 68 | 69 | private: 70 | const QKnxNetIpCrd &m_crd; 71 | }; 72 | 73 | QT_END_NAMESPACE 74 | 75 | #endif 76 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipcri.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPCRI_H 31 | #define QKNXNETIPCRI_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpCriProxy final 40 | { 41 | public: 42 | QKnxNetIpCriProxy() = delete; 43 | ~QKnxNetIpCriProxy() = default; 44 | 45 | QKnxNetIpCriProxy(const QKnxNetIpCri &&) = delete; 46 | explicit QKnxNetIpCriProxy(const QKnxNetIpCri &cri); 47 | 48 | bool isValid() const; 49 | bool isExtended() const; 50 | 51 | QKnxNetIp::ConnectionType connectionType() const; 52 | QKnxNetIp::TunnelLayer tunnelLayer() const; 53 | QKnxAddress individualAddress() const; 54 | QKnxByteArray additionalData() const; 55 | 56 | class Q_KNX_EXPORT Builder final 57 | { 58 | public: 59 | Builder &setConnectionType(QKnxNetIp::ConnectionType type); 60 | Builder &setTunnelLayer(QKnxNetIp::TunnelLayer layer); 61 | Builder &setIndividualAddress(const QKnxAddress &address); 62 | Builder &setAdditionalData(const QKnxByteArray &additionalData); 63 | 64 | QKnxNetIpCri create() const; 65 | 66 | private: 67 | QKnxNetIp::ConnectionType m_cType = QKnxNetIp::ConnectionType::Tunnel; 68 | QKnxByteArray m_additionalData; 69 | }; 70 | static QKnxNetIpCriProxy::Builder builder(); 71 | 72 | private: 73 | const QKnxNetIpCri &m_cri; 74 | }; 75 | 76 | QT_END_NAMESPACE 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdescriptionrequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDESCRIPTIONREQUEST_H 31 | #define QKNXNETIPDESCRIPTIONREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpDescriptionRequestProxy final 40 | { 41 | public: 42 | QKnxNetIpDescriptionRequestProxy() = delete; 43 | ~QKnxNetIpDescriptionRequestProxy() = default; 44 | 45 | QKnxNetIpDescriptionRequestProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpDescriptionRequestProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | QKnxNetIpHpai controlEndpoint() const; 50 | 51 | class Q_KNX_EXPORT Builder final 52 | { 53 | public: 54 | Builder &setControlEndpoint(const QKnxNetIpHpai &hpai); 55 | QKnxNetIpFrame create() const; 56 | 57 | private: 58 | QKnxNetIpHpai m_hpai; 59 | }; 60 | static QKnxNetIpDescriptionRequestProxy::Builder builder(); 61 | 62 | private: 63 | const QKnxNetIpFrame &m_frame; 64 | }; 65 | 66 | QT_END_NAMESPACE 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdescriptionresponse.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDESCRIPTIONRESPONSE_H 31 | #define QKNXNETIPDESCRIPTIONRESPONSE_H 32 | 33 | #include 34 | 35 | #include 36 | #include 37 | #include 38 | 39 | QT_BEGIN_NAMESPACE 40 | 41 | class Q_KNX_EXPORT QKnxNetIpDescriptionResponseProxy final 42 | { 43 | public: 44 | QKnxNetIpDescriptionResponseProxy() = delete; 45 | ~QKnxNetIpDescriptionResponseProxy() = default; 46 | 47 | QKnxNetIpDescriptionResponseProxy(const QKnxNetIpFrame &&) = delete; 48 | explicit QKnxNetIpDescriptionResponseProxy(const QKnxNetIpFrame &frame); 49 | 50 | bool isValid() const; 51 | 52 | QKnxNetIpDib deviceHardware() const; 53 | QKnxNetIpDib supportedFamilies() const; 54 | QList optionalDibs() const; 55 | 56 | class Q_KNX_EXPORT Builder final 57 | { 58 | public: 59 | Builder &setDeviceHardware(const QKnxNetIpDib &ddib); 60 | Builder &setSupportedFamilies(const QKnxNetIpDib &sdib); 61 | Builder &setOptionalDibs(const QList &dibs); 62 | 63 | QKnxNetIpFrame create() const; 64 | 65 | private: 66 | QKnxNetIpDib m_ddib; 67 | QKnxNetIpDib m_sdib; 68 | QList m_optionalDibs; 69 | }; 70 | static QKnxNetIpDescriptionResponseProxy::Builder builder(); 71 | 72 | private: 73 | const QKnxNetIpFrame &m_frame; 74 | }; 75 | 76 | QT_END_NAMESPACE 77 | 78 | #endif 79 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdeviceconfigurationacknowledge.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDEVICECONFIGURATIONACKNOWLEDGE_H 31 | #define QKNXNETIPDEVICECONFIGURATIONACKNOWLEDGE_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpDeviceConfigurationAcknowledgeProxy final 40 | { 41 | public: 42 | QKnxNetIpDeviceConfigurationAcknowledgeProxy() = delete; 43 | ~QKnxNetIpDeviceConfigurationAcknowledgeProxy() = default; 44 | 45 | QKnxNetIpDeviceConfigurationAcknowledgeProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpDeviceConfigurationAcknowledgeProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | quint8 channelId() const; 51 | quint8 sequenceNumber() const; 52 | QKnxNetIp::Error status() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder &setChannelId(quint8 channelId); 58 | Builder &setSequenceNumber(quint8 sequenceNumber); 59 | Builder &setStatus(QKnxNetIp::Error status); 60 | 61 | QKnxNetIpFrame create() const; 62 | 63 | private: 64 | quint8 m_channelId; 65 | quint8 m_sequenceNumber; 66 | QKnxNetIp::Error m_status; 67 | }; 68 | static QKnxNetIpDeviceConfigurationAcknowledgeProxy::Builder builder(); 69 | 70 | private: 71 | const QKnxNetIpFrame &m_frame; 72 | }; 73 | 74 | QT_END_NAMESPACE 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdeviceconfigurationrequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDEVICECONFIGURATIONREQUEST_H 31 | #define QKNXNETIPDEVICECONFIGURATIONREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | 40 | class Q_KNX_EXPORT QKnxNetIpDeviceConfigurationRequestProxy final 41 | { 42 | public: 43 | QKnxNetIpDeviceConfigurationRequestProxy() = delete; 44 | ~QKnxNetIpDeviceConfigurationRequestProxy() = default; 45 | 46 | QKnxNetIpDeviceConfigurationRequestProxy(const QKnxNetIpFrame &&) = delete; 47 | explicit QKnxNetIpDeviceConfigurationRequestProxy(const QKnxNetIpFrame &frame); 48 | 49 | bool isValid() const; 50 | 51 | quint8 channelId() const; 52 | quint8 sequenceNumber() const; 53 | QKnxDeviceManagementFrame cemi() const; 54 | 55 | class Q_KNX_EXPORT Builder final 56 | { 57 | public: 58 | Builder &setChannelId(quint8 channelId); 59 | Builder &setSequenceNumber(quint8 sequenceNumber); 60 | Builder &setCemi(const QKnxDeviceManagementFrame &cemi); 61 | 62 | QKnxNetIpFrame create() const; 63 | 64 | private: 65 | quint8 m_channelId; 66 | quint8 m_sequenceNumber; 67 | QKnxDeviceManagementFrame m_cemi; 68 | }; 69 | static QKnxNetIpDeviceConfigurationRequestProxy::Builder builder(); 70 | 71 | private: 72 | const QKnxNetIpFrame &m_frame; 73 | }; 74 | 75 | QT_END_NAMESPACE 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdevicemanagement.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDEVICEMANAGEMENT_H 31 | #define QKNXNETIPDEVICEMANAGEMENT_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class QKnxNetIpDeviceManagementPrivate; 40 | class Q_KNX_EXPORT QKnxNetIpDeviceManagement final : public QKnxNetIpEndpointConnection 41 | { 42 | Q_OBJECT 43 | Q_DISABLE_COPY(QKnxNetIpDeviceManagement) 44 | Q_DECLARE_PRIVATE(QKnxNetIpDeviceManagement) 45 | 46 | public: 47 | QKnxNetIpDeviceManagement(QObject *parent = nullptr); 48 | ~QKnxNetIpDeviceManagement() override = default; 49 | 50 | QKnxNetIpDeviceManagement(const QHostAddress &localAddress, QObject *parent = nullptr); 51 | QKnxNetIpDeviceManagement(const QHostAddress &localAddress, quint16 localPort, 52 | QObject *parent = nullptr); 53 | 54 | bool sendFrame(const QKnxDeviceManagementFrame &frame); 55 | 56 | Q_SIGNALS: 57 | void frameReceived(QKnxDeviceManagementFrame frame); 58 | }; 59 | 60 | QT_END_NAMESPACE 61 | 62 | #endif 63 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdisconnectrequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDISCONNECTREQUEST_H 31 | #define QKNXNETIPDISCONNECTREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpDisconnectRequestProxy final 40 | { 41 | public: 42 | QKnxNetIpDisconnectRequestProxy() = delete; 43 | ~QKnxNetIpDisconnectRequestProxy() = default; 44 | 45 | QKnxNetIpDisconnectRequestProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpDisconnectRequestProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | quint8 channelId() const; 51 | QKnxNetIpHpai controlEndpoint() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setChannelId(quint8 channelId); 57 | Builder &setControlEndpoint(const QKnxNetIpHpai &hpai); 58 | 59 | QKnxNetIpFrame create() const; 60 | 61 | private: 62 | quint8 m_channelId; 63 | QKnxNetIpHpai m_hpai; 64 | }; 65 | static QKnxNetIpDisconnectRequestProxy::Builder builder(); 66 | 67 | private: 68 | const QKnxNetIpFrame &m_frame; 69 | }; 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif 74 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipdisconnectresponse.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPDISCONNECTRESPONSE_H 31 | #define QKNXNETIPDISCONNECTRESPONSE_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpDisconnectResponseProxy final 40 | { 41 | public: 42 | QKnxNetIpDisconnectResponseProxy() = delete; 43 | ~QKnxNetIpDisconnectResponseProxy() = default; 44 | 45 | QKnxNetIpDisconnectResponseProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpDisconnectResponseProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | quint8 channelId() const; 51 | QKnxNetIp::Error status() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setChannelId(quint8 channelId); 57 | Builder &setStatus(QKnxNetIp::Error status); 58 | 59 | QKnxNetIpFrame create() const; 60 | 61 | private: 62 | quint8 m_channelId { 0 }; 63 | QKnxNetIp::Error m_status { QKnxNetIp::Error::None }; 64 | }; 65 | static QKnxNetIpDisconnectResponseProxy::Builder builder(); 66 | 67 | private: 68 | const QKnxNetIpFrame &m_frame; 69 | }; 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif 74 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipextendeddevicedib.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPEXTENDEDDEVICEDIB_H 31 | #define QKNXNETIPEXTENDEDDEVICEDIB_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class QKnxNetIpExtendedDeviceDibBuilderPrivate; 39 | class Q_KNX_EXPORT QKnxNetIpExtendedDeviceDibProxy final 40 | { 41 | public: 42 | QKnxNetIpExtendedDeviceDibProxy() = delete; 43 | ~QKnxNetIpExtendedDeviceDibProxy() = default; 44 | 45 | QKnxNetIpExtendedDeviceDibProxy(const QKnxNetIpDib &&) = delete; 46 | explicit QKnxNetIpExtendedDeviceDibProxy(const QKnxNetIpDib &dib); 47 | 48 | bool isValid() const; 49 | QKnxNetIp::DescriptionType descriptionType() const; 50 | 51 | QKnx::MediumStatus mediumStatus() const; 52 | quint16 maximumLocalApduLength() const; 53 | quint16 deviceDescriptorType0() const; 54 | 55 | class Q_KNX_EXPORT Builder final 56 | { 57 | public: 58 | Builder(); 59 | ~Builder(); 60 | 61 | Builder &setMediumStatus(QKnx::MediumStatus status); 62 | Builder &setMaximumLocalApduLength(quint16 length); 63 | Builder &setDeviceDescriptorType0(quint16 type); 64 | 65 | QKnxNetIpDib create() const; 66 | 67 | Builder(const Builder &other); 68 | Builder &operator=(const Builder &other); 69 | 70 | private: 71 | QSharedDataPointer d_ptr; 72 | }; 73 | static QKnxNetIpExtendedDeviceDibProxy::Builder builder(); 74 | 75 | private: 76 | const QKnxNetIpDib &m_dib; 77 | }; 78 | 79 | QT_END_NAMESPACE 80 | 81 | #endif 82 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipframeheader.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPFRAMEHEADER_H 31 | #define QKNXNETIPFRAMEHEADER_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxNetIpFrameHeader final 39 | { 40 | public: 41 | QKnxNetIpFrameHeader() = default; 42 | ~QKnxNetIpFrameHeader() = default; 43 | 44 | explicit QKnxNetIpFrameHeader(QKnxNetIp::ServiceType type); 45 | QKnxNetIpFrameHeader(QKnxNetIp::ServiceType type, quint16 dataSize); 46 | 47 | static constexpr const quint8 HeaderSize10 = 0x06; 48 | static constexpr const quint8 KnxNetIpVersion10 = 0x10; 49 | 50 | bool isNull() const; 51 | bool isValid() const; 52 | 53 | quint8 size() const; 54 | quint8 setSize(quint8 size); 55 | 56 | quint8 protocolVersion() const; 57 | void setProtocolVersion(quint8 version); 58 | 59 | quint16 totalSize() const; 60 | 61 | quint16 dataSize() const; 62 | void setDataSize(quint16 dataSize); 63 | 64 | QKnxNetIp::ServiceType serviceType() const; 65 | void setServiceType(QKnxNetIp::ServiceType type); 66 | 67 | quint8 byte(quint8 index) const; 68 | QKnxByteArray bytes() const; 69 | 70 | static QKnxNetIpFrameHeader fromBytes(const QKnxByteArray &bytes, quint16 index = 0); 71 | 72 | bool operator==(const QKnxNetIpFrameHeader &other) const; 73 | bool operator!=(const QKnxNetIpFrameHeader &other) const; 74 | 75 | private: 76 | quint8 m_bytes[6] { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 }; 77 | }; 78 | Q_KNX_EXPORT QDebug operator<<(QDebug debug, const QKnxNetIpFrameHeader &header); 79 | 80 | QT_END_NAMESPACE 81 | 82 | #endif 83 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiphpai.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPHPAI_H 31 | #define QKNXNETIPHPAI_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpHpaiProxy final 40 | { 41 | public: 42 | QKnxNetIpHpaiProxy() = delete; 43 | ~QKnxNetIpHpaiProxy() = default; 44 | 45 | QKnxNetIpHpaiProxy(const QKnxNetIpHpai &&) = delete; 46 | explicit QKnxNetIpHpaiProxy(const QKnxNetIpHpai &hpai); 47 | 48 | bool isValid() const; 49 | 50 | QKnxNetIp::HostProtocol hostProtocol() const; 51 | QHostAddress hostAddress() const; 52 | quint16 port() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder &setHostProtocol(QKnxNetIp::HostProtocol code); 58 | Builder &setHostAddress(const QHostAddress &address); 59 | Builder &setPort(quint16 port); 60 | 61 | QKnxNetIpHpai create() const; 62 | 63 | private: 64 | QKnxNetIp::HostProtocol m_code { QKnxNetIp::HostProtocol::UDP_IPv4 }; 65 | QHostAddress m_address { QHostAddress::Null }; 66 | quint16 m_port { 0 }; 67 | }; 68 | static QKnxNetIpHpaiProxy::Builder builder(); 69 | 70 | private: 71 | const QKnxNetIpHpai &m_hpai; 72 | }; 73 | 74 | QT_END_NAMESPACE 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipknxaddressesdib.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPKNXADDRESSESDIB_H 31 | #define QKNXNETIPKNXADDRESSESDIB_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpKnxAddressesDibProxy final 40 | { 41 | public: 42 | QKnxNetIpKnxAddressesDibProxy() = delete; 43 | ~QKnxNetIpKnxAddressesDibProxy() = default; 44 | 45 | QKnxNetIpKnxAddressesDibProxy(const QKnxNetIpDib &&) = delete; 46 | explicit QKnxNetIpKnxAddressesDibProxy(const QKnxNetIpDib &dib); 47 | 48 | bool isValid() const; 49 | 50 | QKnxNetIp::DescriptionType descriptionType() const; 51 | QList individualAddresses() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setIndividualAddresses(const QList &addresses); 57 | QKnxNetIpDib create() const; 58 | 59 | private: 60 | QList m_addresses; 61 | }; 62 | static QKnxNetIpKnxAddressesDibProxy::Builder builder(); 63 | 64 | private: 65 | const QKnxNetIpDib &m_dib; 66 | }; 67 | 68 | QT_END_NAMESPACE 69 | 70 | #endif 71 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipmanufacturerdib.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPMANUFACTURERDIB_H 31 | #define QKNXNETIPMANUFACTURERDIB_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class Q_KNX_EXPORT QKnxNetIpManufacturerDibProxy final 39 | { 40 | public: 41 | QKnxNetIpManufacturerDibProxy() = delete; 42 | ~QKnxNetIpManufacturerDibProxy() = default; 43 | 44 | QKnxNetIpManufacturerDibProxy(const QKnxNetIpDib &&) = delete; 45 | explicit QKnxNetIpManufacturerDibProxy(const QKnxNetIpDib &dib); 46 | 47 | bool isValid() const; 48 | 49 | QKnxNetIp::DescriptionType descriptionType() const; 50 | quint16 manufacturerId() const; 51 | QKnxByteArray manufacturerData() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setManufacturerId(quint16 manufacturerId); 57 | Builder &setManufacturerData(const QKnxByteArray &manufacturerData); 58 | 59 | QKnxNetIpDib create() const; 60 | 61 | private: 62 | quint16 m_manufacturerId; 63 | QKnxByteArray m_manufacturerData; 64 | }; 65 | static QKnxNetIpManufacturerDibProxy::Builder builder(); 66 | 67 | private: 68 | const QKnxNetIpDib &m_dib; 69 | }; 70 | 71 | QT_END_NAMESPACE 72 | 73 | #endif 74 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiproutingbusy.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPROUTINGBUSY_H 31 | #define QKNXNETIPROUTINGBUSY_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpRoutingBusyProxy final 40 | { 41 | public: 42 | QKnxNetIpRoutingBusyProxy() = delete; 43 | ~QKnxNetIpRoutingBusyProxy() = default; 44 | 45 | QKnxNetIpRoutingBusyProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpRoutingBusyProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | QKnxNetIp::DeviceState deviceState() const; 51 | quint16 routingBusyWaitTime() const; 52 | quint16 routingBusyControl() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder &setDeviceState(QKnxNetIp::DeviceState state); 58 | Builder &setRoutingBusyWaitTime(quint16 waitTime); 59 | Builder &setRoutingBusyControl(quint16 busyControl); 60 | 61 | QKnxNetIpFrame create() const; 62 | 63 | private: 64 | QKnxNetIp::DeviceState m_state { QKnxNetIp::DeviceState::KnxFault }; 65 | quint16 m_waitTime { quint16(QKnxNetIp::RoutingBusyWaitTime) }; 66 | quint16 m_busyControl { 0x0000 }; 67 | }; 68 | static QKnxNetIpRoutingBusyProxy::Builder builder(); 69 | 70 | private: 71 | const QKnxNetIpFrame &m_frame; 72 | }; 73 | 74 | QT_END_NAMESPACE 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiproutingindication.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPROUTINGINDICATION_H 31 | #define QKNXNETIPROUTINGINDICATION_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | 40 | class Q_KNX_EXPORT QKnxNetIpRoutingIndicationProxy final 41 | { 42 | public: 43 | QKnxNetIpRoutingIndicationProxy() = delete; 44 | ~QKnxNetIpRoutingIndicationProxy() = default; 45 | 46 | QKnxNetIpRoutingIndicationProxy(const QKnxNetIpFrame &&) = delete; 47 | explicit QKnxNetIpRoutingIndicationProxy(const QKnxNetIpFrame &frame); 48 | 49 | bool isValid() const; 50 | 51 | QKnxLinkLayerFrame cemi() const; 52 | #if QT_DEPRECATED_SINCE(5, 12) 53 | QT_DEPRECATED QKnxLinkLayerFrame linkLayerFrame() const; 54 | #endif 55 | 56 | class Q_KNX_EXPORT Builder final 57 | { 58 | public: 59 | Builder &setCemi(const QKnxLinkLayerFrame &cemi); 60 | #if QT_DEPRECATED_SINCE(5, 12) 61 | QT_DEPRECATED Builder &setLinkLayerFrame(const QKnxLinkLayerFrame &llf); 62 | #endif 63 | 64 | QKnxNetIpFrame create() const; 65 | 66 | private: 67 | QKnxLinkLayerFrame m_llf; 68 | }; 69 | static QKnxNetIpRoutingIndicationProxy::Builder builder(); 70 | 71 | private: 72 | const QKnxNetIpFrame &m_frame; 73 | }; 74 | 75 | QT_END_NAMESPACE 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiproutinglostmessage.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPROUTINGLOSTMESSAGE_H 31 | #define QKNXNETIPROUTINGLOSTMESSAGE_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpRoutingLostMessageProxy final 40 | { 41 | public: 42 | QKnxNetIpRoutingLostMessageProxy() = delete; 43 | ~QKnxNetIpRoutingLostMessageProxy() = default; 44 | 45 | QKnxNetIpRoutingLostMessageProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpRoutingLostMessageProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | QKnxNetIp::DeviceState deviceState() const; 51 | quint16 lostMessageCount() const; 52 | 53 | class Q_KNX_EXPORT Builder final 54 | { 55 | public: 56 | Builder &setDeviceState(QKnxNetIp::DeviceState state); 57 | Builder &setLostMessageCount(quint16 messageCount); 58 | 59 | QKnxNetIpFrame create() const; 60 | 61 | private: 62 | QKnxNetIp::DeviceState m_state { QKnxNetIp::DeviceState::KnxFault }; 63 | quint16 m_lostMessageCount { 0 }; 64 | 65 | }; 66 | static QKnxNetIpRoutingLostMessageProxy::Builder builder(); 67 | 68 | private: 69 | const QKnxNetIpFrame &m_frame; 70 | }; 71 | 72 | QT_END_NAMESPACE 73 | 74 | #endif 75 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiproutingsystembroadcast.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPROUTINGSYSTEMBROADCAST_H 31 | #define QKNXNETIPROUTINGSYSTEMBROADCAST_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | 40 | class QKnxNetIpRoutingSystemBroadcastBuilderPrivate; 41 | class Q_KNX_EXPORT QKnxNetIpRoutingSystemBroadcastProxy final 42 | { 43 | public: 44 | QKnxNetIpRoutingSystemBroadcastProxy() = delete; 45 | ~QKnxNetIpRoutingSystemBroadcastProxy() = default; 46 | 47 | QKnxNetIpRoutingSystemBroadcastProxy(const QKnxNetIpFrame &&) = delete; 48 | explicit QKnxNetIpRoutingSystemBroadcastProxy(const QKnxNetIpFrame &frame); 49 | 50 | bool isValid() const; 51 | 52 | QKnxLinkLayerFrame cemi() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder(); 58 | ~Builder(); 59 | 60 | Builder &setCemi(const QKnxLinkLayerFrame &cemi); 61 | 62 | QKnxNetIpFrame create() const; 63 | 64 | Builder(const Builder &other); 65 | Builder &operator=(const Builder &other); 66 | 67 | private: 68 | QSharedDataPointer d_ptr; 69 | }; 70 | static QKnxNetIpRoutingSystemBroadcastProxy::Builder builder(); 71 | 72 | private: 73 | const QKnxNetIpFrame &m_frame; 74 | }; 75 | 76 | QT_END_NAMESPACE 77 | 78 | #endif // QKNXNETIPROUTINGSYSTEMBROADCAST_H 79 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipsecureconfiguration_p.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPSECURECONFIGURATION_P_H 31 | #define QKNXNETIPSECURECONFIGURATION_P_H 32 | 33 | // 34 | // W A R N I N G 35 | // ------------- 36 | // 37 | // This file is not part of the Qt KNX API. It exists for the convenience 38 | // of the Qt KNX implementation. This header file may change from version 39 | // to version without notice, or even be removed. 40 | // 41 | // We mean it. 42 | // 43 | 44 | #include 45 | #include 46 | #include 47 | 48 | QT_BEGIN_NAMESPACE 49 | 50 | class QKnxNetIpSecureConfigurationPrivate : public QSharedData 51 | { 52 | public: 53 | QKnxNetIpSecureConfigurationPrivate() = default; 54 | ~QKnxNetIpSecureConfigurationPrivate() = default; 55 | 56 | QKnxSecureKey privateKey; 57 | QKnxSecureKey publicKey; 58 | QKnxAddress host; 59 | QKnxNetIp::SecureUserId userId { QKnxNetIp::SecureUserId::Reserved }; 60 | QByteArray userPassword; 61 | QKnxAddress ia; 62 | QByteArray deviceAuthenticationCode; 63 | bool keepAlive { false }; 64 | }; 65 | 66 | QT_END_NAMESPACE 67 | 68 | #endif 69 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipsecuredservicefamiliesdib.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPSECUREDSERVICEFAMILIESDIB_H 31 | #define QKNXNETIPSECUREDSERVICEFAMILIESDIB_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | struct Q_KNX_EXPORT QKnxSecuredServiceInfo 39 | { 40 | QKnxNetIp::ServiceFamily ServiceFamily; 41 | quint8 RequiredSecurityVersion; 42 | }; 43 | 44 | class QKnxNetIpSecuredServiceFamiliesDibBuilderPrivate; 45 | class Q_KNX_EXPORT QKnxNetIpSecuredServiceFamiliesDibProxy final 46 | { 47 | public: 48 | QKnxNetIpSecuredServiceFamiliesDibProxy() = delete; 49 | ~QKnxNetIpSecuredServiceFamiliesDibProxy() = default; 50 | 51 | QKnxNetIpSecuredServiceFamiliesDibProxy(const QKnxNetIpDib &&) = delete; 52 | explicit QKnxNetIpSecuredServiceFamiliesDibProxy(const QKnxNetIpDib &dib); 53 | 54 | bool isValid() const; 55 | 56 | QKnxNetIp::DescriptionType descriptionType() const; 57 | QList serviceInfos() const; 58 | 59 | class Q_KNX_EXPORT Builder final 60 | { 61 | public: 62 | Builder(); 63 | ~Builder(); 64 | 65 | Builder &setServiceInfos(const QList &infos); 66 | 67 | QKnxNetIpDib create() const; 68 | 69 | Builder(const Builder &other); 70 | Builder &operator=(const Builder &other); 71 | 72 | private: 73 | QSharedDataPointer d_ptr; 74 | }; 75 | static QKnxNetIpSecuredServiceFamiliesDibProxy::Builder builder(); 76 | 77 | private: 78 | const QKnxNetIpDib &m_dib; 79 | }; 80 | 81 | QT_END_NAMESPACE 82 | 83 | #endif 84 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipserverinfo_p.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPSERVERINFO_P_H 31 | #define QKNXNETIPSERVERINFO_P_H 32 | 33 | // 34 | // W A R N I N G 35 | // ------------- 36 | // 37 | // This file is not part of the Qt KNX API. It exists for the convenience 38 | // of the Qt KNX implementation. This header file may change from version 39 | // to version without notice, or even be removed. 40 | // 41 | // We mean it. 42 | // 43 | 44 | #include 45 | 46 | #include 47 | #include 48 | #include 49 | #include 50 | 51 | #include 52 | #include 53 | 54 | QT_BEGIN_NAMESPACE 55 | 56 | struct Q_KNX_EXPORT QKnxNetIpServerInfoPrivate final : public QSharedData 57 | { 58 | QKnxNetIpServerInfoPrivate() = default; 59 | ~QKnxNetIpServerInfoPrivate() = default; 60 | 61 | QKnxNetIpHpai hpai; 62 | QKnxNetIpDib hardware; 63 | QKnxNetIpDib services; 64 | QKnxNetIpDib tunnelingInfo; 65 | QKnxNetIpDib extendedHardware; 66 | QHostAddress address; 67 | QNetworkInterface iinterface; 68 | }; 69 | 70 | QT_END_NAMESPACE 71 | 72 | #endif 73 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipservicefamiliesdib.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPSERVICEFAMILIESDIB_H 31 | #define QKNXNETIPSERVICEFAMILIESDIB_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | struct Q_KNX_EXPORT QKnxServiceInfo 39 | { 40 | QKnxNetIp::ServiceFamily ServiceFamily; 41 | quint8 ServiceFamilyVersion; 42 | 43 | bool operator==(const QKnxServiceInfo &other) const; 44 | bool operator!=(const QKnxServiceInfo &other) const; 45 | }; 46 | 47 | class Q_KNX_EXPORT QKnxNetIpServiceFamiliesDibProxy final 48 | { 49 | public: 50 | QKnxNetIpServiceFamiliesDibProxy() = delete; 51 | ~QKnxNetIpServiceFamiliesDibProxy() = default; 52 | 53 | QKnxNetIpServiceFamiliesDibProxy(const QKnxNetIpDib &&) = delete; 54 | explicit QKnxNetIpServiceFamiliesDibProxy(const QKnxNetIpDib &dib); 55 | 56 | bool isValid() const; 57 | 58 | QKnxNetIp::DescriptionType descriptionType() const; 59 | QList serviceInfos() const; 60 | 61 | class Q_KNX_EXPORT Builder final 62 | { 63 | public: 64 | Builder &setServiceInfos(const QList &infos); 65 | 66 | QKnxNetIpDib create() const; 67 | 68 | private: 69 | QList m_infos; 70 | }; 71 | static QKnxNetIpServiceFamiliesDibProxy::Builder builder(); 72 | 73 | private: 74 | const QKnxNetIpDib &m_dib; 75 | }; 76 | 77 | QT_END_NAMESPACE 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipsessionrequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPSESSIONREQUEST_H 31 | #define QKNXNETIPSESSIONREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class QKnxNetIpSessionRequestBuilderPrivate; 40 | class Q_KNX_EXPORT QKnxNetIpSessionRequestProxy final 41 | { 42 | public: 43 | QKnxNetIpSessionRequestProxy() = delete; 44 | ~QKnxNetIpSessionRequestProxy() = default; 45 | 46 | QKnxNetIpSessionRequestProxy(const QKnxNetIpFrame &&) = delete; 47 | explicit QKnxNetIpSessionRequestProxy(const QKnxNetIpFrame &frame); 48 | 49 | bool isValid() const; 50 | 51 | QKnxNetIpHpai controlEndpoint() const; 52 | QKnxByteArray publicKey() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder(); 58 | ~Builder(); 59 | 60 | Builder &setControlEndpoint(const QKnxNetIpHpai &hpai); 61 | Builder &setPublicKey(const QKnxByteArray &publicKey); 62 | 63 | QKnxNetIpFrame create() const; 64 | 65 | Builder(const Builder &other); 66 | Builder &operator=(const Builder &other); 67 | 68 | private: 69 | QSharedDataPointer d_ptr; 70 | }; 71 | static QKnxNetIpSessionRequestProxy::Builder builder(); 72 | 73 | private: 74 | const QKnxNetIpFrame &m_frame; 75 | }; 76 | 77 | QT_END_NAMESPACE 78 | 79 | #endif 80 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetipsessionstatus.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPSESSIONSTATUS_H 31 | #define QKNXNETIPSESSIONSTATUS_H 32 | 33 | #include 34 | #include 35 | 36 | QT_BEGIN_NAMESPACE 37 | 38 | class QKnxNetIpSessionStatusBuilderPrivate; 39 | class Q_KNX_EXPORT QKnxNetIpSessionStatusProxy final 40 | { 41 | public: 42 | QKnxNetIpSessionStatusProxy() = delete; 43 | ~QKnxNetIpSessionStatusProxy() = default; 44 | 45 | QKnxNetIpSessionStatusProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpSessionStatusProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | QKnxNetIp::SecureSessionStatus status() const; 50 | 51 | class Q_KNX_EXPORT Builder final 52 | { 53 | public: 54 | Builder(); 55 | ~Builder(); 56 | 57 | Builder &setStatus(QKnxNetIp::SecureSessionStatus status); 58 | 59 | QKnxNetIpFrame create() const; 60 | 61 | Builder(const Builder &other); 62 | Builder &operator=(const Builder &other); 63 | 64 | private: 65 | QSharedDataPointer d_ptr; 66 | }; 67 | static QKnxNetIpSessionStatusProxy::Builder builder(); 68 | 69 | private: 70 | const QKnxNetIpFrame &m_frame; 71 | }; 72 | 73 | QT_END_NAMESPACE 74 | 75 | #endif 76 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiptunnelingacknowledge.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPTUNNELINGACKNOWLEDGE_H 31 | #define QKNXNETIPTUNNELINGACKNOWLEDGE_H 32 | 33 | #include 34 | #include 35 | #include 36 | 37 | QT_BEGIN_NAMESPACE 38 | 39 | class Q_KNX_EXPORT QKnxNetIpTunnelingAcknowledgeProxy final 40 | { 41 | public: 42 | QKnxNetIpTunnelingAcknowledgeProxy() = delete; 43 | ~QKnxNetIpTunnelingAcknowledgeProxy() = default; 44 | 45 | QKnxNetIpTunnelingAcknowledgeProxy(const QKnxNetIpFrame &&) = delete; 46 | explicit QKnxNetIpTunnelingAcknowledgeProxy(const QKnxNetIpFrame &frame); 47 | 48 | bool isValid() const; 49 | 50 | quint8 channelId() const; 51 | quint8 sequenceNumber() const; 52 | QKnxNetIp::Error status() const; 53 | 54 | class Q_KNX_EXPORT Builder final 55 | { 56 | public: 57 | Builder &setChannelId(quint8 channelId); 58 | Builder &setSequenceNumber(quint8 sequenceNumber); 59 | Builder &setStatus(QKnxNetIp::Error status); 60 | 61 | QKnxNetIpFrame create() const; 62 | 63 | private: 64 | quint8 m_channelId; 65 | quint8 m_sequenceNumber; 66 | QKnxNetIp::Error m_status; 67 | }; 68 | static QKnxNetIpTunnelingAcknowledgeProxy::Builder builder(); 69 | 70 | private: 71 | const QKnxNetIpFrame &m_frame; 72 | }; 73 | 74 | QT_END_NAMESPACE 75 | 76 | #endif 77 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiptunnelingfeatureget.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPTUNNELINGFEATUREGET_H 31 | #define QKNXNETIPTUNNELINGFEATUREGET_H 32 | 33 | #include 34 | 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | 40 | class QKnxFeatureBuilderPrivate; 41 | class Q_KNX_EXPORT QKnxNetIpTunnelingFeatureGetProxy final 42 | { 43 | public: 44 | QKnxNetIpTunnelingFeatureGetProxy() = delete; 45 | ~QKnxNetIpTunnelingFeatureGetProxy() = default; 46 | 47 | QKnxNetIpTunnelingFeatureGetProxy(const QKnxNetIpFrame &&) = delete; 48 | explicit QKnxNetIpTunnelingFeatureGetProxy(const QKnxNetIpFrame &frame); 49 | 50 | bool isValid() const; 51 | 52 | quint8 channelId() const; 53 | quint8 sequenceNumber() const; 54 | QKnx::InterfaceFeature featureIdentifier() const; 55 | 56 | class Q_KNX_EXPORT Builder final 57 | { 58 | public: 59 | Builder(); 60 | ~Builder(); 61 | 62 | Builder &setChannelId(quint8 channelId); 63 | Builder &setSequenceNumber(quint8 sequenceNumber); 64 | Builder &setFeatureIdentifier(QKnx::InterfaceFeature id); 65 | 66 | QKnxNetIpFrame create() const; 67 | 68 | Builder(const Builder &other); 69 | Builder &operator=(const Builder &other); 70 | 71 | private: 72 | QSharedDataPointer d_ptr; 73 | }; 74 | static QKnxNetIpTunnelingFeatureGetProxy::Builder builder(); 75 | 76 | private: 77 | const QKnxNetIpFrame &m_frame; 78 | }; 79 | 80 | QT_END_NAMESPACE 81 | 82 | #endif 83 | -------------------------------------------------------------------------------- /src/knx/netip/qknxnetiptunnelingrequest.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXNETIPTUNNELINGREQUEST_H 31 | #define QKNXNETIPTUNNELINGREQUEST_H 32 | 33 | #include 34 | #include 35 | #include 36 | #include 37 | 38 | QT_BEGIN_NAMESPACE 39 | 40 | class Q_KNX_EXPORT QKnxNetIpTunnelingRequestProxy final 41 | { 42 | public: 43 | QKnxNetIpTunnelingRequestProxy() = delete; 44 | ~QKnxNetIpTunnelingRequestProxy() = default; 45 | 46 | QKnxNetIpTunnelingRequestProxy(const QKnxNetIpFrame &&) = delete; 47 | explicit QKnxNetIpTunnelingRequestProxy(const QKnxNetIpFrame &frame); 48 | 49 | bool isValid() const; 50 | 51 | quint8 channelId() const; 52 | quint8 sequenceNumber() const; 53 | QKnxLinkLayerFrame cemi() const; 54 | 55 | class Q_KNX_EXPORT Builder final 56 | { 57 | public: 58 | Builder &setChannelId(quint8 channelId); 59 | Builder &setSequenceNumber(quint8 sequenceNumber); 60 | Builder &setCemi(const QKnxLinkLayerFrame &cemi); 61 | 62 | QKnxNetIpFrame create() const; 63 | 64 | private: 65 | quint8 m_channelId; 66 | quint8 m_sequenceNumber; 67 | QKnxLinkLayerFrame m_cemi; 68 | }; 69 | static QKnxNetIpTunnelingRequestProxy::Builder builder(); 70 | 71 | private: 72 | const QKnxNetIpFrame &m_frame; 73 | }; 74 | 75 | QT_END_NAMESPACE 76 | 77 | #endif 78 | -------------------------------------------------------------------------------- /src/knx/qknxtraits.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXTRAITS_H 31 | #define QKNXTRAITS_H 32 | 33 | #include 34 | 35 | #include 36 | #include 37 | #include 38 | #include 39 | 40 | QT_BEGIN_NAMESPACE 41 | 42 | template struct is_type 43 | { 44 | enum { value = false }; 45 | }; 46 | 47 | template struct is_type 48 | { 49 | enum { value = std::is_same::value || is_type::value }; 50 | }; 51 | 52 | QT_END_NAMESPACE 53 | 54 | #endif 55 | -------------------------------------------------------------------------------- /src/knx/qtknxglobal.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2017 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QTKNXGLOBAL_H 31 | #define QTKNXGLOBAL_H 32 | 33 | #include 34 | 35 | QT_BEGIN_NAMESPACE 36 | 37 | #ifndef QT_STATIC 38 | # if defined(QT_BUILD_KNX_LIB) 39 | # define Q_KNX_EXPORT Q_DECL_EXPORT 40 | # else 41 | # define Q_KNX_EXPORT Q_DECL_IMPORT 42 | # endif 43 | #else 44 | # define Q_KNX_EXPORT 45 | #endif 46 | 47 | using quint48 = quint64; 48 | #define Q_UINT48_MAX Q_UINT64_C(281474976710655) 49 | 50 | QT_END_NAMESPACE 51 | 52 | #endif 53 | -------------------------------------------------------------------------------- /src/knx/qtknxglobal_p.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2018 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QTKNXGLOBAL_P_H 31 | #define QTKNXGLOBAL_P_H 32 | 33 | // 34 | // W A R N I N G 35 | // ------------- 36 | // 37 | // This file is not part of the Qt KNX API. It exists for the convenience 38 | // of the Qt KNX implementation. This header file may change from version 39 | // to version without notice, or even be removed. 40 | // 41 | // We mean it. 42 | // 43 | 44 | #include 45 | #include 46 | 47 | #endif 48 | -------------------------------------------------------------------------------- /src/knx/ssl/qknxssl_p.h: -------------------------------------------------------------------------------- 1 | /****************************************************************************** 2 | ** 3 | ** Copyright (C) 2019 The Qt Company Ltd. 4 | ** Contact: https://www.qt.io/licensing/ 5 | ** 6 | ** This file is part of the QtKnx module. 7 | ** 8 | ** $QT_BEGIN_LICENSE:GPL$ 9 | ** Commercial License Usage 10 | ** Licensees holding valid commercial Qt licenses may use this file in 11 | ** accordance with the commercial license agreement provided with the 12 | ** Software or, alternatively, in accordance with the terms contained in 13 | ** a written agreement between you and The Qt Company. For licensing terms 14 | ** and conditions see https://www.qt.io/terms-conditions. For further 15 | ** information use the contact form at https://www.qt.io/contact-us. 16 | ** 17 | ** GNU General Public License Usage 18 | ** Alternatively, this file may be used under the terms of the GNU 19 | ** General Public License version 3 or (at your option) any later version 20 | ** approved by the KDE Free Qt Foundation. The licenses are as published by 21 | ** the Free Software Foundation and appearing in the file LICENSE.GPL3 22 | ** included in the packaging of this file. Please review the following 23 | ** information to ensure the GNU General Public License requirements will 24 | ** be met: https://www.gnu.org/licenses/gpl-3.0.html. 25 | ** 26 | ** $QT_END_LICENSE$ 27 | ** 28 | ******************************************************************************/ 29 | 30 | #ifndef QKNXSSL_P_H 31 | #define QKNXSSL_P_H 32 | 33 | // 34 | // W A R N I N G 35 | // ------------- 36 | // 37 | // This file is not part of the Qt KNX API. It exists for the convenience 38 | // of the Qt KNX implementation. This header file may change from version 39 | // to version without notice, or even be removed. 40 | // 41 | // We mean it. 42 | // 43 | 44 | #include 45 | 46 | QT_BEGIN_NAMESPACE 47 | 48 | class QKnxSsl 49 | { 50 | public: 51 | enum Mode 52 | { 53 | Decrypt = 0x00, 54 | Encrypt = 0x01 55 | }; 56 | 57 | static bool supportsCryptography(); 58 | static long sslLibraryVersionNumber(); 59 | 60 | static QKnxByteArray doCrypt(const QKnxByteArray &key, const QKnxByteArray &iv, 61 | const QKnxByteArray &data, Mode mode); 62 | }; 63 | 64 | QT_END_NAMESPACE 65 | 66 | #endif 67 | -------------------------------------------------------------------------------- /src/knx/ssl/ssl.pri: -------------------------------------------------------------------------------- 1 | HEADERS += ssl/qknxcryptographicengine.h \ 2 | ssl/qknxsecurekey.h \ 3 | ssl/qknxssl_p.h \ 4 | ssl/qknxkeyring_p.h 5 | 6 | SOURCES += ssl/qknxcryptographicengine.cpp \ 7 | ssl/qknxsecurekey.cpp \ 8 | ssl/qknxssl_openssl.cpp \ 9 | ssl/qknxkeyring.cpp 10 | 11 | qtConfig(opensslv11) { # OpenSSL 1.1 support is required. 12 | SOURCES += ssl/qsslsocket_openssl_symbols.cpp 13 | HEADERS += ssl/qsslsocket_openssl_symbols_p.h \ 14 | ssl/qsslsocket_openssl11_symbols_p.h 15 | 16 | QMAKE_CXXFLAGS += -DOPENSSL_API_COMPAT=0x10100000L 17 | 18 | # Add optional SSL libs 19 | # Static linking of OpenSSL with msvc: 20 | # - Binaries http://slproweb.com/products/Win32OpenSSL.html 21 | # - also needs -lUser32 -lAdvapi32 -lGdi32 -lCrypt32 22 | # - libs in \lib\VC\static 23 | # - configure: -openssl -openssl-linked -I \include -L \lib\VC\static OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32" OPENSSL_LIBS_DEBUG="-lssleay32MDd -llibeay32MDd" OPENSSL_LIBS_RELEASE="-lssleay32MD -llibeay32MD" 24 | 25 | qtConfig(openssl-linked): \ 26 | QMAKE_USE_FOR_PRIVATE += openssl 27 | else: \ 28 | QMAKE_USE_FOR_PRIVATE += openssl/nolink 29 | win32: LIBS_PRIVATE += -lcrypt32 30 | } 31 | -------------------------------------------------------------------------------- /src/src.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | 3 | SUBDIRS = knx 4 | -------------------------------------------------------------------------------- /sync.profile: -------------------------------------------------------------------------------- 1 | %modules = ( 2 | "QtKnx" => "$basedir/src/knx", 3 | ); 4 | 5 | %dependencies = ( 6 | "qtbase" => "" 7 | ); 8 | 9 | %classnames = ( 10 | "qknxnamespace.h" => "QKnx", 11 | "qknxnetip.h" => "NetIp,CemiServer", 12 | "qknxdevicemanagementframefactory.h" => "QKnxDeviceManagementFrameBuilder", 13 | "qknxlinklayerframebuilder.h" => "QKnxLinkLayerFrameBuilder", 14 | "qknxnetiptunnelinginfodib.h" => "QKnxNetIpTunnelingSlotInfo", 15 | "qknxnetipsrp.h" => "QKnxNetIpSrpBuilder", 16 | ); 17 | 18 | %deprecatedheaders = ( 19 | "QtKnx" => { 20 | "qknxglobal.h" => "QtKnx/qtknxglobal.h" 21 | } 22 | ); 23 | -------------------------------------------------------------------------------- /tests/auto/auto.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += cmake \ 3 | qknxadditionalinfo \ 4 | qknxaddress \ 5 | qknxnetipconfigdib \ 6 | qknxnetipconnectionheader \ 7 | qknxnetipconnectionstaterequest \ 8 | qknxnetipconnectionstateresponse \ 9 | qknxnetipconnectrequest \ 10 | qknxnetipconnectresponse \ 11 | qknxnetipcrd \ 12 | qknxnetipcri \ 13 | qknxnetipcurrentconfigdib \ 14 | qknxnetipdescriptionrequest \ 15 | qknxnetipdescriptionresponse \ 16 | qknxnetipdeviceconfigurationacknowledge \ 17 | qknxnetipdeviceconfigurationrequest \ 18 | qknxnetipdevicedib \ 19 | qknxnetipdisconnectrequest \ 20 | qknxnetipdisconnectresponse \ 21 | qknxnetiphpai \ 22 | qknxnetipknxaddressesdib \ 23 | qknxnetipmanufacturerdib \ 24 | qknxnetiproutingbusy \ 25 | qknxnetiproutingindication \ 26 | qknxnetiproutinglostmessage \ 27 | qknxnetipsearchrequest \ 28 | qknxnetipsearchresponse \ 29 | qknxnetipservicefamiliesdib \ 30 | qknxnetipstructure \ 31 | qknxnetiptunnelingacknowledge \ 32 | qknxnetiptunnelingrequest \ 33 | qknxtunnelframe \ 34 | qknxtpdufactory \ 35 | qknxdevicemanagementframe \ 36 | qknxcontrolfield \ 37 | qknxtunnelframefactory \ 38 | qknxdatapointtype \ 39 | qknxproject \ 40 | qknxgroupaddressinfo \ 41 | qknxbytearray \ 42 | qknxnetiptunnelingfeature \ 43 | qknxnetiptunnelinginfodib \ 44 | qknxnetipextendeddevicedib \ 45 | qknxnetiproutingsystembroadcast \ 46 | qknxnetipsecuredservicefamiliesdib \ 47 | qknxnetipsessionrequest \ 48 | qknxnetipsessionresponse \ 49 | qknxnetiprouter \ 50 | qknxcryptographicengine 51 | -------------------------------------------------------------------------------- /tests/auto/cmake/CMakeLists.txt: -------------------------------------------------------------------------------- 1 | 2 | cmake_minimum_required(VERSION 2.8) 3 | 4 | project(qmake_cmake_files) 5 | 6 | enable_testing() 7 | 8 | find_package(Qt5Core REQUIRED) 9 | 10 | include("${_Qt5CTestMacros}") 11 | 12 | test_module_includes( 13 | Knx QKnxNetIpTunnel 14 | ) 15 | -------------------------------------------------------------------------------- /tests/auto/cmake/cmake.pro: -------------------------------------------------------------------------------- 1 | # Cause make to do nothing. 2 | TEMPLATE = subdirs 3 | 4 | CMAKE_QT_MODULES_UNDER_TEST = knx 5 | 6 | CONFIG += ctest_testcase 7 | -------------------------------------------------------------------------------- /tests/auto/qknxadditionalinfo/qknxadditionalinfo.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxadditionalinfo 2 | 3 | QT = core testlib knx 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxadditionalinfo.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxaddress/qknxaddress.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxaddress 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxaddress.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxbytearray/qknxbytearray.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxbytearray 2 | 3 | QT = core testlib knx 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxbytearray.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxcontrolfield/qknxcontrolfield.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxcontrolfield 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxcontrolfield.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxcryptographicengine/qknxcryptographicengine.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxcryptographicengine 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxcryptographicengine.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxdatapointtype/qknxdatapointtype.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxdatapointtype 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxdatapointtype.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxdevicemanagementframe/qknxdevicemanagementframe.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxdevicemanagementframe 2 | 3 | QT = core testlib knx 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxdevicemanagementframe.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxgroupaddressinfo/data/qt.io.knxproj: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/qt/qtknx/6a296d26aef90872b210a807c338503ce59e5062/tests/auto/qknxgroupaddressinfo/data/qt.io.knxproj -------------------------------------------------------------------------------- /tests/auto/qknxgroupaddressinfo/project.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | data/0.xml 4 | data/qt.io.knxproj 5 | 6 | 7 | -------------------------------------------------------------------------------- /tests/auto/qknxgroupaddressinfo/qknxgroupaddressinfo.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxgroupaddressinfo 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | RESOURCES += project.qrc 8 | SOURCES += tst_qknxgroupaddressinfo.cpp 9 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipconfigdib/qknxnetipconfigdib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipconfigdib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipconfigdib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipconnectionheader/qknxnetipconnectionheader.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipconnectionheader 2 | 3 | QT = core testlib knx 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipconnectionheader.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipconnectionstaterequest/qknxnetipconnectionstaterequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipconnectionstaterequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipconnectionstaterequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipconnectionstateresponse/qknxnetipconnectionstateresponse.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipconnectionstateresponse 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipconnectionstateresponse.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipconnectrequest/qknxnetipconnectrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipconnectrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipconnectrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipconnectresponse/qknxnetipconnectresponse.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipconnectresponse 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipconnectresponse.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipcrd/qknxnetipcrd.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipcrd 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipcrd.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipcri/qknxnetipcri.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipcri 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipcri.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipcurrentconfigdib/qknxnetipcurrentconfigdib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipcurrentconfigdib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipcurrentconfigdib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdescriptionrequest/qknxnetipdescriptionrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdescriptionrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdescriptionrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdescriptionresponse/qknxnetipdescriptionresponse.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdescriptionresponse 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdescriptionresponse.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdeviceconfigurationacknowledge/qknxnetipdeviceconfigurationacknowledge.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdeviceconfigurationacknowledge 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdeviceconfigurationacknowledge.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdeviceconfigurationrequest/qknxnetipdeviceconfigurationrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdeviceconfigurationrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdeviceconfigurationrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdevicedib/qknxnetipdevicedib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdevicedib 2 | 3 | CONFIG += testcase c++11 4 | QT = core testlib knx network 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdevicedib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdisconnectrequest/qknxnetipdisconnectrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdisconnectrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdisconnectrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipdisconnectresponse/qknxnetipdisconnectresponse.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipdisconnectresponse 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipdisconnectresponse.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipextendeddevicedib/qknxnetipextendeddevicedib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipextendeddevicedib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipextendeddevicedib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiphpai/qknxnetiphpai.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiphpai 2 | 3 | CONFIG += testcase c++11 4 | QT = core testlib knx network 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiphpai.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipknxaddressesdib/qknxnetipknxaddressesdib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipknxaddressesdib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipknxaddressesdib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipmanufacturerdib/qknxnetipmanufacturerdib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipmanufacturerdib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipmanufacturerdib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiprouter/qknxnetiprouter.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiproutinginterface 2 | 3 | QT = core testlib knx network knx-private 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiprouter.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiproutingbusy/qknxnetiproutingbusy.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiproutingbusy 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiproutingbusy.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiproutingindication/qknxnetiproutingindication.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiproutingindication 2 | 3 | QT = core testlib knx network knx-private 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiproutingindication.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiproutinglostmessage/qknxnetiproutinglostmessage.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiproutinglostmessage 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiproutinglostmessage.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiproutingsystembroadcast/qknxnetiproutingsystembroadcast.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiproutingsystembroadcast 2 | 3 | QT = core testlib knx knx-private network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiproutingsystembroadcast.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipsearchrequest/qknxnetipsearchrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipsearchrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipsearchrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipsearchresponse/qknxnetipsearchresponse.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipsearchresponse 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipsearchresponse.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipsecuredservicefamiliesdib/qknxnetipsecuredservicefamiliesdib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipsecuredservicefamiliesdib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipsecuredservicefamiliesdib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipservicefamiliesdib/qknxnetipservicefamiliesdib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipservicefamiliesdib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipservicefamiliesdib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipsessionrequest/qknxnetipsessionrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipsessionrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipsessionrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipsessionresponse/qknxnetipsessionresponse.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipsessionresponse 2 | QT = core testlib knx network 3 | CONFIG += testcase c++11 4 | 5 | CONFIG -= app_bundle 6 | SOURCES += tst_qknxnetipsessionresponse.cpp 7 | -------------------------------------------------------------------------------- /tests/auto/qknxnetipstructure/qknxnetipstructure.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetipstructure 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetipstructure.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiptunnelingacknowledge/qknxnetiptunnelingacknowledge.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiptunnelingacknowledge 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiptunnelingacknowledge.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiptunnelingfeature/qknxnetiptunnelingfeature.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiptunnelingfeature 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiptunnelingfeature.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiptunnelinginfodib/qknxnetiptunnelinginfodib.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiptunnelinginfodib 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiptunnelinginfodib.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxnetiptunnelingrequest/qknxnetiptunnelingrequest.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxnetiptunnelingrequest 2 | 3 | QT = core testlib knx network 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxnetiptunnelingrequest.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxproject/project.qrc: -------------------------------------------------------------------------------- 1 | 2 | 3 | data/projectinformation.xml 4 | data/trades-busaccess-splitinfos.xml 5 | data/groupaddresses.xml 6 | data/buildings.xml 7 | data/locations.xml 8 | data/topology.xml 9 | data/unassigneddevices.xml 10 | 11 | 12 | -------------------------------------------------------------------------------- /tests/auto/qknxproject/qknxproject.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxproject 2 | 3 | CONFIG += testcase c++11 4 | QT = core testlib knx knx-private 5 | 6 | CONFIG -= app_bundle 7 | RESOURCES += project.qrc 8 | SOURCES += tst_qknxproject.cpp 9 | -------------------------------------------------------------------------------- /tests/auto/qknxtpdufactory/qknxtpdufactory.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxtpdufactory 2 | 3 | QT = core testlib knx knx-private 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxtpdufactory.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxtunnelframe/qknxtunnelframe.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxtunnelframe 2 | 3 | QT = core testlib knx knx-private 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxtunnelframe.cpp 8 | -------------------------------------------------------------------------------- /tests/auto/qknxtunnelframefactory/qknxtunnelframefactory.pro: -------------------------------------------------------------------------------- 1 | TARGET = tst_qknxtunnelframefactory 2 | 3 | QT = core testlib knx knx-private 4 | CONFIG += testcase c++11 5 | 6 | CONFIG -= app_bundle 7 | SOURCES += tst_qknxtunnelframefactory.cpp 8 | -------------------------------------------------------------------------------- /tests/tests.pro: -------------------------------------------------------------------------------- 1 | TEMPLATE = subdirs 2 | SUBDIRS += auto 3 | 4 | CONFIG += no_docs_target 5 | requires(qtHaveModule(testlib)) 6 | --------------------------------------------------------------------------------