├── .tag
├── src
├── src.pro
└── knx
│ ├── ets
│ ├── ets.pri
│ └── manufacturers.h
│ ├── doc
│ ├── images
│ │ ├── qtknx-tunneling-classes.png
│ │ ├── qtknx-datapoint-type-classes.png
│ │ ├── qtknx-device-management-classes.png
│ │ └── qtknx-netip-connection-classes.png
│ ├── src
│ │ ├── external-resources.qdoc
│ │ └── module.qdoc
│ ├── qtknx.qdocconf
│ └── style
│ │ └── style.css
│ ├── core
│ └── core.pri
│ ├── knxproj
│ └── knxproj.pri
│ ├── ssl
│ ├── ssl.pri
│ └── qknxssl_p.h
│ ├── knx.pro
│ ├── qtknxglobal_p.h
│ ├── qtknxglobal.h
│ ├── qknxtraits.h
│ ├── dpt
│ ├── dpt.pri
│ ├── qknx4byteunsignedvalue.h
│ ├── qknx8bitsignedvalue.h
│ ├── qknxutf8string.h
│ ├── qknxvarstring.h
│ ├── qknxelectricalenergy.h
│ ├── qknxchar.h
│ ├── qknxstatusmode3.h
│ ├── qknxcharstring.h
│ ├── qknxentranceaccess.h
│ ├── qknx8bitunsignedvalue.h
│ ├── qknx2bytesignedvalue.h
│ ├── qknx4bytesignedvalue.h
│ └── qknx2byteunsignedvalue.h
│ ├── QtKnx_pch.h
│ └── netip
│ ├── qknxnetipdevicemanagement.h
│ ├── qknxnetipdescriptionrequest.h
│ ├── qknxnetipsecureconfiguration_p.h
│ ├── qknxnetipknxaddressesdib.h
│ ├── qknxnetipserverinfo_p.h
│ ├── qknxnetipdisconnectrequest.h
│ ├── qknxnetipdisconnectresponse.h
│ ├── qknxnetipmanufacturerdib.h
│ ├── qknxnetipconnectionstaterequest.h
│ ├── qknxnetipsessionstatus.h
│ ├── qknxnetipconnectionstateresponse.h
│ ├── qknxnetiphpai.h
│ ├── qknxnetiproutinglostmessage.h
│ ├── qknxnetipcrd.h
│ ├── qknxnetiptunnelingacknowledge.h
│ ├── qknxnetiproutingindication.h
│ ├── qknxnetiptunnelingrequest.h
│ ├── qknxnetipconnectrequest.h
│ ├── qknxnetipservicefamiliesdib.h
│ ├── qknxnetipsessionrequest.h
│ ├── qknxnetiproutingbusy.h
│ ├── qknxnetipdeviceconfigurationacknowledge.h
│ ├── qknxnetipcri.h
│ ├── qknxnetipdescriptionresponse.h
│ ├── qknxnetiproutingsystembroadcast.h
│ ├── qknxnetipdeviceconfigurationrequest.h
│ ├── qknxnetiptunnelingfeatureget.h
│ ├── qknxnetipconnectresponse.h
│ ├── qknxnetipextendeddevicedib.h
│ ├── qknxnetipconnectionheader.h
│ ├── qknxnetipframeheader.h
│ └── qknxnetipsecuredservicefamiliesdib.h
├── examples
├── knx
│ ├── doc
│ │ ├── images
│ │ │ ├── device.png
│ │ │ ├── group.png
│ │ │ ├── features.png
│ │ │ ├── editor-main.png
│ │ │ ├── tunnel-tab.jpg
│ │ │ └── editor-devman.jpg
│ │ └── examples.qdoc
│ ├── knx.pro
│ ├── router
│ │ └── router.pro
│ ├── knxproj
│ │ └── knxproj.pro
│ ├── discoverer
│ │ └── discoverer.pro
│ ├── tunnelclient
│ │ └── tunnelclient.pro
│ ├── device
│ │ ├── device.pro
│ │ ├── main.cpp
│ │ ├── deviceitem.cpp
│ │ └── deviceitem.h
│ ├── feature
│ │ ├── feature.pro
│ │ ├── main.cpp
│ │ ├── deviceitem.cpp
│ │ └── deviceitem.h
│ ├── group
│ │ ├── group.pro
│ │ ├── main.cpp
│ │ ├── deviceitem.cpp
│ │ └── deviceitem.h
│ └── knxeditor
│ │ ├── knxeditor.pro
│ │ ├── tunnelingfeatures.h
│ │ └── main.cpp
└── examples.pro
├── tests
├── tests.pro
└── auto
│ ├── qknxgroupaddressinfo
│ ├── data
│ │ └── qt.io.knxproj
│ ├── project.qrc
│ └── qknxgroupaddressinfo.pro
│ ├── cmake
│ ├── cmake.pro
│ └── CMakeLists.txt
│ ├── qknxaddress
│ └── qknxaddress.pro
│ ├── qknxbytearray
│ └── qknxbytearray.pro
│ ├── qknxnetipcrd
│ └── qknxnetipcrd.pro
│ ├── qknxnetipcri
│ └── qknxnetipcri.pro
│ ├── qknxnetiphpai
│ └── qknxnetiphpai.pro
│ ├── qknxadditionalinfo
│ └── qknxadditionalinfo.pro
│ ├── qknxcontrolfield
│ └── qknxcontrolfield.pro
│ ├── qknxtpdufactory
│ └── qknxtpdufactory.pro
│ ├── qknxtunnelframe
│ └── qknxtunnelframe.pro
│ ├── qknxdatapointtype
│ └── qknxdatapointtype.pro
│ ├── qknxnetipconfigdib
│ └── qknxnetipconfigdib.pro
│ ├── qknxnetipdevicedib
│ └── qknxnetipdevicedib.pro
│ ├── qknxnetipstructure
│ └── qknxnetipstructure.pro
│ ├── qknxproject
│ ├── qknxproject.pro
│ └── project.qrc
│ ├── qknxnetiprouter
│ └── qknxnetiprouter.pro
│ ├── qknxnetiproutingbusy
│ └── qknxnetiproutingbusy.pro
│ ├── qknxcryptographicengine
│ └── qknxcryptographicengine.pro
│ ├── qknxdevicemanagementframe
│ └── qknxdevicemanagementframe.pro
│ ├── qknxnetipconnectionheader
│ └── qknxnetipconnectionheader.pro
│ ├── qknxnetipconnectrequest
│ └── qknxnetipconnectrequest.pro
│ ├── qknxnetipsearchrequest
│ └── qknxnetipsearchrequest.pro
│ ├── qknxnetipsearchresponse
│ └── qknxnetipsearchresponse.pro
│ ├── qknxnetipsessionrequest
│ └── qknxnetipsessionrequest.pro
│ ├── qknxnetipsessionresponse
│ └── qknxnetipsessionresponse.pro
│ ├── qknxtunnelframefactory
│ └── qknxtunnelframefactory.pro
│ ├── qknxnetipconnectresponse
│ └── qknxnetipconnectresponse.pro
│ ├── qknxnetipknxaddressesdib
│ └── qknxnetipknxaddressesdib.pro
│ ├── qknxnetipmanufacturerdib
│ └── qknxnetipmanufacturerdib.pro
│ ├── qknxnetipcurrentconfigdib
│ └── qknxnetipcurrentconfigdib.pro
│ ├── qknxnetiptunnelingfeature
│ └── qknxnetiptunnelingfeature.pro
│ ├── qknxnetiptunnelinginfodib
│ └── qknxnetiptunnelinginfodib.pro
│ ├── qknxnetiptunnelingrequest
│ └── qknxnetiptunnelingrequest.pro
│ ├── qknxnetipdisconnectrequest
│ └── qknxnetipdisconnectrequest.pro
│ ├── qknxnetipextendeddevicedib
│ └── qknxnetipextendeddevicedib.pro
│ ├── qknxnetipdescriptionrequest
│ └── qknxnetipdescriptionrequest.pro
│ ├── qknxnetipdescriptionresponse
│ └── qknxnetipdescriptionresponse.pro
│ ├── qknxnetipdisconnectresponse
│ └── qknxnetipdisconnectresponse.pro
│ ├── qknxnetiproutinglostmessage
│ └── qknxnetiproutinglostmessage.pro
│ ├── qknxnetipservicefamiliesdib
│ └── qknxnetipservicefamiliesdib.pro
│ ├── qknxnetiproutingindication
│ └── qknxnetiproutingindication.pro
│ ├── qknxnetiptunnelingacknowledge
│ └── qknxnetiptunnelingacknowledge.pro
│ ├── qknxnetipconnectionstaterequest
│ └── qknxnetipconnectionstaterequest.pro
│ ├── qknxnetipconnectionstateresponse
│ └── qknxnetipconnectionstateresponse.pro
│ ├── qknxnetiproutingsystembroadcast
│ └── qknxnetiproutingsystembroadcast.pro
│ ├── qknxnetipsecuredservicefamiliesdib
│ └── qknxnetipsecuredservicefamiliesdib.pro
│ ├── qknxnetipdeviceconfigurationrequest
│ └── qknxnetipdeviceconfigurationrequest.pro
│ ├── qknxnetipdeviceconfigurationacknowledge
│ └── qknxnetipdeviceconfigurationacknowledge.pro
│ └── auto.pro
├── .qmake.conf
├── dependencies.yaml
├── qtknx.pro
├── sync.profile
└── dist
├── changes-5.14.0
├── changes-5.15.0
├── changes-5.14.1
├── changes-5.15.1
├── changes-5.14.2
└── changes-5.11.2
/.tag:
--------------------------------------------------------------------------------
1 | 6a296d26aef90872b210a807c338503ce59e5062
2 |
--------------------------------------------------------------------------------
/src/src.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 |
3 | SUBDIRS = knx
4 |
--------------------------------------------------------------------------------
/examples/knx/doc/images/device.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/examples/knx/doc/images/device.png
--------------------------------------------------------------------------------
/examples/knx/doc/images/group.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/examples/knx/doc/images/group.png
--------------------------------------------------------------------------------
/examples/knx/doc/images/features.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/examples/knx/doc/images/features.png
--------------------------------------------------------------------------------
/examples/knx/doc/images/editor-main.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/examples/knx/doc/images/editor-main.png
--------------------------------------------------------------------------------
/examples/knx/doc/images/tunnel-tab.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/examples/knx/doc/images/tunnel-tab.jpg
--------------------------------------------------------------------------------
/examples/knx/doc/images/editor-devman.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/examples/knx/doc/images/editor-devman.jpg
--------------------------------------------------------------------------------
/tests/tests.pro:
--------------------------------------------------------------------------------
1 | TEMPLATE = subdirs
2 | SUBDIRS += auto
3 |
4 | CONFIG += no_docs_target
5 | requires(qtHaveModule(testlib))
6 |
--------------------------------------------------------------------------------
/.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 |
--------------------------------------------------------------------------------
/dependencies.yaml:
--------------------------------------------------------------------------------
1 | dependencies:
2 | ../qtbase:
3 | ref: e356ab2c32248838f70fce38b35294a151a7e278
4 | required: true
5 |
--------------------------------------------------------------------------------
/src/knx/ets/ets.pri:
--------------------------------------------------------------------------------
1 | INCLUDEPATH += $$PWD
2 |
3 | SOURCES += $$PWD/manufacturers.cpp
4 | PUBLIC_HEADERS += $$PWD/manufacturers.h
5 |
--------------------------------------------------------------------------------
/examples/examples.pro:
--------------------------------------------------------------------------------
1 | requires(qtHaveModule(knx))
2 | requires(qtHaveModule(network))
3 |
4 | TEMPLATE = subdirs
5 | SUBDIRS += knx
6 |
--------------------------------------------------------------------------------
/src/knx/doc/images/qtknx-tunneling-classes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/src/knx/doc/images/qtknx-tunneling-classes.png
--------------------------------------------------------------------------------
/src/knx/doc/images/qtknx-datapoint-type-classes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/src/knx/doc/images/qtknx-datapoint-type-classes.png
--------------------------------------------------------------------------------
/tests/auto/qknxgroupaddressinfo/data/qt.io.knxproj:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/tests/auto/qknxgroupaddressinfo/data/qt.io.knxproj
--------------------------------------------------------------------------------
/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-device-management-classes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/src/knx/doc/images/qtknx-device-management-classes.png
--------------------------------------------------------------------------------
/src/knx/doc/images/qtknx-netip-connection-classes.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/qt/qtknx/HEAD/src/knx/doc/images/qtknx-netip-connection-classes.png
--------------------------------------------------------------------------------
/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/qknxgroupaddressinfo/project.qrc:
--------------------------------------------------------------------------------
1 |
2 |
3 | data/0.xml
4 | data/qt.io.knxproj
5 |
6 |
7 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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.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.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.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 |
--------------------------------------------------------------------------------
/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.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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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/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/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/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/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/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/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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 |
--------------------------------------------------------------------------------
/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/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/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/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/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 |
--------------------------------------------------------------------------------
/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/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------
/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 |
--------------------------------------------------------------------------------