summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.cmake.conf5
-rw-r--r--.gitignore366
-rw-r--r--.qmake.conf3
-rw-r--r--CMakeLists.txt22
-rw-r--r--LICENSE.GPL3-EXCEPT704
-rw-r--r--LICENSES/BSD-3-Clause.txt9
-rw-r--r--LICENSES/GFDL-1.3-no-invariants-only.txt (renamed from LICENSE.FDL)23
-rw-r--r--LICENSES/GPL-2.0-only.txt (renamed from LICENSE.GPL2)0
-rw-r--r--LICENSES/GPL-3.0-only.txt (renamed from LICENSE.GPL3)0
-rw-r--r--LICENSES/LGPL-3.0-only.txt (renamed from LICENSE.LGPL3)0
-rw-r--r--LICENSES/LicenseRef-Qt-Commercial.txt8
-rw-r--r--LICENSES/Qt-GPL-exception-1.0.txt22
-rw-r--r--cmake/FindSensorfw.cmake13
-rw-r--r--coin/axivion/ci_config_linux.json44
-rw-r--r--coin/module_config.yaml13
-rw-r--r--config.tests/winrt/CMakeLists.txt37
-rw-r--r--config.tests/winrt/main.cpp26
-rw-r--r--configure.cmake24
-rw-r--r--dependencies.yaml7
-rw-r--r--dist/changes-5.12.520
-rw-r--r--dist/changes-5.13.024
-rw-r--r--dist/changes-5.13.120
-rw-r--r--dist/changes-5.13.220
-rw-r--r--dist/changes-5.14.018
-rw-r--r--dist/changes-5.14.120
-rw-r--r--dist/changes-5.14.220
-rw-r--r--dist/changes-5.15.018
-rw-r--r--dist/changes-5.15.120
-rw-r--r--examples/CMakeLists.txt8
-rw-r--r--examples/sensors/CMakeLists.txt6
-rw-r--r--examples/sensors/accelbubble/accelbubble.pro28
-rw-r--r--examples/sensors/accelbubble/accelbubble.qml133
-rw-r--r--examples/sensors/accelbubble/accelbubble.qrc6
-rw-r--r--examples/sensors/accelbubble/android/AndroidManifest.xml79
-rw-r--r--examples/sensors/accelbubble/content/Bluebubble.svg10
-rw-r--r--examples/sensors/accelbubble/doc/images/accelbubble.pngbin5025 -> 0 bytes
-rw-r--r--examples/sensors/accelbubble/doc/src/accelbubble.qdoc56
-rw-r--r--examples/sensors/accelbubble/main.cpp61
-rw-r--r--examples/sensors/grue/console_app/console_app.pro14
-rw-r--r--examples/sensors/grue/console_app/main.cpp99
-rw-r--r--examples/sensors/grue/doc/images/qtsensors-examples-grue.pngbin7511 -> 0 bytes
-rw-r--r--examples/sensors/grue/doc/src/grue.qdoc153
-rw-r--r--examples/sensors/grue/grue.pngbin9319 -> 0 bytes
-rw-r--r--examples/sensors/grue/grue.pro9
-rw-r--r--examples/sensors/grue/grue.qml129
-rw-r--r--examples/sensors/grue/grue.xcfbin23704 -> 0 bytes
-rw-r--r--examples/sensors/grue/icon.xcfbin22397 -> 0 bytes
-rw-r--r--examples/sensors/grue/import/import.json1
-rw-r--r--examples/sensors/grue/import/import.pro37
-rw-r--r--examples/sensors/grue/import/main.cpp159
-rw-r--r--examples/sensors/grue/import/qmldir2
-rw-r--r--examples/sensors/grue/lib/gruesensor.cpp159
-rw-r--r--examples/sensors/grue/lib/gruesensor.h96
-rw-r--r--examples/sensors/grue/lib/gruesensor_p.h76
-rw-r--r--examples/sensors/grue/lib/lib.pri6
-rw-r--r--examples/sensors/grue/lib/lib.pro20
-rw-r--r--examples/sensors/grue/main.cpp52
-rw-r--r--examples/sensors/grue/plugin/gruesensorimpl.cpp150
-rw-r--r--examples/sensors/grue/plugin/gruesensorimpl.h87
-rw-r--r--examples/sensors/grue/plugin/main.cpp91
-rw-r--r--examples/sensors/grue/plugin/plugin.json1
-rw-r--r--examples/sensors/grue/plugin/plugin.pro30
-rw-r--r--examples/sensors/grue/qml.pro22
-rw-r--r--examples/sensors/grue/qml.qrc6
-rw-r--r--examples/sensors/maze/Congratulation.qml71
-rw-r--r--examples/sensors/maze/LabyrinthSquare.qml90
-rw-r--r--examples/sensors/maze/Mouse.qml92
-rw-r--r--examples/sensors/maze/android/AndroidManifest.xml56
-rw-r--r--examples/sensors/maze/components/ApplicationWindow.qml61
-rw-r--r--examples/sensors/maze/components/Button.qml85
-rw-r--r--examples/sensors/maze/components/images/button_background_disabled.pngbin579 -> 0 bytes
-rw-r--r--examples/sensors/maze/components/images/button_background_normal.pngbin901 -> 0 bytes
-rw-r--r--examples/sensors/maze/components/images/button_background_pressed.pngbin228 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/00.pngbin70 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/01.pngbin540 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/cheese.pngbin156 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/cheeseeating.gifbin650 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/congratulations.gifbin10811 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/mouse_down.gifbin974 -> 0 bytes
-rw-r--r--examples/sensors/maze/content/start.pngbin505 -> 0 bytes
-rw-r--r--examples/sensors/maze/doc/src/maze.qdoc67
-rw-r--r--examples/sensors/maze/lib.js264
-rw-r--r--examples/sensors/maze/main.cpp52
-rw-r--r--examples/sensors/maze/maze.pro19
-rw-r--r--examples/sensors/maze/maze.qml299
-rw-r--r--examples/sensors/maze/maze.qrc21
-rw-r--r--examples/sensors/qmlqtsensors/components/ApplicationWindow.qml59
-rw-r--r--examples/sensors/qmlqtsensors/components/Button.qml85
-rw-r--r--examples/sensors/qmlqtsensors/components/Divider.qml71
-rw-r--r--examples/sensors/qmlqtsensors/components/images/button_background_disabled.pngbin579 -> 0 bytes
-rw-r--r--examples/sensors/qmlqtsensors/components/images/button_background_normal.pngbin901 -> 0 bytes
-rw-r--r--examples/sensors/qmlqtsensors/components/images/button_background_pressed.pngbin228 -> 0 bytes
-rw-r--r--examples/sensors/qmlqtsensors/doc/src/qmlqtsensors.qdoc70
-rw-r--r--examples/sensors/qmlqtsensors/main.cpp52
-rw-r--r--examples/sensors/qmlqtsensors/qmlqtsensors.pro14
-rw-r--r--examples/sensors/qmlqtsensors/qmlqtsensors.qml257
-rw-r--r--examples/sensors/qmlqtsensors/qmlqtsensors.qrc11
-rw-r--r--examples/sensors/qmlsensorgestures/Button.qml139
-rw-r--r--examples/sensors/qmlsensorgestures/GestureList.qml146
-rw-r--r--examples/sensors/qmlsensorgestures/GestureView.qml162
-rw-r--r--examples/sensors/qmlsensorgestures/GesturesView.qml166
-rw-r--r--examples/sensors/qmlsensorgestures/doc/src/qmlsensorgestures.qdoc68
-rw-r--r--examples/sensors/qmlsensorgestures/main.cpp52
-rw-r--r--examples/sensors/qmlsensorgestures/plugin/plugin.pro30
-rw-r--r--examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp85
-rw-r--r--examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h76
-rw-r--r--examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.cpp99
-rw-r--r--examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.h80
-rw-r--r--examples/sensors/qmlsensorgestures/qml.pro13
-rw-r--r--examples/sensors/qmlsensorgestures/qml.qrc9
-rw-r--r--examples/sensors/qmlsensorgestures/qmlsensorgestures.pro6
-rw-r--r--examples/sensors/qmlsensorgestures/qmlsensorgestures.qml127
-rw-r--r--examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.pngbin39820 -> 0 bytes
-rw-r--r--examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc104
-rw-r--r--examples/sensors/sensor_explorer/import/explorer.cpp152
-rw-r--r--examples/sensors/sensor_explorer/import/explorer.h88
-rw-r--r--examples/sensors/sensor_explorer/import/import.json1
-rw-r--r--examples/sensors/sensor_explorer/import/import.pro37
-rw-r--r--examples/sensors/sensor_explorer/import/main.cpp75
-rw-r--r--examples/sensors/sensor_explorer/import/propertyinfo.cpp149
-rw-r--r--examples/sensors/sensor_explorer/import/propertyinfo.h92
-rw-r--r--examples/sensors/sensor_explorer/import/qmldir2
-rw-r--r--examples/sensors/sensor_explorer/import/sensoritem.cpp331
-rw-r--r--examples/sensors/sensor_explorer/import/sensoritem.h105
-rw-r--r--examples/sensors/sensor_explorer/main.cpp74
-rw-r--r--examples/sensors/sensor_explorer/qml.pro21
-rw-r--r--examples/sensors/sensor_explorer/sensor_explorer.pro6
-rw-r--r--examples/sensors/sensor_explorer/sensor_explorer.qml224
-rw-r--r--examples/sensors/sensorgestures/doc/images/sensorgesturecpp.pngbin33013 -> 0 bytes
-rw-r--r--examples/sensors/sensorgestures/doc/src/sensorgestures.qdoc67
-rw-r--r--examples/sensors/sensorgestures/main.cpp61
-rw-r--r--examples/sensors/sensorgestures/mainwindow.cpp178
-rw-r--r--examples/sensors/sensorgestures/mainwindow.h86
-rw-r--r--examples/sensors/sensorgestures/mainwindow.ui84
-rw-r--r--examples/sensors/sensorgestures/sensorgestures.pro14
-rw-r--r--examples/sensors/sensors.pro20
-rw-r--r--examples/sensors/sensorsshowcase/Accelerometer.qml70
-rw-r--r--examples/sensors/sensorsshowcase/CMakeLists.txt72
-rw-r--r--examples/sensors/sensorsshowcase/Compass.qml61
-rw-r--r--examples/sensors/sensorsshowcase/Gyroscope.qml128
-rw-r--r--examples/sensors/sensorsshowcase/Info.plist (renamed from examples/sensors/accelbubble/Info.plist)10
-rw-r--r--examples/sensors/sensorsshowcase/Magnetometer.qml68
-rw-r--r--examples/sensors/sensorsshowcase/Main.qml116
-rw-r--r--examples/sensors/sensorsshowcase/ProgressXYZBar.qml45
-rw-r--r--examples/sensors/sensorsshowcase/Proximity.qml55
-rw-r--r--examples/sensors/sensorsshowcase/android/AndroidManifest.xml57
-rw-r--r--examples/sensors/sensorsshowcase/android/res/drawable-hdpi/icon.pngbin0 -> 1352 bytes
-rw-r--r--examples/sensors/sensorsshowcase/android/res/drawable-ldpi/icon.pngbin0 -> 578 bytes
-rw-r--r--examples/sensors/sensorsshowcase/android/res/drawable-mdpi/icon.pngbin0 -> 962 bytes
-rw-r--r--examples/sensors/sensorsshowcase/android/res/drawable-xhdpi/icon.pngbin0 -> 1944 bytes
-rw-r--r--examples/sensors/sensorsshowcase/android/res/drawable-xxhdpi/icon.pngbin0 -> 3030 bytes
-rw-r--r--examples/sensors/sensorsshowcase/android/res/drawable-xxxhdpi/icon.pngbin0 -> 4290 bytes
-rw-r--r--examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-gyroscope.webpbin0 -> 11922 bytes
-rw-r--r--examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-mainview.webpbin0 -> 16784 bytes
-rw-r--r--examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc78
-rw-r--r--examples/sensors/sensorsshowcase/images/compass.svg222
-rw-r--r--examples/sensors/sensorsshowcase/images/magnet.svg98
-rw-r--r--examples/sensors/sensorsshowcase/images/qt_logo.pngbin0 -> 14809 bytes
-rw-r--r--examples/sensors/sensorsshowcase/main.cpp18
-rw-r--r--examples/sensors/sensorsshowcase/qmldir9
-rw-r--r--examples/sensors/sensorsshowcase/qtquickcontrols2.conf6
-rw-r--r--examples/sensors/sensorsshowcase/sensorsshowcase.pro46
-rw-r--r--examples/sensors/sensorsshowcase/sensorsupport.h41
-rw-r--r--examples/sensors/shakeit/audio/loopy2a_mono.wavbin67772 -> 0 bytes
-rw-r--r--examples/sensors/shakeit/audio/phone.wavbin22094 -> 0 bytes
-rw-r--r--examples/sensors/shakeit/content/triangle.pngbin7251 -> 0 bytes
-rw-r--r--examples/sensors/shakeit/content/triangle2.pngbin5633 -> 0 bytes
-rw-r--r--examples/sensors/shakeit/content/triangle3.pngbin5101 -> 0 bytes
-rw-r--r--examples/sensors/shakeit/doc/images/shakeit.pngbin29380 -> 0 bytes
-rw-r--r--examples/sensors/shakeit/doc/src/shakeit.qdoc64
-rw-r--r--examples/sensors/shakeit/main.cpp52
-rw-r--r--examples/sensors/shakeit/shakeit.pro15
-rw-r--r--examples/sensors/shakeit/shakeit.qml334
-rw-r--r--examples/sensors/shakeit/shakeit.qrc10
-rw-r--r--examples/sensors/stub.h61
-rw-r--r--licenseRule.json89
-rw-r--r--qt_cmdline.cmake1
-rw-r--r--qtsensors.pro3
-rw-r--r--src/CMakeLists.txt8
-rw-r--r--src/imports/imports.pro4
-rw-r--r--src/imports/sensors/plugin.json1
-rw-r--r--src/imports/sensors/plugins.qmltypes613
-rw-r--r--src/imports/sensors/qmlaccelerometer.h107
-rw-r--r--src/imports/sensors/qmlaltimeter.cpp131
-rw-r--r--src/imports/sensors/qmlaltimeter.h84
-rw-r--r--src/imports/sensors/qmlambientlightsensor.h86
-rw-r--r--src/imports/sensors/qmlambienttemperaturesensor.cpp131
-rw-r--r--src/imports/sensors/qmlambienttemperaturesensor.h84
-rw-r--r--src/imports/sensors/qmlcompass.cpp148
-rw-r--r--src/imports/sensors/qmlcompass.h88
-rw-r--r--src/imports/sensors/qmldir4
-rw-r--r--src/imports/sensors/qmldistancesensor.cpp131
-rw-r--r--src/imports/sensors/qmldistancesensor.h85
-rw-r--r--src/imports/sensors/qmlgyroscope.cpp164
-rw-r--r--src/imports/sensors/qmlgyroscope.h92
-rw-r--r--src/imports/sensors/qmlholstersensor.cpp131
-rw-r--r--src/imports/sensors/qmlholstersensor.h84
-rw-r--r--src/imports/sensors/qmlhumiditysensor.cpp150
-rw-r--r--src/imports/sensors/qmlhumiditysensor.h90
-rw-r--r--src/imports/sensors/qmlirproximitysensor.cpp129
-rw-r--r--src/imports/sensors/qmlirproximitysensor.h83
-rw-r--r--src/imports/sensors/qmllidsensor.cpp149
-rw-r--r--src/imports/sensors/qmllidsensor.h88
-rw-r--r--src/imports/sensors/qmllightsensor.cpp145
-rw-r--r--src/imports/sensors/qmllightsensor.h89
-rw-r--r--src/imports/sensors/qmlmagnetometer.h102
-rw-r--r--src/imports/sensors/qmlorientationsensor.h86
-rw-r--r--src/imports/sensors/qmlpressuresensor.cpp151
-rw-r--r--src/imports/sensors/qmlpressuresensor.h88
-rw-r--r--src/imports/sensors/qmlproximitysensor.cpp131
-rw-r--r--src/imports/sensors/qmlproximitysensor.h86
-rw-r--r--src/imports/sensors/qmlrotationsensor.h98
-rw-r--r--src/imports/sensors/qmlsensorgesture.cpp262
-rw-r--r--src/imports/sensors/qmlsensorgesture.h100
-rw-r--r--src/imports/sensors/qmlsensorglobal.cpp121
-rw-r--r--src/imports/sensors/qmlsensorglobal.h70
-rw-r--r--src/imports/sensors/qmlsensorrange.cpp88
-rw-r--r--src/imports/sensors/qmlsensorrange.h94
-rw-r--r--src/imports/sensors/qmltapsensor.h96
-rw-r--r--src/imports/sensors/qmltiltsensor.cpp163
-rw-r--r--src/imports/sensors/qmltiltsensor.h90
-rw-r--r--src/imports/sensors/sensors.cpp244
-rw-r--r--src/imports/sensors/sensors.pro56
-rw-r--r--src/plugins/CMakeLists.txt1
-rw-r--r--src/plugins/plugins.pro3
-rw-r--r--src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp144
-rw-r--r--src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.h84
-rw-r--r--src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.cpp99
-rw-r--r--src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.h78
-rw-r--r--src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.cpp123
-rw-r--r--src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.h80
-rw-r--r--src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.cpp222
-rw-r--r--src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.h92
-rw-r--r--src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.cpp213
-rw-r--r--src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.h87
-rw-r--r--src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp231
-rw-r--r--src/plugins/sensorgestures/qtsensors/qshake2recognizer.h116
-rw-r--r--src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.cpp215
-rw-r--r--src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.h100
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp113
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h68
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp193
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.h98
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtsensors.pro37
-rw-r--r--src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.cpp139
-rw-r--r--src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.h80
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp291
-rw-r--r--src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h96
-rw-r--r--src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp241
-rw-r--r--src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h100
-rw-r--r--src/plugins/sensorgestures/sensorgestures.pro2
-rw-r--r--src/plugins/sensorgestures/shake/qshakerecognizer.cpp160
-rw-r--r--src/plugins/sensorgestures/shake/qshakerecognizer.h98
-rw-r--r--src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp74
-rw-r--r--src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h65
-rw-r--r--src/plugins/sensorgestures/shake/shake.pro16
-rw-r--r--src/plugins/sensors/CMakeLists.txt30
-rw-r--r--src/plugins/sensors/android/CMakeLists.txt35
-rw-r--r--src/plugins/sensors/android/android.pro41
-rw-r--r--src/plugins/sensors/android/androidaccelerometer.cpp40
-rw-r--r--src/plugins/sensors/android/androidaccelerometer.h40
-rw-r--r--src/plugins/sensors/android/androidcompass.cpp40
-rw-r--r--src/plugins/sensors/android/androidcompass.h40
-rw-r--r--src/plugins/sensors/android/androidgyroscope.cpp40
-rw-r--r--src/plugins/sensors/android/androidgyroscope.h40
-rw-r--r--src/plugins/sensors/android/androidlight.cpp40
-rw-r--r--src/plugins/sensors/android/androidlight.h40
-rw-r--r--src/plugins/sensors/android/androidmagnetometer.cpp40
-rw-r--r--src/plugins/sensors/android/androidmagnetometer.h40
-rw-r--r--src/plugins/sensors/android/androidpressure.cpp40
-rw-r--r--src/plugins/sensors/android/androidpressure.h40
-rw-r--r--src/plugins/sensors/android/androidproximity.cpp42
-rw-r--r--src/plugins/sensors/android/androidproximity.h42
-rw-r--r--src/plugins/sensors/android/androidrotation.cpp81
-rw-r--r--src/plugins/sensors/android/androidrotation.h40
-rw-r--r--src/plugins/sensors/android/androidtemperature.cpp40
-rw-r--r--src/plugins/sensors/android/androidtemperature.h40
-rw-r--r--src/plugins/sensors/android/main.cpp58
-rw-r--r--src/plugins/sensors/android/sensoreventqueue.h43
-rw-r--r--src/plugins/sensors/android/sensormanager.cpp80
-rw-r--r--src/plugins/sensors/android/sensormanager.h57
-rw-r--r--src/plugins/sensors/dummy/CMakeLists.txt30
-rw-r--r--src/plugins/sensors/dummy/dummy.pro19
-rw-r--r--src/plugins/sensors/dummy/dummyaccelerometer.cpp40
-rw-r--r--src/plugins/sensors/dummy/dummyaccelerometer.h40
-rw-r--r--src/plugins/sensors/dummy/dummycommon.cpp42
-rw-r--r--src/plugins/sensors/dummy/dummycommon.h40
-rw-r--r--src/plugins/sensors/dummy/dummylightsensor.cpp40
-rw-r--r--src/plugins/sensors/dummy/dummylightsensor.h40
-rw-r--r--src/plugins/sensors/dummy/main.cpp44
-rw-r--r--src/plugins/sensors/generic/CMakeLists.txt36
-rw-r--r--src/plugins/sensors/generic/generic.pro29
-rw-r--r--src/plugins/sensors/generic/genericalssensor.cpp40
-rw-r--r--src/plugins/sensors/generic/genericalssensor.h40
-rw-r--r--src/plugins/sensors/generic/genericorientationsensor.cpp40
-rw-r--r--src/plugins/sensors/generic/genericorientationsensor.h40
-rw-r--r--src/plugins/sensors/generic/genericrotationsensor.cpp40
-rw-r--r--src/plugins/sensors/generic/genericrotationsensor.h40
-rw-r--r--src/plugins/sensors/generic/generictiltsensor.cpp42
-rw-r--r--src/plugins/sensors/generic/generictiltsensor.h40
-rw-r--r--src/plugins/sensors/generic/main.cpp77
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/CMakeLists.txt50
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iio-sensor-proxy.pro31
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.cpp42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.h42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.cpp42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.h42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.cpp42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.h42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.cpp42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.h42
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/main.cpp54
-rw-r--r--src/plugins/sensors/iio-sensor-proxy/org.freedesktop.DBus.Properties.xml2
-rw-r--r--src/plugins/sensors/ios/CMakeLists.txt59
-rw-r--r--src/plugins/sensors/ios/ios.pro49
-rw-r--r--src/plugins/sensors/ios/iosaccelerometer.h40
-rw-r--r--src/plugins/sensors/ios/iosaccelerometer.mm40
-rw-r--r--src/plugins/sensors/ios/ioscompass.h40
-rw-r--r--src/plugins/sensors/ios/ioscompass.mm40
-rw-r--r--src/plugins/sensors/ios/iosgyroscope.h40
-rw-r--r--src/plugins/sensors/ios/iosgyroscope.mm40
-rw-r--r--src/plugins/sensors/ios/iosmagnetometer.h40
-rw-r--r--src/plugins/sensors/ios/iosmagnetometer.mm44
-rw-r--r--src/plugins/sensors/ios/iosmotionmanager.h40
-rw-r--r--src/plugins/sensors/ios/iosmotionmanager.mm40
-rw-r--r--src/plugins/sensors/ios/iospressure.h37
-rw-r--r--src/plugins/sensors/ios/iospressure.mm65
-rw-r--r--src/plugins/sensors/ios/iosproximitysensor.h40
-rw-r--r--src/plugins/sensors/ios/iosproximitysensor.mm45
-rw-r--r--src/plugins/sensors/ios/main.mm55
-rw-r--r--src/plugins/sensors/linux/linux.pro13
-rw-r--r--src/plugins/sensors/linux/linuxsysaccelerometer.cpp188
-rw-r--r--src/plugins/sensors/linux/linuxsysaccelerometer.h74
-rw-r--r--src/plugins/sensors/linux/main.cpp72
-rw-r--r--src/plugins/sensors/linux/plugin.json1
-rw-r--r--src/plugins/sensors/sensorfw/CMakeLists.txt38
-rw-r--r--src/plugins/sensors/sensorfw/main.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfw.pro16
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwaccelerometer.cpp45
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwaccelerometer.h44
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwals.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwals.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwcompass.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwcompass.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwgyroscope.cpp45
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwgyroscope.h45
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwirproximitysensor.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwirproximitysensor.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwlidsensor.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwlidsensor.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwlightsensor.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp47
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwmagnetometer.h45
-rw-r--r--src/plugins/sensors/sensorfw/sensorfworientationsensor.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfworientationsensor.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwproximitysensor.h40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwrotationsensor.cpp45
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwrotationsensor.h43
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp47
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwsensorbase.h42
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwtapsensor.cpp40
-rw-r--r--src/plugins/sensors/sensorfw/sensorfwtapsensor.h40
-rw-r--r--src/plugins/sensors/sensors.pro45
-rw-r--r--src/plugins/sensors/sensortag/Sensors.conf13
-rw-r--r--src/plugins/sensors/sensortag/main.cpp113
-rw-r--r--src/plugins/sensors/sensortag/plugin.json1
-rw-r--r--src/plugins/sensors/sensortag/sensortag.pri22
-rw-r--r--src/plugins/sensors/sensortag/sensortag.pro11
-rw-r--r--src/plugins/sensors/sensortag/sensortagaccelerometer.cpp82
-rw-r--r--src/plugins/sensors/sensortag/sensortagaccelerometer.h68
-rw-r--r--src/plugins/sensors/sensortag/sensortagals.cpp97
-rw-r--r--src/plugins/sensors/sensortag/sensortagals.h68
-rw-r--r--src/plugins/sensors/sensortag/sensortagbase.cpp600
-rw-r--r--src/plugins/sensors/sensortag/sensortagbase.h252
-rw-r--r--src/plugins/sensors/sensortag/sensortaggyroscope.cpp84
-rw-r--r--src/plugins/sensors/sensortag/sensortaggyroscope.h67
-rw-r--r--src/plugins/sensors/sensortag/sensortaghumiditysensor.cpp74
-rw-r--r--src/plugins/sensors/sensortag/sensortaghumiditysensor.h62
-rw-r--r--src/plugins/sensors/sensortag/sensortaglightsensor.cpp78
-rw-r--r--src/plugins/sensors/sensortag/sensortaglightsensor.h66
-rw-r--r--src/plugins/sensors/sensortag/sensortagmagnetometer.cpp80
-rw-r--r--src/plugins/sensors/sensortag/sensortagmagnetometer.h69
-rw-r--r--src/plugins/sensors/sensortag/sensortagpressuresensor.cpp73
-rw-r--r--src/plugins/sensors/sensortag/sensortagpressuresensor.h65
-rw-r--r--src/plugins/sensors/sensortag/sensortagtemperaturesensor.cpp73
-rw-r--r--src/plugins/sensors/sensortag/sensortagtemperaturesensor.h62
-rw-r--r--src/plugins/sensors/simulator/main.cpp143
-rw-r--r--src/plugins/sensors/simulator/plugin.json1
-rw-r--r--src/plugins/sensors/simulator/qsensordata_simulator.cpp143
-rw-r--r--src/plugins/sensors/simulator/qsensordata_simulator_p.h128
-rw-r--r--src/plugins/sensors/simulator/simulator.pro32
-rw-r--r--src/plugins/sensors/simulator/simulatoraccelerometer.cpp71
-rw-r--r--src/plugins/sensors/simulator/simulatoraccelerometer.h59
-rw-r--r--src/plugins/sensors/simulator/simulatorambientlightsensor.cpp89
-rw-r--r--src/plugins/sensors/simulator/simulatorambientlightsensor.h59
-rw-r--r--src/plugins/sensors/simulator/simulatorcommon.cpp252
-rw-r--r--src/plugins/sensors/simulator/simulatorcommon.h105
-rw-r--r--src/plugins/sensors/simulator/simulatorcompass.cpp69
-rw-r--r--src/plugins/sensors/simulator/simulatorcompass.h59
-rw-r--r--src/plugins/sensors/simulator/simulatorirproximitysensor.cpp67
-rw-r--r--src/plugins/sensors/simulator/simulatorirproximitysensor.h59
-rw-r--r--src/plugins/sensors/simulator/simulatorlightsensor.cpp67
-rw-r--r--src/plugins/sensors/simulator/simulatorlightsensor.h59
-rw-r--r--src/plugins/sensors/simulator/simulatormagnetometer.cpp73
-rw-r--r--src/plugins/sensors/simulator/simulatormagnetometer.h59
-rw-r--r--src/plugins/sensors/simulator/simulatorproximitysensor.cpp67
-rw-r--r--src/plugins/sensors/simulator/simulatorproximitysensor.h59
-rw-r--r--src/plugins/sensors/winrt/CMakeLists.txt32
-rw-r--r--src/plugins/sensors/winrt/main.cpp63
-rw-r--r--src/plugins/sensors/winrt/winrt.pro27
-rw-r--r--src/plugins/sensors/winrt/winrtaccelerometer.cpp87
-rw-r--r--src/plugins/sensors/winrt/winrtaccelerometer.h40
-rw-r--r--src/plugins/sensors/winrt/winrtambientlightsensor.cpp84
-rw-r--r--src/plugins/sensors/winrt/winrtambientlightsensor.h40
-rw-r--r--src/plugins/sensors/winrt/winrtcommon.cpp40
-rw-r--r--src/plugins/sensors/winrt/winrtcommon.h40
-rw-r--r--src/plugins/sensors/winrt/winrtcompass.cpp86
-rw-r--r--src/plugins/sensors/winrt/winrtcompass.h40
-rw-r--r--src/plugins/sensors/winrt/winrtgyroscope.cpp88
-rw-r--r--src/plugins/sensors/winrt/winrtgyroscope.h42
-rw-r--r--src/plugins/sensors/winrt/winrtorientationsensor.cpp83
-rw-r--r--src/plugins/sensors/winrt/winrtorientationsensor.h40
-rw-r--r--src/plugins/sensors/winrt/winrtrotationsensor.cpp85
-rw-r--r--src/plugins/sensors/winrt/winrtrotationsensor.h42
-rw-r--r--src/sensors/CMakeLists.txt95
-rw-r--r--src/sensors/configure.cmake58
-rw-r--r--src/sensors/doc/images/sensorgesture-cover.pngbin23183 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-doubletap.pngbin30073 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-facedown.pngbin17917 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-faceup.pngbin35115 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-flat.pngbin21828 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-hover.pngbin22512 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-shake.pngbin34512 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-slam_1.pngbin26212 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-slam_2.pngbin29763 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-twist.pngbin29643 -> 0 bytes
-rw-r--r--src/sensors/doc/images/sensorgesture-whip.pngbin32058 -> 0 bytes
-rw-r--r--src/sensors/doc/qtsensors-module-use.qdocinc15
-rw-r--r--src/sensors/doc/qtsensors.qdocconf26
-rw-r--r--src/sensors/doc/snippets/sensorgestures/creating.cpp72
-rw-r--r--src/sensors/doc/snippets/sensorgestures/main.cpp44
-rw-r--r--src/sensors/doc/snippets/sensorgestures/myplugin.h82
-rw-r--r--src/sensors/doc/snippets/sensorgestures/plugin.cpp99
-rw-r--r--src/sensors/doc/snippets/sensorgestures/sensorgestures.pro8
-rw-r--r--src/sensors/doc/snippets/sensors/CMakeLists.txt32
-rw-r--r--src/sensors/doc/snippets/sensors/creating.cpp44
-rw-r--r--src/sensors/doc/snippets/sensors/main.cpp40
-rw-r--r--src/sensors/doc/snippets/sensors/mybackend.h40
-rw-r--r--src/sensors/doc/snippets/sensors/plugin.cpp42
-rw-r--r--src/sensors/doc/snippets/sensors/sensors.pro10
-rw-r--r--src/sensors/doc/snippets/sensors/start.cpp84
-rw-r--r--src/sensors/doc/snippets/sensors/tutorial.cpp25
-rw-r--r--src/sensors/doc/snippets/snippets.pro5
-rw-r--r--src/sensors/doc/src/compatmap.qdoc281
-rw-r--r--src/sensors/doc/src/genericbackend.qdoc28
-rw-r--r--src/sensors/doc/src/porting.qdoc126
-rw-r--r--src/sensors/doc/src/qt6-changes.qdoc94
-rw-r--r--src/sensors/doc/src/qtsensorgestures-cpp.qdoc70
-rw-r--r--src/sensors/doc/src/qtsensorgestures-emulator.qdoc49
-rw-r--r--src/sensors/doc/src/qtsensorgestures-plugins.qdoc167
-rw-r--r--src/sensors/doc/src/qtsensors-backend.qdoc53
-rw-r--r--src/sensors/doc/src/qtsensors-cpp.qdoc45
-rw-r--r--src/sensors/doc/src/qtsensors-modules.qdoc58
-rw-r--r--src/sensors/doc/src/qtsensors-tutorial.qdoc36
-rw-r--r--src/sensors/doc/src/qtsensors.qdoc174
-rw-r--r--src/sensors/doc/src/qtsensors5.qdoc80
-rw-r--r--src/sensors/doc/src/sensor-examples.qdoc29
-rw-r--r--src/sensors/doc/src/sensorfwbackend.qdoc28
-rw-r--r--src/sensors/gestures/qsensorgesture.cpp252
-rw-r--r--src/sensors/gestures/qsensorgesture.h93
-rw-r--r--src/sensors/gestures/qsensorgesture_p.h85
-rw-r--r--src/sensors/gestures/qsensorgesturemanager.cpp138
-rw-r--r--src/sensors/gestures/qsensorgesturemanager.h77
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate.cpp244
-rw-r--r--src/sensors/gestures/qsensorgesturemanagerprivate_p.h111
-rw-r--r--src/sensors/gestures/qsensorgestureplugininterface.cpp97
-rw-r--r--src/sensors/gestures/qsensorgestureplugininterface.h67
-rw-r--r--src/sensors/gestures/qsensorgesturerecognizer.cpp214
-rw-r--r--src/sensors/gestures/qsensorgesturerecognizer.h83
-rw-r--r--src/sensors/gestures/simulatorgesturescommon.cpp121
-rw-r--r--src/sensors/gestures/simulatorgesturescommon_p.h92
-rwxr-xr-xsrc/sensors/make_sensor.pl131
-rw-r--r--src/sensors/qaccelerometer.cpp46
-rw-r--r--src/sensors/qaccelerometer.h47
-rw-r--r--src/sensors/qaccelerometer_p.h40
-rw-r--r--src/sensors/qaltimeter.cpp150
-rw-r--r--src/sensors/qaltimeter.h81
-rw-r--r--src/sensors/qaltimeter_p.h68
-rw-r--r--src/sensors/qambientlightsensor.cpp46
-rw-r--r--src/sensors/qambientlightsensor.h47
-rw-r--r--src/sensors/qambientlightsensor_p.h42
-rw-r--r--src/sensors/qambienttemperaturesensor.cpp47
-rw-r--r--src/sensors/qambienttemperaturesensor.h44
-rw-r--r--src/sensors/qambienttemperaturesensor_p.h42
-rw-r--r--src/sensors/qcompass.cpp48
-rw-r--r--src/sensors/qcompass.h44
-rw-r--r--src/sensors/qcompass_p.h42
-rw-r--r--src/sensors/qdistancesensor.cpp162
-rw-r--r--src/sensors/qdistancesensor.h82
-rw-r--r--src/sensors/qdistancesensor_p.h75
-rw-r--r--src/sensors/qgyroscope.cpp46
-rw-r--r--src/sensors/qgyroscope.h44
-rw-r--r--src/sensors/qgyroscope_p.h42
-rw-r--r--src/sensors/qholstersensor.cpp156
-rw-r--r--src/sensors/qholstersensor.h81
-rw-r--r--src/sensors/qholstersensor_p.h68
-rw-r--r--src/sensors/qhumiditysensor.cpp47
-rw-r--r--src/sensors/qhumiditysensor.h44
-rw-r--r--src/sensors/qhumiditysensor_p.h40
-rw-r--r--src/sensors/qirproximitysensor.cpp47
-rw-r--r--src/sensors/qirproximitysensor.h44
-rw-r--r--src/sensors/qirproximitysensor_p.h42
-rw-r--r--src/sensors/qlidsensor.cpp50
-rw-r--r--src/sensors/qlidsensor.h44
-rw-r--r--src/sensors/qlidsensor_p.h42
-rw-r--r--src/sensors/qlightsensor.cpp46
-rw-r--r--src/sensors/qlightsensor.h44
-rw-r--r--src/sensors/qlightsensor_p.h40
-rw-r--r--src/sensors/qmagnetometer.cpp46
-rw-r--r--src/sensors/qmagnetometer.h44
-rw-r--r--src/sensors/qmagnetometer_p.h42
-rw-r--r--src/sensors/qorientationsensor.cpp46
-rw-r--r--src/sensors/qorientationsensor.h47
-rw-r--r--src/sensors/qorientationsensor_p.h42
-rw-r--r--src/sensors/qpressuresensor.cpp47
-rw-r--r--src/sensors/qpressuresensor.h44
-rw-r--r--src/sensors/qpressuresensor_p.h42
-rw-r--r--src/sensors/qproximitysensor.cpp46
-rw-r--r--src/sensors/qproximitysensor.h44
-rw-r--r--src/sensors/qproximitysensor_p.h42
-rw-r--r--src/sensors/qrotationsensor.cpp46
-rw-r--r--src/sensors/qrotationsensor.h44
-rw-r--r--src/sensors/qrotationsensor_p.h40
-rw-r--r--src/sensors/qsensor.cpp56
-rw-r--r--src/sensors/qsensor.h70
-rw-r--r--src/sensors/qsensor_p.h42
-rw-r--r--src/sensors/qsensorbackend.cpp60
-rw-r--r--src/sensors/qsensorbackend.h44
-rw-r--r--src/sensors/qsensorbackend_p.h40
-rw-r--r--src/sensors/qsensormanager.cpp105
-rw-r--r--src/sensors/qsensormanager.h40
-rw-r--r--src/sensors/qsensorplugin.cpp40
-rw-r--r--src/sensors/qsensorplugin.h40
-rw-r--r--src/sensors/qsensorsglobal.h55
-rw-r--r--src/sensors/qt_cmdline.cmake0
-rw-r--r--src/sensors/qtapsensor.cpp59
-rw-r--r--src/sensors/qtapsensor.h47
-rw-r--r--src/sensors/qtapsensor_p.h40
-rw-r--r--src/sensors/qtiltsensor.cpp61
-rw-r--r--src/sensors/qtiltsensor.h44
-rw-r--r--src/sensors/qtiltsensor_p.h42
-rw-r--r--src/sensors/sensorlog_p.h42
-rw-r--r--src/sensors/sensors.pro87
-rw-r--r--src/sensorsquick/CMakeLists.txt39
-rw-r--r--src/sensorsquick/qmlaccelerometer.cpp (renamed from src/imports/sensors/qmlaccelerometer.cpp)84
-rw-r--r--src/sensorsquick/qmlaccelerometer_p.h94
-rw-r--r--src/sensorsquick/qmlambientlightsensor.cpp (renamed from src/imports/sensors/qmlambientlightsensor.cpp)62
-rw-r--r--src/sensorsquick/qmlambientlightsensor_p.h70
-rw-r--r--src/sensorsquick/qmlambienttemperaturesensor.cpp95
-rw-r--r--src/sensorsquick/qmlambienttemperaturesensor_p.h68
-rw-r--r--src/sensorsquick/qmlcompass.cpp113
-rw-r--r--src/sensorsquick/qmlcompass_p.h73
-rw-r--r--src/sensorsquick/qmlgyroscope.cpp130
-rw-r--r--src/sensorsquick/qmlgyroscope_p.h78
-rw-r--r--src/sensorsquick/qmlhumiditysensor.cpp115
-rw-r--r--src/sensorsquick/qmlhumiditysensor_p.h77
-rw-r--r--src/sensorsquick/qmlirproximitysensor.cpp96
-rw-r--r--src/sensorsquick/qmlirproximitysensor_p.h67
-rw-r--r--src/sensorsquick/qmllidsensor.cpp116
-rw-r--r--src/sensorsquick/qmllidsensor_p.h75
-rw-r--r--src/sensorsquick/qmllightsensor.cpp109
-rw-r--r--src/sensorsquick/qmllightsensor_p.h72
-rw-r--r--src/sensorsquick/qmlmagnetometer.cpp (renamed from src/imports/sensors/qmlmagnetometer.cpp)95
-rw-r--r--src/sensorsquick/qmlmagnetometer_p.h93
-rw-r--r--src/sensorsquick/qmlorientationsensor.cpp (renamed from src/imports/sensors/qmlorientationsensor.cpp)62
-rw-r--r--src/sensorsquick/qmlorientationsensor_p.h69
-rw-r--r--src/sensorsquick/qmlpressuresensor.cpp115
-rw-r--r--src/sensorsquick/qmlpressuresensor_p.h74
-rw-r--r--src/sensorsquick/qmlproximitysensor.cpp95
-rw-r--r--src/sensorsquick/qmlproximitysensor_p.h68
-rw-r--r--src/sensorsquick/qmlrotationsensor.cpp (renamed from src/imports/sensors/qmlrotationsensor.cpp)90
-rw-r--r--src/sensorsquick/qmlrotationsensor_p.h83
-rw-r--r--src/sensorsquick/qmlsensor.cpp (renamed from src/imports/sensors/qmlsensor.cpp)243
-rw-r--r--src/sensorsquick/qmlsensor_p.h (renamed from src/imports/sensors/qmlsensor.h)142
-rw-r--r--src/sensorsquick/qmlsensorglobal.cpp86
-rw-r--r--src/sensorsquick/qmlsensorglobal_p.h50
-rw-r--r--src/sensorsquick/qmlsensorrange.cpp52
-rw-r--r--src/sensorsquick/qmlsensorrange_p.h77
-rw-r--r--src/sensorsquick/qmltapsensor.cpp (renamed from src/imports/sensors/qmltapsensor.cpp)76
-rw-r--r--src/sensorsquick/qmltapsensor_p.h83
-rw-r--r--src/sensorsquick/qmltiltsensor.cpp128
-rw-r--r--src/sensorsquick/qmltiltsensor_p.h75
-rw-r--r--src/sensorsquick/qsensorsquickglobal_p.h23
-rw-r--r--src/src.pro18
-rw-r--r--sync.profile5
-rw-r--r--tests/CMakeLists.txt9
-rw-r--r--tests/auto/CMakeLists.txt8
-rw-r--r--tests/auto/auto.pro14
-rw-r--r--tests/auto/bic/data/QtSensors.5.13.0.linux-gcc-amd64.txt6821
-rw-r--r--tests/auto/bic/data/QtSensors.5.14.0.linux-gcc-amd64.txt6860
-rw-r--r--tests/auto/cmake/CMakeLists.txt48
-rw-r--r--tests/auto/cmake/cmake.pro7
-rw-r--r--tests/auto/common/test_backends.cpp160
-rw-r--r--tests/auto/common/test_backends.h (renamed from tests/auto/qsensor/test_backends.h)59
-rw-r--r--tests/auto/legacy_sensors/legacy_sensors.pro15
-rw-r--r--tests/auto/legacy_sensors/tst_legacy_sensors.cpp266
-rw-r--r--tests/auto/legacy_sensors_qml/tst_qsensor.qml192
-rw-r--r--tests/auto/qml/CMakeLists.txt2
-rw-r--r--tests/auto/qml/qml_cpp/CMakeLists.txt13
-rw-r--r--tests/auto/qml/qml_cpp/tst_sensors_qmlcpp.cpp278
-rw-r--r--tests/auto/qml/qml_quick/CMakeLists.txt20
-rw-r--r--tests/auto/qml/qml_quick/tst_sensors_basic.qml226
-rw-r--r--tests/auto/qml/qml_quick/tst_sensors_qmlquick.cpp41
-rw-r--r--tests/auto/qsensor/CMakeLists.txt22
-rw-r--r--tests/auto/qsensor/qsensor.pro27
-rw-r--r--tests/auto/qsensor/test_backends.cpp82
-rw-r--r--tests/auto/qsensor/test_sensor.cpp31
-rw-r--r--tests/auto/qsensor/test_sensor.h33
-rw-r--r--tests/auto/qsensor/test_sensor2.cpp53
-rw-r--r--tests/auto/qsensor/test_sensor2.h65
-rw-r--r--tests/auto/qsensor/test_sensor2_p.h29
-rw-r--r--tests/auto/qsensor/test_sensor2impl.cpp29
-rw-r--r--tests/auto/qsensor/test_sensor2impl.h29
-rw-r--r--tests/auto/qsensor/test_sensor_p.h29
-rw-r--r--tests/auto/qsensor/test_sensorimpl.cpp31
-rw-r--r--tests/auto/qsensor/test_sensorimpl.h29
-rw-r--r--tests/auto/qsensor/test_sensorplugin.cpp41
-rw-r--r--tests/auto/qsensor/tst_qsensor.cpp179
-rw-r--r--tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro17
-rw-r--r--tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp202
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp86
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h63
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp93
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h66
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp95
-rw-r--r--tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h70
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp83
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h62
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp82
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h64
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp93
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h60
-rw-r--r--tests/auto/qsensorgestures/plugins/test1/test1.pro18
-rw-r--r--tests/auto/qsensorgestures/qsensorgestures.pro34
-rw-r--r--tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp615
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat249
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat161
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat256
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat204
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat258
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat260
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat246
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat364
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat85
-rw-r--r--tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat188
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat296
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat161
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat248
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat234
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_notpickup.dat400
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat653
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat187
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat195
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat204
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat196
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat157
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat228
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat595
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat260
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat252
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat361
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat151
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat43
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat148
-rw-r--r--tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat42
-rw-r--r--tests/auto/qsensorgestures_gestures/mockbackends.h104
-rw-r--r--tests/auto/qsensorgestures_gestures/mockcommon.cpp242
-rw-r--r--tests/auto/qsensorgestures_gestures/mockcommon.h181
-rw-r--r--tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro21
-rw-r--r--tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp449
-rw-r--r--tests/auto/qtsensors5/qtsensors5.pro6
-rw-r--r--tests/auto/qtsensors5/tst_qtsensors5.cpp54
-rw-r--r--tests/auto/sensors2qmlapi/qtemplategestureplugin.cpp65
-rw-r--r--tests/auto/sensors2qmlapi/qtemplategestureplugin.h53
-rw-r--r--tests/auto/sensors2qmlapi/qtemplaterecognizer.cpp123
-rw-r--r--tests/auto/sensors2qmlapi/qtemplaterecognizer.h80
-rw-r--r--tests/auto/sensors2qmlapi/sensors2qmlapi.pro16
-rw-r--r--tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp175
-rw-r--r--tests/manual/CMakeLists.txt10
-rw-r--r--tests/manual/sensor_explorer/explorer.h72
-rw-r--r--tests/manual/sensor_explorer/main.cpp38
-rw-r--r--tests/manual/sensor_explorer/sensor_explorer.pro16
-rw-r--r--tests/manual/sensor_explorer_qml/CMakeLists.txt32
-rw-r--r--tests/manual/sensor_explorer_qml/main.cpp20
-rw-r--r--tests/manual/sensor_explorer_qml/qml.qrc (renamed from examples/sensors/sensor_explorer/qml.qrc)0
-rw-r--r--tests/manual/sensor_explorer_qml/sensor_explorer.qml119
-rw-r--r--tests/manual/sensor_explorer_qml/sensormodels.cpp185
-rw-r--r--tests/manual/sensor_explorer_qml/sensormodels.h61
-rw-r--r--tests/manual/sensor_explorer_widgets/CMakeLists.txt18
-rw-r--r--tests/manual/sensor_explorer_widgets/explorer.cpp (renamed from tests/manual/sensor_explorer/explorer.cpp)58
-rw-r--r--tests/manual/sensor_explorer_widgets/explorer.h47
-rw-r--r--tests/manual/sensor_explorer_widgets/explorer.ui (renamed from tests/manual/sensor_explorer/explorer.ui)0
-rw-r--r--tests/manual/sensor_explorer_widgets/main.cpp13
-rw-r--r--tests/manual/sensorclerk/CMakeLists.txt28
-rw-r--r--tests/manual/sensorclerk/collector.cpp31
-rw-r--r--tests/manual/sensorclerk/collector.h31
-rw-r--r--tests/manual/sensorclerk/main.cpp31
-rw-r--r--tests/manual/sensorclerk/qml/Button.qml117
-rw-r--r--tests/manual/sensorclerk/qml/main.qml39
-rw-r--r--tests/manual/sensorclerk/sensorclerk.pro11
-rw-r--r--tests/systemtests/sys_SensorElements/sys_declarative-sensor-elements.qtt300
-rw-r--r--tests/systemtests/sys_SensorGestures/sys_declarative-sensor-gestures.qtt175
-rw-r--r--tests/tests.pro3
715 files changed, 22245 insertions, 45586 deletions
diff --git a/.cmake.conf b/.cmake.conf
new file mode 100644
index 00000000..dc1d7a92
--- /dev/null
+++ b/.cmake.conf
@@ -0,0 +1,5 @@
+set(QT_REPO_MODULE_VERSION "6.8.0")
+set(QT_REPO_MODULE_PRERELEASE_VERSION_SEGMENT "alpha1")
+set(QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_AS_CONST=1")
+list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_FOREACH=1")
+list(APPEND QT_EXTRA_INTERNAL_TARGET_DEFINES "QT_NO_CONTEXTLESS_CONNECT=1")
diff --git a/.gitignore b/.gitignore
index 66a88065..e9ac2309 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,51 +1,256 @@
# This file is used to ignore files which are generated in the Qt build system
# ----------------------------------------------------------------------------
+# Specific files/paths
+
+# qmake/configure stuff
+#/.qmake.cache
+#/.qmake.stash
+/config.tests/*/*/*
+!/config.tests/*/*/*[.]*
+/config.tests/.qmake.cache
+/config.tests/.qmake.stash
+/config.tests/arch/arch
+/config.tests/conftest-out
+/config.tests/conftest.cpp
+/config.opt
+/config.status*
+/config.summary
+/config.log
+/config.cache
+/mkspecs/modules/qt_*.pri
+/mkspecs/modules-inst/
+/mkspecs/qconfig.pri
+/mkspecs/qdevice.pri
+/mkspecs/qmodule.pri
+/src/corelib/global/qconfig.cpp
+/src/corelib/global/qconfig.h
+/src/corelib/global/qconfig_p.h
+/src/gui/vulkan/qvulkanfunctions.h
+/src/gui/vulkan/qvulkanfunctions_p.cpp
+/src/gui/vulkan/qvulkanfunctions_p.h
+/bin/qt.conf
+/bin/qmake
+/bin/qvkgen
+/qmake/qmake
+qt*-config.h
+qt*-config_p.h
+qt*-config.pri
+*.pyc
+.mypy_cache
+
+/include/
+
+/lib/*
+!/lib/README
+/plugins/
+
+/qml/
+
+/doc/*.qch
+/doc/activeqt
+/doc/qdoc
+/doc/qmake
+/doc/qt*/*
+
+# FIXME: Ignore these again?
+# /examples/*/*/*
+# !/examples/*/*/*[.]*
+# !/examples/*/*/README
+# !/examples/*/doc/*
+# !/examples/*/doc/*/*
+
+/translations/*.qm
+/translations/*_en.ts
+/translations/*_untranslated.ts
+
+# This includes binaries from other modules because of non-prefix builds.
+/bin/assistant
+/bin/designer
+/bin/dumpcpp
+/bin/dumpdoc
+/bin/idc
+/bin/kmap2qmap
+/bin/lconvert
+/bin/linguist
+/bin/lrelease
+/bin/lupdate
+/bin/moc
+/bin/patternist
+/bin/phonon
+/bin/pixeltool
+/bin/qcollectiongenerator
+/bin/qdbus
+/bin/qdbuscpp2xml
+/bin/qdbusviewer
+/bin/qdbusxml2cpp
+/bin/qdoc
+/bin/qev
+/bin/qfloat16-tables
+/bin/qglinfo
+/bin/qgltf
+/bin/qhelpconverter
+/bin/qhelpgenerator
+/bin/qlalr
+/bin/qml
+/bin/qmleasing
+/bin/qmlimportscanner
+/bin/qmljs
+/bin/qmllint
+/bin/qmlmin
+/bin/qmlplugindump
+/bin/qmlprofiler
+/bin/qmlscene
+/bin/qmltestrunner
+/bin/qtattributionsscanner
+/bin/qtdiag
+/bin/qtpaths
+/bin/qtplugininfo
+/bin/rcc
+/bin/servicefw
+/bin/sfwlisten
+/bin/uic
+/bin/xmlpatterns
+/bin/xmlpatternsvalidator
+
+# Unit tests libs/plugins/data
+/tests/auto/cmake/build/
+/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-cache/mime/
+/tests/auto/corelib/mimetypes/qmimedatabase/qmimedatabase-xml/mime/
+/tests/auto/corelib/plugin/qlibrary/libmylib.so2
+/tests/auto/corelib/plugin/qlibrary/mylib.dl2
+/tests/auto/qlibrary/libmylib.so*
+/tests/auto/qmake/testdata/quotedfilenames/test.cpp
+/tests/auto/qprocess/fileWriterProcess.txt
+
+# Unit tests executables (other than those named tst_*)
+/tests/auto/corelib/global/qlogging/app/app
+/tests/auto/corelib/io/qlockfile/qlockfiletesthelper/qlockfile_test_helper
+/tests/auto/corelib/io/qprocess-noapplication/qprocess-noapplication
+/tests/auto/corelib/io/qprocess/testForwarding/testForwarding
+/tests/auto/corelib/io/qprocess/testProcessHang/testProcessHang
+/tests/auto/corelib/io/qresourceengine/qresourceengine
+/tests/auto/corelib/kernel/qsharedmemory/helperbinary
+/tests/auto/corelib/kernel/qsystemsemaphore/helperbinary
+/tests/auto/corelib/plugin/quuid/testProcessUniqueness/testProcessUniqueness
+/tests/auto/corelib/thread/qthreadstorage/crashOnExit
+/tests/auto/corelib/thread/qthreadstorage/crashonexit/crashonexit
+/tests/auto/corelib/tools/qcommandlineparser/testhelper/qcommandlineparser_test_helper
+/tests/auto/dbus/qdbusabstractadaptor/qmyserver/qmyserver
+/tests/auto/dbus/qdbusabstractinterface/qpinger/qpinger
+/tests/auto/dbus/qdbusinterface/qmyserver/qmyserver
+/tests/auto/gui/kernel/qfileopenevent/qfileopeneventexternal/qfileopeneventexternal
+/tests/auto/gui/kernel/qguivariant/no_application/no_application
+/tests/auto/network/socket/qlocalsocket/socketprocess/socketprocess
+/tests/auto/other/qobjectrace/qobjectrace
+/tests/auto/other/qprocess_and_guieventloop/write-read-write/write-read-write
+/tests/auto/testlib/selftests/assert/assert
+/tests/auto/testlib/selftests/badxml/badxml
+/tests/auto/testlib/selftests/benchlibcallgrind/benchlibcallgrind
+/tests/auto/testlib/selftests/benchlibcounting/benchlibcounting
+/tests/auto/testlib/selftests/benchlibeventcounter/benchlibeventcounter
+/tests/auto/testlib/selftests/benchliboptions/benchliboptions
+/tests/auto/testlib/selftests/benchlibtickcounter/benchlibtickcounter
+/tests/auto/testlib/selftests/benchlibwalltime/benchlibwalltime
+/tests/auto/testlib/selftests/blacklisted/blacklisted
+/tests/auto/testlib/selftests/cmptest/cmptest
+/tests/auto/testlib/selftests/commandlinedata/commandlinedata
+/tests/auto/testlib/selftests/counting/counting
+/tests/auto/testlib/selftests/crashes/crashes
+/tests/auto/testlib/selftests/datatable/datatable
+/tests/auto/testlib/selftests/datetime/datetime
+/tests/auto/testlib/selftests/differentexec/differentexec
+/tests/auto/testlib/selftests/exceptionthrow/exceptionthrow
+/tests/auto/testlib/selftests/expectfail/expectfail
+/tests/auto/testlib/selftests/failcleanup/failcleanup
+/tests/auto/testlib/selftests/failinit/failinit
+/tests/auto/testlib/selftests/failinitdata/failinitdata
+/tests/auto/testlib/selftests/fetchbogus/fetchbogus
+/tests/auto/testlib/selftests/findtestdata/findtestdata
+/tests/auto/testlib/selftests/float/float
+/tests/auto/testlib/selftests/globaldata/globaldata
+/tests/auto/testlib/selftests/longstring/longstring
+/tests/auto/testlib/selftests/maxwarnings/maxwarnings
+/tests/auto/testlib/selftests/multiexec/multiexec
+/tests/auto/testlib/selftests/printdatatags/printdatatags
+/tests/auto/testlib/selftests/printdatatagswithglobaltags/printdatatagswithglobaltags
+/tests/auto/testlib/selftests/qexecstringlist/qexecstringlist
+/tests/auto/testlib/selftests/silent/silent
+/tests/auto/testlib/selftests/singleskip/singleskip
+/tests/auto/testlib/selftests/skip/skip
+/tests/auto/testlib/selftests/skipcleanup/skipcleanup
+/tests/auto/testlib/selftests/skipglobal/skipglobal
+/tests/auto/testlib/selftests/skipinit/skipinit
+/tests/auto/testlib/selftests/skipinitdata/skipinitdata
+/tests/auto/testlib/selftests/sleep/sleep
+/tests/auto/testlib/selftests/strcmp/strcmp
+/tests/auto/testlib/selftests/subtest/subtest
+/tests/auto/testlib/selftests/verbose1/verbose1
+/tests/auto/testlib/selftests/verbose2/verbose2
+/tests/auto/testlib/selftests/verifyexceptionthrown/verifyexceptionthrown
+/tests/auto/testlib/selftests/waitwithoutgui/waitwithoutgui
+/tests/auto/testlib/selftests/warnings/warnings
+/tests/auto/testlib/selftests/xunit/xunit
+/tests/auto/widgets/kernel/qapplication/modal/modal
+
+QObject.log
+tst_*
+!tst_*.*
+tst_*.log
+tst_*.debug
+tst_*~
+
+# Generic directories
+.metadata/
+.pc/
+debug/
+release/
+tmp/
+tmp-debug/
+tmp-debug-shared/
+tmp-release/
+tmp-release-shared/
+qtc-qmldump/
+qtc-qmldbg/
+*.app/
+*.d/
+
+# Generic files
+.#*
+.com.apple.timemachine.supported
+.DS_Store
+callgrind.out.*
+core
+Makefile*
+!/qmake/Makefile.win32*
+!/qmake/Makefile.unix
+pcviewer.cfg
+tags
*~
*.a
*.la
*.core
-*.moc
+*.dll
+*.exe
+*.dylib
+*.gcov
+*.gcda
+*.gcno
+*.lib
+!Info.plist.lib
*.o
*.obj
*.orig
*.swp
*.rej
*.so
+*.so.*
*.pbxuser
*.mode1
*.mode1v3
-*_pch.h.cpp
*_resource.rc
-.#*
*.*#
-core
-.qmake.cache
-.qmake.vars
-config.log
-*.prl
-tags
-.DS_Store
*.debug
-Makefile*
-*.app
-*.pro.user
-*.qmlproject.user
-*.gcov
-moc_*.cpp
-ui_*.h
-qrc_*.cpp
-
-# Test generated files
-QObject.log
-tst_*
-!tst_*.*
-tst_*.log
-tst_*.moc
-tst_*.o
-tst_*.debug
-tst_*~
-tests/auto/cmake/build
# xemacs temporary files
*.flc
@@ -60,50 +265,69 @@ tests/auto/cmake/build
*.pdb
*.sln
*.suo
-*.vcproj
-*vcproj.*.*.user
*.ncb
*.vcxproj
*.vcxproj.filters
*.vcxproj.user
-*.exe
-*.manifest
-*.res
-
-# MinGW generated files
-*.Debug
-*.Release
-
-# Generated documentation
-doc/src/snippets/sensorgestures/sensorgesturessdocsnippet
-doc/src/snippets/sensors/sensorsdocsnippet
-
-# Generated example binaries
-examples/sensors/accel/accel
-examples/sensors/accelbubble/accelbubble
-examples/sensors/grue/console_app/detect_grue
-examples/sensors/grue/grue
-examples/sensors/grue/lib/*gruesensor*
-examples/sensors/maze/maze
-examples/sensors/qmlqtsensors/qmlqtsensors
-examples/sensors/qmlsensorgestures/qmlsensorgestures
-examples/sensors/sensor_explorer/sensor_explorer
-examples/sensors/sensorgestures/gesture
-examples/sensors/shakeit/shakeit
-
-# Generated config test binaries
-config.tests/bbsensor_compass/bbsensor_compass
-config.tests/bbsensor_header/bbsensor_header
-config.tests/bbsensor_holster/bbsensor_holster
-
-# Directories to ignore
-# ---------------------
-
-include
-mkspecs
-doc/qtsensors
-
-# These shouldn't even be in the source directory!
-src/sensors/qtsensorsversion.h
-src/qtmsensors/qtmsensorsversion.h
+*.exe.embed.manifest
+*.exe_manifest.rc
+*.exe_manifest.res
+
+# Visual Studio Code generated files
+.vscode
+
+# CLion generated files
+.idea
+
+# Qt Creator generated files
+*.pro.user*
+*.qmlproject.user*
+CMakeLists.txt.user*
+
+# INTEGRITY generated files
+*.ael
+*.dla
+*.dnm
+*.dep
+*.map
+
+# Precompiled headers
+*.gch
+*.pchi
+*.pchi.cpp
+*_pch.obj
+*_pch.pch
+
+# Qt-specific files
+codeattributions.qdoc
+moc_*.cpp
+qrc_*.cpp
+ui_*.h
+*.moc
+*.prl
+*.rcc
+
+# Generated by qt_module.prf
+*.version
+*.version.in
+
+# Generated by qtPrepareTool()
+wrapper.sh
+wrapper.bat
+*_wrapper.sh
+*_wrapper.bat
+
+# Generated by dbusxml2cpp
+*_interface.*
+*_adaptor.*
+
+# Generated by qt.prf
+*_plugin_import.cpp
+# cmake related artifacts
+/build*
+CMakeFiles
+CTestTestfile.cmake
+cmake_install.cmake
+*_autogen
+tst_*.xml
diff --git a/.qmake.conf b/.qmake.conf
deleted file mode 100644
index b5454e50..00000000
--- a/.qmake.conf
+++ /dev/null
@@ -1,3 +0,0 @@
-load(qt_build_config)
-
-MODULE_VERSION = 5.12.5
diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100644
index 00000000..c447bd34
--- /dev/null
+++ b/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+
+cmake_minimum_required(VERSION 3.16)
+
+include(.cmake.conf)
+
+project(QtSensors
+ VERSION "${QT_REPO_MODULE_VERSION}"
+ DESCRIPTION "Qt Sensors Libraries"
+ HOMEPAGE_URL "https://qt.io/"
+ LANGUAGES CXX C
+)
+
+find_package(Qt6 ${PROJECT_VERSION} CONFIG REQUIRED COMPONENTS BuildInternals Core)
+find_package(Qt6 ${PROJECT_VERSION} CONFIG OPTIONAL_COMPONENTS
+ Xml Gui Widgets Quick Qml Svg DBus QuickTest
+)
+qt_internal_project_setup()
+
+qt_build_repo()
diff --git a/LICENSE.GPL3-EXCEPT b/LICENSE.GPL3-EXCEPT
deleted file mode 100644
index b1cb1bec..00000000
--- a/LICENSE.GPL3-EXCEPT
+++ /dev/null
@@ -1,704 +0,0 @@
-This is the GNU General Public License version 3, annotated with The
-Qt Company GPL Exception 1.0:
-
--------------------------------------------------------------------------
-
-The Qt Company GPL Exception 1.0
-
-Exception 1:
-
-As a special exception you may create a larger work which contains the
-output of this application and distribute that work under terms of your
-choice, so long as the work is not otherwise derived from or based on
-this application and so long as the work does not in itself generate
-output that contains the output from this application in its original
-or modified form.
-
-Exception 2:
-
-As a special exception, you have permission to combine this application
-with Plugins licensed under the terms of your choice, to produce an
-executable, and to copy and distribute the resulting executable under
-the terms of your choice. However, the executable must be accompanied
-by a prominent notice offering all users of the executable the entire
-source code to this application, excluding the source code of the
-independent modules, but including any changes you have made to this
-application, under the terms of this license.
-
-
--------------------------------------------------------------------------
-
- GNU GENERAL PUBLIC LICENSE
- Version 3, 29 June 2007
-
- Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
- Everyone is permitted to copy and distribute verbatim copies
- of this license document, but changing it is not allowed.
-
- Preamble
-
- The GNU General Public License is a free, copyleft license for
-software and other kinds of works.
-
- The licenses for most software and other practical works are designed
-to take away your freedom to share and change the works. By contrast,
-the GNU General Public License is intended to guarantee your freedom to
-share and change all versions of a program--to make sure it remains free
-software for all its users. We, the Free Software Foundation, use the
-GNU General Public License for most of our software; it applies also to
-any other work released this way by its authors. You can apply it to
-your programs, too.
-
- When we speak of free software, we are referring to freedom, not
-price. Our General Public Licenses are designed to make sure that you
-have the freedom to distribute copies of free software (and charge for
-them if you wish), that you receive source code or can get it if you
-want it, that you can change the software or use pieces of it in new
-free programs, and that you know you can do these things.
-
- To protect your rights, we need to prevent others from denying you
-these rights or asking you to surrender the rights. Therefore, you have
-certain responsibilities if you distribute copies of the software, or if
-you modify it: responsibilities to respect the freedom of others.
-
- For example, if you distribute copies of such a program, whether
-gratis or for a fee, you must pass on to the recipients the same
-freedoms that you received. You must make sure that they, too, receive
-or can get the source code. And you must show them these terms so they
-know their rights.
-
- Developers that use the GNU GPL protect your rights with two steps:
-(1) assert copyright on the software, and (2) offer you this License
-giving you legal permission to copy, distribute and/or modify it.
-
- For the developers' and authors' protection, the GPL clearly explains
-that there is no warranty for this free software. For both users' and
-authors' sake, the GPL requires that modified versions be marked as
-changed, so that their problems will not be attributed erroneously to
-authors of previous versions.
-
- Some devices are designed to deny users access to install or run
-modified versions of the software inside them, although the manufacturer
-can do so. This is fundamentally incompatible with the aim of
-protecting users' freedom to change the software. The systematic
-pattern of such abuse occurs in the area of products for individuals to
-use, which is precisely where it is most unacceptable. Therefore, we
-have designed this version of the GPL to prohibit the practice for those
-products. If such problems arise substantially in other domains, we
-stand ready to extend this provision to those domains in future versions
-of the GPL, as needed to protect the freedom of users.
-
- Finally, every program is threatened constantly by software patents.
-States should not allow patents to restrict development and use of
-software on general-purpose computers, but in those that do, we wish to
-avoid the special danger that patents applied to a free program could
-make it effectively proprietary. To prevent this, the GPL assures that
-patents cannot be used to render the program non-free.
-
- The precise terms and conditions for copying, distribution and
-modification follow.
-
- TERMS AND CONDITIONS
-
- 0. Definitions.
-
- "This License" refers to version 3 of the GNU General Public License.
-
- "Copyright" also means copyright-like laws that apply to other kinds of
-works, such as semiconductor masks.
-
- "The Program" refers to any copyrightable work licensed under this
-License. Each licensee is addressed as "you". "Licensees" and
-"recipients" may be individuals or organizations.
-
- To "modify" a work means to copy from or adapt all or part of the work
-in a fashion requiring copyright permission, other than the making of an
-exact copy. The resulting work is called a "modified version" of the
-earlier work or a work "based on" the earlier work.
-
- A "covered work" means either the unmodified Program or a work based
-on the Program.
-
- To "propagate" a work means to do anything with it that, without
-permission, would make you directly or secondarily liable for
-infringement under applicable copyright law, except executing it on a
-computer or modifying a private copy. Propagation includes copying,
-distribution (with or without modification), making available to the
-public, and in some countries other activities as well.
-
- To "convey" a work means any kind of propagation that enables other
-parties to make or receive copies. Mere interaction with a user through
-a computer network, with no transfer of a copy, is not conveying.
-
- An interactive user interface displays "Appropriate Legal Notices"
-to the extent that it includes a convenient and prominently visible
-feature that (1) displays an appropriate copyright notice, and (2)
-tells the user that there is no warranty for the work (except to the
-extent that warranties are provided), that licensees may convey the
-work under this License, and how to view a copy of this License. If
-the interface presents a list of user commands or options, such as a
-menu, a prominent item in the list meets this criterion.
-
- 1. Source Code.
-
- The "source code" for a work means the preferred form of the work
-for making modifications to it. "Object code" means any non-source
-form of a work.
-
- A "Standard Interface" means an interface that either is an official
-standard defined by a recognized standards body, or, in the case of
-interfaces specified for a particular programming language, one that
-is widely used among developers working in that language.
-
- The "System Libraries" of an executable work include anything, other
-than the work as a whole, that (a) is included in the normal form of
-packaging a Major Component, but which is not part of that Major
-Component, and (b) serves only to enable use of the work with that
-Major Component, or to implement a Standard Interface for which an
-implementation is available to the public in source code form. A
-"Major Component", in this context, means a major essential component
-(kernel, window system, and so on) of the specific operating system
-(if any) on which the executable work runs, or a compiler used to
-produce the work, or an object code interpreter used to run it.
-
- The "Corresponding Source" for a work in object code form means all
-the source code needed to generate, install, and (for an executable
-work) run the object code and to modify the work, including scripts to
-control those activities. However, it does not include the work's
-System Libraries, or general-purpose tools or generally available free
-programs which are used unmodified in performing those activities but
-which are not part of the work. For example, Corresponding Source
-includes interface definition files associated with source files for
-the work, and the source code for shared libraries and dynamically
-linked subprograms that the work is specifically designed to require,
-such as by intimate data communication or control flow between those
-subprograms and other parts of the work.
-
- The Corresponding Source need not include anything that users
-can regenerate automatically from other parts of the Corresponding
-Source.
-
- The Corresponding Source for a work in source code form is that
-same work.
-
- 2. Basic Permissions.
-
- All rights granted under this License are granted for the term of
-copyright on the Program, and are irrevocable provided the stated
-conditions are met. This License explicitly affirms your unlimited
-permission to run the unmodified Program. The output from running a
-covered work is covered by this License only if the output, given its
-content, constitutes a covered work. This License acknowledges your
-rights of fair use or other equivalent, as provided by copyright law.
-
- You may make, run and propagate covered works that you do not
-convey, without conditions so long as your license otherwise remains
-in force. You may convey covered works to others for the sole purpose
-of having them make modifications exclusively for you, or provide you
-with facilities for running those works, provided that you comply with
-the terms of this License in conveying all material for which you do
-not control copyright. Those thus making or running the covered works
-for you must do so exclusively on your behalf, under your direction
-and control, on terms that prohibit them from making any copies of
-your copyrighted material outside their relationship with you.
-
- Conveying under any other circumstances is permitted solely under
-the conditions stated below. Sublicensing is not allowed; section 10
-makes it unnecessary.
-
- 3. Protecting Users' Legal Rights From Anti-Circumvention Law.
-
- No covered work shall be deemed part of an effective technological
-measure under any applicable law fulfilling obligations under article
-11 of the WIPO copyright treaty adopted on 20 December 1996, or
-similar laws prohibiting or restricting circumvention of such
-measures.
-
- When you convey a covered work, you waive any legal power to forbid
-circumvention of technological measures to the extent such circumvention
-is effected by exercising rights under this License with respect to
-the covered work, and you disclaim any intention to limit operation or
-modification of the work as a means of enforcing, against the work's
-users, your or third parties' legal rights to forbid circumvention of
-technological measures.
-
- 4. Conveying Verbatim Copies.
-
- You may convey verbatim copies of the Program's source code as you
-receive it, in any medium, provided that you conspicuously and
-appropriately publish on each copy an appropriate copyright notice;
-keep intact all notices stating that this License and any
-non-permissive terms added in accord with section 7 apply to the code;
-keep intact all notices of the absence of any warranty; and give all
-recipients a copy of this License along with the Program.
-
- You may charge any price or no price for each copy that you convey,
-and you may offer support or warranty protection for a fee.
-
- 5. Conveying Modified Source Versions.
-
- You may convey a work based on the Program, or the modifications to
-produce it from the Program, in the form of source code under the
-terms of section 4, provided that you also meet all of these conditions:
-
- a) The work must carry prominent notices stating that you modified
- it, and giving a relevant date.
-
- b) The work must carry prominent notices stating that it is
- released under this License and any conditions added under section
- 7. This requirement modifies the requirement in section 4 to
- "keep intact all notices".
-
- c) You must license the entire work, as a whole, under this
- License to anyone who comes into possession of a copy. This
- License will therefore apply, along with any applicable section 7
- additional terms, to the whole of the work, and all its parts,
- regardless of how they are packaged. This License gives no
- permission to license the work in any other way, but it does not
- invalidate such permission if you have separately received it.
-
- d) If the work has interactive user interfaces, each must display
- Appropriate Legal Notices; however, if the Program has interactive
- interfaces that do not display Appropriate Legal Notices, your
- work need not make them do so.
-
- A compilation of a covered work with other separate and independent
-works, which are not by their nature extensions of the covered work,
-and which are not combined with it such as to form a larger program,
-in or on a volume of a storage or distribution medium, is called an
-"aggregate" if the compilation and its resulting copyright are not
-used to limit the access or legal rights of the compilation's users
-beyond what the individual works permit. Inclusion of a covered work
-in an aggregate does not cause this License to apply to the other
-parts of the aggregate.
-
- 6. Conveying Non-Source Forms.
-
- You may convey a covered work in object code form under the terms
-of sections 4 and 5, provided that you also convey the
-machine-readable Corresponding Source under the terms of this License,
-in one of these ways:
-
- a) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by the
- Corresponding Source fixed on a durable physical medium
- customarily used for software interchange.
-
- b) Convey the object code in, or embodied in, a physical product
- (including a physical distribution medium), accompanied by a
- written offer, valid for at least three years and valid for as
- long as you offer spare parts or customer support for that product
- model, to give anyone who possesses the object code either (1) a
- copy of the Corresponding Source for all the software in the
- product that is covered by this License, on a durable physical
- medium customarily used for software interchange, for a price no
- more than your reasonable cost of physically performing this
- conveying of source, or (2) access to copy the
- Corresponding Source from a network server at no charge.
-
- c) Convey individual copies of the object code with a copy of the
- written offer to provide the Corresponding Source. This
- alternative is allowed only occasionally and noncommercially, and
- only if you received the object code with such an offer, in accord
- with subsection 6b.
-
- d) Convey the object code by offering access from a designated
- place (gratis or for a charge), and offer equivalent access to the
- Corresponding Source in the same way through the same place at no
- further charge. You need not require recipients to copy the
- Corresponding Source along with the object code. If the place to
- copy the object code is a network server, the Corresponding Source
- may be on a different server (operated by you or a third party)
- that supports equivalent copying facilities, provided you maintain
- clear directions next to the object code saying where to find the
- Corresponding Source. Regardless of what server hosts the
- Corresponding Source, you remain obligated to ensure that it is
- available for as long as needed to satisfy these requirements.
-
- e) Convey the object code using peer-to-peer transmission, provided
- you inform other peers where the object code and Corresponding
- Source of the work are being offered to the general public at no
- charge under subsection 6d.
-
- A separable portion of the object code, whose source code is excluded
-from the Corresponding Source as a System Library, need not be
-included in conveying the object code work.
-
- A "User Product" is either (1) a "consumer product", which means any
-tangible personal property which is normally used for personal, family,
-or household purposes, or (2) anything designed or sold for incorporation
-into a dwelling. In determining whether a product is a consumer product,
-doubtful cases shall be resolved in favor of coverage. For a particular
-product received by a particular user, "normally used" refers to a
-typical or common use of that class of product, regardless of the status
-of the particular user or of the way in which the particular user
-actually uses, or expects or is expected to use, the product. A product
-is a consumer product regardless of whether the product has substantial
-commercial, industrial or non-consumer uses, unless such uses represent
-the only significant mode of use of the product.
-
- "Installation Information" for a User Product means any methods,
-procedures, authorization keys, or other information required to install
-and execute modified versions of a covered work in that User Product from
-a modified version of its Corresponding Source. The information must
-suffice to ensure that the continued functioning of the modified object
-code is in no case prevented or interfered with solely because
-modification has been made.
-
- If you convey an object code work under this section in, or with, or
-specifically for use in, a User Product, and the conveying occurs as
-part of a transaction in which the right of possession and use of the
-User Product is transferred to the recipient in perpetuity or for a
-fixed term (regardless of how the transaction is characterized), the
-Corresponding Source conveyed under this section must be accompanied
-by the Installation Information. But this requirement does not apply
-if neither you nor any third party retains the ability to install
-modified object code on the User Product (for example, the work has
-been installed in ROM).
-
- The requirement to provide Installation Information does not include a
-requirement to continue to provide support service, warranty, or updates
-for a work that has been modified or installed by the recipient, or for
-the User Product in which it has been modified or installed. Access to a
-network may be denied when the modification itself materially and
-adversely affects the operation of the network or violates the rules and
-protocols for communication across the network.
-
- Corresponding Source conveyed, and Installation Information provided,
-in accord with this section must be in a format that is publicly
-documented (and with an implementation available to the public in
-source code form), and must require no special password or key for
-unpacking, reading or copying.
-
- 7. Additional Terms.
-
- "Additional permissions" are terms that supplement the terms of this
-License by making exceptions from one or more of its conditions.
-Additional permissions that are applicable to the entire Program shall
-be treated as though they were included in this License, to the extent
-that they are valid under applicable law. If additional permissions
-apply only to part of the Program, that part may be used separately
-under those permissions, but the entire Program remains governed by
-this License without regard to the additional permissions.
-
- When you convey a copy of a covered work, you may at your option
-remove any additional permissions from that copy, or from any part of
-it. (Additional permissions may be written to require their own
-removal in certain cases when you modify the work.) You may place
-additional permissions on material, added by you to a covered work,
-for which you have or can give appropriate copyright permission.
-
- Notwithstanding any other provision of this License, for material you
-add to a covered work, you may (if authorized by the copyright holders of
-that material) supplement the terms of this License with terms:
-
- a) Disclaiming warranty or limiting liability differently from the
- terms of sections 15 and 16 of this License; or
-
- b) Requiring preservation of specified reasonable legal notices or
- author attributions in that material or in the Appropriate Legal
- Notices displayed by works containing it; or
-
- c) Prohibiting misrepresentation of the origin of that material, or
- requiring that modified versions of such material be marked in
- reasonable ways as different from the original version; or
-
- d) Limiting the use for publicity purposes of names of licensors or
- authors of the material; or
-
- e) Declining to grant rights under trademark law for use of some
- trade names, trademarks, or service marks; or
-
- f) Requiring indemnification of licensors and authors of that
- material by anyone who conveys the material (or modified versions of
- it) with contractual assumptions of liability to the recipient, for
- any liability that these contractual assumptions directly impose on
- those licensors and authors.
-
- All other non-permissive additional terms are considered "further
-restrictions" within the meaning of section 10. If the Program as you
-received it, or any part of it, contains a notice stating that it is
-governed by this License along with a term that is a further
-restriction, you may remove that term. If a license document contains
-a further restriction but permits relicensing or conveying under this
-License, you may add to a covered work material governed by the terms
-of that license document, provided that the further restriction does
-not survive such relicensing or conveying.
-
- If you add terms to a covered work in accord with this section, you
-must place, in the relevant source files, a statement of the
-additional terms that apply to those files, or a notice indicating
-where to find the applicable terms.
-
- Additional terms, permissive or non-permissive, may be stated in the
-form of a separately written license, or stated as exceptions;
-the above requirements apply either way.
-
- 8. Termination.
-
- You may not propagate or modify a covered work except as expressly
-provided under this License. Any attempt otherwise to propagate or
-modify it is void, and will automatically terminate your rights under
-this License (including any patent licenses granted under the third
-paragraph of section 11).
-
- However, if you cease all violation of this License, then your
-license from a particular copyright holder is reinstated (a)
-provisionally, unless and until the copyright holder explicitly and
-finally terminates your license, and (b) permanently, if the copyright
-holder fails to notify you of the violation by some reasonable means
-prior to 60 days after the cessation.
-
- Moreover, your license from a particular copyright holder is
-reinstated permanently if the copyright holder notifies you of the
-violation by some reasonable means, this is the first time you have
-received notice of violation of this License (for any work) from that
-copyright holder, and you cure the violation prior to 30 days after
-your receipt of the notice.
-
- Termination of your rights under this section does not terminate the
-licenses of parties who have received copies or rights from you under
-this License. If your rights have been terminated and not permanently
-reinstated, you do not qualify to receive new licenses for the same
-material under section 10.
-
- 9. Acceptance Not Required for Having Copies.
-
- You are not required to accept this License in order to receive or
-run a copy of the Program. Ancillary propagation of a covered work
-occurring solely as a consequence of using peer-to-peer transmission
-to receive a copy likewise does not require acceptance. However,
-nothing other than this License grants you permission to propagate or
-modify any covered work. These actions infringe copyright if you do
-not accept this License. Therefore, by modifying or propagating a
-covered work, you indicate your acceptance of this License to do so.
-
- 10. Automatic Licensing of Downstream Recipients.
-
- Each time you convey a covered work, the recipient automatically
-receives a license from the original licensors, to run, modify and
-propagate that work, subject to this License. You are not responsible
-for enforcing compliance by third parties with this License.
-
- An "entity transaction" is a transaction transferring control of an
-organization, or substantially all assets of one, or subdividing an
-organization, or merging organizations. If propagation of a covered
-work results from an entity transaction, each party to that
-transaction who receives a copy of the work also receives whatever
-licenses to the work the party's predecessor in interest had or could
-give under the previous paragraph, plus a right to possession of the
-Corresponding Source of the work from the predecessor in interest, if
-the predecessor has it or can get it with reasonable efforts.
-
- You may not impose any further restrictions on the exercise of the
-rights granted or affirmed under this License. For example, you may
-not impose a license fee, royalty, or other charge for exercise of
-rights granted under this License, and you may not initiate litigation
-(including a cross-claim or counterclaim in a lawsuit) alleging that
-any patent claim is infringed by making, using, selling, offering for
-sale, or importing the Program or any portion of it.
-
- 11. Patents.
-
- A "contributor" is a copyright holder who authorizes use under this
-License of the Program or a work on which the Program is based. The
-work thus licensed is called the contributor's "contributor version".
-
- A contributor's "essential patent claims" are all patent claims
-owned or controlled by the contributor, whether already acquired or
-hereafter acquired, that would be infringed by some manner, permitted
-by this License, of making, using, or selling its contributor version,
-but do not include claims that would be infringed only as a
-consequence of further modification of the contributor version. For
-purposes of this definition, "control" includes the right to grant
-patent sublicenses in a manner consistent with the requirements of
-this License.
-
- Each contributor grants you a non-exclusive, worldwide, royalty-free
-patent license under the contributor's essential patent claims, to
-make, use, sell, offer for sale, import and otherwise run, modify and
-propagate the contents of its contributor version.
-
- In the following three paragraphs, a "patent license" is any express
-agreement or commitment, however denominated, not to enforce a patent
-(such as an express permission to practice a patent or covenant not to
-sue for patent infringement). To "grant" such a patent license to a
-party means to make such an agreement or commitment not to enforce a
-patent against the party.
-
- If you convey a covered work, knowingly relying on a patent license,
-and the Corresponding Source of the work is not available for anyone
-to copy, free of charge and under the terms of this License, through a
-publicly available network server or other readily accessible means,
-then you must either (1) cause the Corresponding Source to be so
-available, or (2) arrange to deprive yourself of the benefit of the
-patent license for this particular work, or (3) arrange, in a manner
-consistent with the requirements of this License, to extend the patent
-license to downstream recipients. "Knowingly relying" means you have
-actual knowledge that, but for the patent license, your conveying the
-covered work in a country, or your recipient's use of the covered work
-in a country, would infringe one or more identifiable patents in that
-country that you have reason to believe are valid.
-
- If, pursuant to or in connection with a single transaction or
-arrangement, you convey, or propagate by procuring conveyance of, a
-covered work, and grant a patent license to some of the parties
-receiving the covered work authorizing them to use, propagate, modify
-or convey a specific copy of the covered work, then the patent license
-you grant is automatically extended to all recipients of the covered
-work and works based on it.
-
- A patent license is "discriminatory" if it does not include within
-the scope of its coverage, prohibits the exercise of, or is
-conditioned on the non-exercise of one or more of the rights that are
-specifically granted under this License. You may not convey a covered
-work if you are a party to an arrangement with a third party that is
-in the business of distributing software, under which you make payment
-to the third party based on the extent of your activity of conveying
-the work, and under which the third party grants, to any of the
-parties who would receive the covered work from you, a discriminatory
-patent license (a) in connection with copies of the covered work
-conveyed by you (or copies made from those copies), or (b) primarily
-for and in connection with specific products or compilations that
-contain the covered work, unless you entered into that arrangement,
-or that patent license was granted, prior to 28 March 2007.
-
- Nothing in this License shall be construed as excluding or limiting
-any implied license or other defenses to infringement that may
-otherwise be available to you under applicable patent law.
-
- 12. No Surrender of Others' Freedom.
-
- If conditions are imposed on you (whether by court order, agreement or
-otherwise) that contradict the conditions of this License, they do not
-excuse you from the conditions of this License. If you cannot convey a
-covered work so as to satisfy simultaneously your obligations under this
-License and any other pertinent obligations, then as a consequence you may
-not convey it at all. For example, if you agree to terms that obligate you
-to collect a royalty for further conveying from those to whom you convey
-the Program, the only way you could satisfy both those terms and this
-License would be to refrain entirely from conveying the Program.
-
- 13. Use with the GNU Affero General Public License.
-
- Notwithstanding any other provision of this License, you have
-permission to link or combine any covered work with a work licensed
-under version 3 of the GNU Affero General Public License into a single
-combined work, and to convey the resulting work. The terms of this
-License will continue to apply to the part which is the covered work,
-but the special requirements of the GNU Affero General Public License,
-section 13, concerning interaction through a network will apply to the
-combination as such.
-
- 14. Revised Versions of this License.
-
- The Free Software Foundation may publish revised and/or new versions of
-the GNU General Public License from time to time. Such new versions will
-be similar in spirit to the present version, but may differ in detail to
-address new problems or concerns.
-
- Each version is given a distinguishing version number. If the
-Program specifies that a certain numbered version of the GNU General
-Public License "or any later version" applies to it, you have the
-option of following the terms and conditions either of that numbered
-version or of any later version published by the Free Software
-Foundation. If the Program does not specify a version number of the
-GNU General Public License, you may choose any version ever published
-by the Free Software Foundation.
-
- If the Program specifies that a proxy can decide which future
-versions of the GNU General Public License can be used, that proxy's
-public statement of acceptance of a version permanently authorizes you
-to choose that version for the Program.
-
- Later license versions may give you additional or different
-permissions. However, no additional obligations are imposed on any
-author or copyright holder as a result of your choosing to follow a
-later version.
-
- 15. Disclaimer of Warranty.
-
- THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY
-APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT
-HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY
-OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO,
-THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM
-IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF
-ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
-
- 16. Limitation of Liability.
-
- IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
-WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS
-THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY
-GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE
-USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF
-DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD
-PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS),
-EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGES.
-
- 17. Interpretation of Sections 15 and 16.
-
- If the disclaimer of warranty and limitation of liability provided
-above cannot be given local legal effect according to their terms,
-reviewing courts shall apply local law that most closely approximates
-an absolute waiver of all civil liability in connection with the
-Program, unless a warranty or assumption of liability accompanies a
-copy of the Program in return for a fee.
-
- END OF TERMS AND CONDITIONS
-
- How to Apply These Terms to Your New Programs
-
- If you develop a new program, and you want it to be of the greatest
-possible use to the public, the best way to achieve this is to make it
-free software which everyone can redistribute and change under these terms.
-
- To do so, attach the following notices to the program. It is safest
-to attach them to the start of each source file to most effectively
-state the exclusion of warranty; and each file should have at least
-the "copyright" line and a pointer to where the full notice is found.
-
- <one line to give the program's name and a brief idea of what it does.>
- Copyright (C) <year> <name of author>
-
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 3 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
-
-Also add information on how to contact you by electronic and paper mail.
-
- If the program does terminal interaction, make it output a short
-notice like this when it starts in an interactive mode:
-
- <program> Copyright (C) <year> <name of author>
- This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
- This is free software, and you are welcome to redistribute it
- under certain conditions; type `show c' for details.
-
-The hypothetical commands `show w' and `show c' should show the appropriate
-parts of the General Public License. Of course, your program's commands
-might be different; for a GUI interface, you would use an "about box".
-
- You should also get your employer (if you work as a programmer) or school,
-if any, to sign a "copyright disclaimer" for the program, if necessary.
-For more information on this, and how to apply and follow the GNU GPL, see
-<http://www.gnu.org/licenses/>.
-
- The GNU General Public License does not permit incorporating your program
-into proprietary programs. If your program is a subroutine library, you
-may consider it more useful to permit linking proprietary applications with
-the library. If this is what you want to do, use the GNU Lesser General
-Public License instead of this License. But first, please read
-<http://www.gnu.org/philosophy/why-not-lgpl.html>.
diff --git a/LICENSES/BSD-3-Clause.txt b/LICENSES/BSD-3-Clause.txt
new file mode 100644
index 00000000..b91bbd89
--- /dev/null
+++ b/LICENSES/BSD-3-Clause.txt
@@ -0,0 +1,9 @@
+Copyright (c) <year> <owner>.
+
+Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
+
+ 1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
+ 2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
+ 3. Neither the name of the copyright holder nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
+
+THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
diff --git a/LICENSE.FDL b/LICENSES/GFDL-1.3-no-invariants-only.txt
index 938bb8da..857214dd 100644
--- a/LICENSE.FDL
+++ b/LICENSES/GFDL-1.3-no-invariants-only.txt
@@ -1,9 +1,10 @@
+
GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright (C) 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc.
- <http://fsf.org/>
+ <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
@@ -376,7 +377,7 @@ The Free Software Foundation may publish new, revised versions of the
GNU Free Documentation License from time to time. Such new versions
will be similar in spirit to the present version, but may differ in
detail to address new problems or concerns. See
-http://www.gnu.org/copyleft/.
+https://www.gnu.org/licenses/.
Each version of the License is given a distinguishing version number.
If the Document specifies that a particular numbered version of this
@@ -400,19 +401,19 @@ public wiki that anybody can edit is an example of such a server. A
"Massive Multiauthor Collaboration" (or "MMC") contained in the site
means any set of copyrightable works thus published on the MMC site.
-"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
-license published by Creative Commons Corporation, a not-for-profit
-corporation with a principal place of business in San Francisco,
-California, as well as future copyleft versions of that license
+"CC-BY-SA" means the Creative Commons Attribution-Share Alike 3.0
+license published by Creative Commons Corporation, a not-for-profit
+corporation with a principal place of business in San Francisco,
+California, as well as future copyleft versions of that license
published by that same organization.
-"Incorporate" means to publish or republish a Document, in whole or in
+"Incorporate" means to publish or republish a Document, in whole or in
part, as part of another Document.
-An MMC is "eligible for relicensing" if it is licensed under this
-License, and if all works that were first published under this License
-somewhere other than this MMC, and subsequently incorporated in whole or
-in part into the MMC, (1) had no cover texts or invariant sections, and
+An MMC is "eligible for relicensing" if it is licensed under this
+License, and if all works that were first published under this License
+somewhere other than this MMC, and subsequently incorporated in whole or
+in part into the MMC, (1) had no cover texts or invariant sections, and
(2) were thus incorporated prior to November 1, 2008.
The operator of an MMC Site may republish an MMC contained in the site
diff --git a/LICENSE.GPL2 b/LICENSES/GPL-2.0-only.txt
index d159169d..d159169d 100644
--- a/LICENSE.GPL2
+++ b/LICENSES/GPL-2.0-only.txt
diff --git a/LICENSE.GPL3 b/LICENSES/GPL-3.0-only.txt
index 94a9ed02..94a9ed02 100644
--- a/LICENSE.GPL3
+++ b/LICENSES/GPL-3.0-only.txt
diff --git a/LICENSE.LGPL3 b/LICENSES/LGPL-3.0-only.txt
index 65c5ca88..65c5ca88 100644
--- a/LICENSE.LGPL3
+++ b/LICENSES/LGPL-3.0-only.txt
diff --git a/LICENSES/LicenseRef-Qt-Commercial.txt b/LICENSES/LicenseRef-Qt-Commercial.txt
new file mode 100644
index 00000000..825b1f35
--- /dev/null
+++ b/LICENSES/LicenseRef-Qt-Commercial.txt
@@ -0,0 +1,8 @@
+Licensees holding valid commercial Qt licenses may use this software in
+accordance with the the terms contained in a written agreement between
+you and The Qt Company. Alternatively, the terms and conditions that were
+accepted by the licensee when buying and/or downloading the
+software do apply.
+
+For the latest licensing terms and conditions, see https://www.qt.io/terms-conditions.
+For further information use the contact form at https://www.qt.io/contact-us.
diff --git a/LICENSES/Qt-GPL-exception-1.0.txt b/LICENSES/Qt-GPL-exception-1.0.txt
new file mode 100644
index 00000000..d0322bf0
--- /dev/null
+++ b/LICENSES/Qt-GPL-exception-1.0.txt
@@ -0,0 +1,22 @@
+The Qt Company GPL Exception 1.0
+
+Exception 1:
+
+As a special exception you may create a larger work which contains the
+output of this application and distribute that work under terms of your
+choice, so long as the work is not otherwise derived from or based on
+this application and so long as the work does not in itself generate
+output that contains the output from this application in its original
+or modified form.
+
+Exception 2:
+
+As a special exception, you have permission to combine this application
+with Plugins licensed under the terms of your choice, to produce an
+executable, and to copy and distribute the resulting executable under
+the terms of your choice. However, the executable must be accompanied
+by a prominent notice offering all users of the executable the entire
+source code to this application, excluding the source code of the
+independent modules, but including any changes you have made to this
+application, under the terms of this license.
+
diff --git a/cmake/FindSensorfw.cmake b/cmake/FindSensorfw.cmake
new file mode 100644
index 00000000..c6238a92
--- /dev/null
+++ b/cmake/FindSensorfw.cmake
@@ -0,0 +1,13 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+find_package(PkgConfig)
+if (PKG_CONFIG_FOUND)
+ pkg_check_modules(Sensorfw sensord-qt5 IMPORTED_TARGET)
+ if (NOT TARGET PkgConfig::Sensorfw)
+ set(Sensorfw_FOUND 0)
+ endif()
+else()
+ message("Sensorfw pkg not found. Looking for library")
+ find_library(Sensorfw sensorfw)
+endif()
diff --git a/coin/axivion/ci_config_linux.json b/coin/axivion/ci_config_linux.json
new file mode 100644
index 00000000..f806cff6
--- /dev/null
+++ b/coin/axivion/ci_config_linux.json
@@ -0,0 +1,44 @@
+{
+ "Project": {
+ "BuildSystemIntegration": {
+ "child_order": [
+ "GCCSetup",
+ "CMake",
+ "LinkLibraries"
+ ]
+ },
+ "CMake": {
+ "_active": true,
+ "_copy_from": "CMakeIntegration",
+ "build_environment": {},
+ "build_options": "-j4",
+ "generate_options": "--fresh",
+ "generator": "Ninja"
+ },
+ "GCCSetup": {
+ "_active": true,
+ "_copy_from": "Command",
+ "build_command": "gccsetup --cc gcc --cxx g++ --config ../../../axivion/"
+ },
+ "LinkLibraries": {
+ "_active": true,
+ "_copy_from": "AxivionLinker",
+ "input_files": [
+ "build/lib/lib*.so*.ir",
+ "build/qml/*/lib*.so*.ir"
+ ],
+ "ir": "build/$(env:TESTED_MODULE_COIN).ir",
+ "plugin_files": [
+ "build/plugins/*/lib*.so*.ir"
+ ]
+ }
+ },
+ "_Format": "1.0",
+ "_Version": "7.6.2",
+ "_VersionNum": [
+ 7,
+ 6,
+ 2,
+ 12725
+ ]
+}
diff --git a/coin/module_config.yaml b/coin/module_config.yaml
new file mode 100644
index 00000000..aaf33238
--- /dev/null
+++ b/coin/module_config.yaml
@@ -0,0 +1,13 @@
+version: 2
+accept_configuration:
+ condition: property
+ property: features
+ not_contains_value: Disable
+
+instructions:
+ Build:
+ - !include "{{qt/qtbase}}/coin_module_build_template_v2.yaml"
+
+ Test:
+ - !include "{{qt/qtbase}}/coin_module_test_template_v3.yaml"
+ - !include "{{qt/qtbase}}/coin_module_test_docs.yaml"
diff --git a/config.tests/winrt/CMakeLists.txt b/config.tests/winrt/CMakeLists.txt
new file mode 100644
index 00000000..25b871ce
--- /dev/null
+++ b/config.tests/winrt/CMakeLists.txt
@@ -0,0 +1,37 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(config_test_winrt LANGUAGES C CXX)
+
+if(DEFINED QT_CONFIG_COMPILE_TEST_CMAKE_SYSTEM_PREFIX_PATH)
+ set(CMAKE_SYSTEM_PREFIX_PATH "${QT_CONFIG_COMPILE_TEST_CMAKE_SYSTEM_PREFIX_PATH}")
+endif()
+if(DEFINED QT_CONFIG_COMPILE_TEST_CMAKE_SYSTEM_FRAMEWORK_PATH)
+ set(CMAKE_SYSTEM_FRAMEWORK_PATH "${QT_CONFIG_COMPILE_TEST_CMAKE_SYSTEM_FRAMEWORK_PATH}")
+endif()
+
+foreach(p ${QT_CONFIG_COMPILE_TEST_PACKAGES})
+ find_package(${p})
+endforeach()
+
+if(QT_CONFIG_COMPILE_TEST_LIBRARIES)
+ link_libraries(${QT_CONFIG_COMPILE_TEST_LIBRARIES})
+endif()
+if(QT_CONFIG_COMPILE_TEST_LIBRARY_TARGETS)
+ foreach(lib ${QT_CONFIG_COMPILE_TEST_LIBRARY_TARGETS})
+ if(TARGET ${lib})
+ link_libraries(${lib})
+ endif()
+ endforeach()
+endif()
+
+add_executable(${PROJECT_NAME}
+ main.cpp
+)
+
+if(MSVC)
+ target_link_libraries(${PROJECT_NAME} PRIVATE
+ runtimeobject
+ )
+endif()
diff --git a/config.tests/winrt/main.cpp b/config.tests/winrt/main.cpp
new file mode 100644
index 00000000..556efa61
--- /dev/null
+++ b/config.tests/winrt/main.cpp
@@ -0,0 +1,26 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: BSD-3-Clause
+
+#include <functional>
+#include <windows.system.h>
+
+#include <windows.devices.sensors.h>
+#include <windows.foundation.h>
+#include <wrl.h>
+
+using namespace Microsoft::WRL;
+using namespace Microsoft::WRL::Wrappers;
+using namespace ABI::Windows::Foundation;
+using namespace ABI::Windows::Devices::Sensors;
+
+typedef ITypedEventHandler<Accelerometer *, AccelerometerReadingChangedEventArgs *> AccelerometerReadingHandler;
+
+int main(int, char**)
+{
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Accelerometer);
+ ComPtr<IAccelerometer> sensor;
+ ComPtr<IAccelerometerStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ hr = factory->GetDefault(&sensor);
+ return 0;
+}
diff --git a/configure.cmake b/configure.cmake
new file mode 100644
index 00000000..68f54ce7
--- /dev/null
+++ b/configure.cmake
@@ -0,0 +1,24 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+
+
+#### Inputs
+
+
+
+#### Libraries
+
+
+
+#### Tests
+
+
+
+#### Features
+
+
+qt_extra_definition("QT_VERSION_STR" "\"${PROJECT_VERSION}\"" PUBLIC)
+qt_extra_definition("QT_VERSION_MAJOR" ${PROJECT_VERSION_MAJOR} PUBLIC)
+qt_extra_definition("QT_VERSION_MINOR" ${PROJECT_VERSION_MINOR} PUBLIC)
+qt_extra_definition("QT_VERSION_PATCH" ${PROJECT_VERSION_PATCH} PUBLIC)
diff --git a/dependencies.yaml b/dependencies.yaml
new file mode 100644
index 00000000..9a7ed7f9
--- /dev/null
+++ b/dependencies.yaml
@@ -0,0 +1,7 @@
+dependencies:
+ ../qtbase:
+ ref: 488545ca72b7f2a59401a42c2c264f38916e15d1
+ required: true
+ ../qtdeclarative:
+ ref: 22f72aa17118346059179fc3e86a6ece7b7bfb7f
+ required: false
diff --git a/dist/changes-5.12.5 b/dist/changes-5.12.5
new file mode 100644
index 00000000..e8be9316
--- /dev/null
+++ b/dist/changes-5.12.5
@@ -0,0 +1,20 @@
+Qt 5.12.5 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.12.0 through 5.12.4.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.12 series is binary compatible with the 5.11.x series.
+Applications compiled for 5.11 will continue to run with 5.12.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.13.0 b/dist/changes-5.13.0
new file mode 100644
index 00000000..cdea8819
--- /dev/null
+++ b/dist/changes-5.13.0
@@ -0,0 +1,24 @@
+Qt 5.13 introduces many new features and improvements as well as bugfixes
+over the 5.12.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+****************************************************************************
+* Android *
+****************************************************************************
+
+ - Rewrite Qt Android Sensors using NDK API.
+ - Raise minimal Android sdk version to v21
+
diff --git a/dist/changes-5.13.1 b/dist/changes-5.13.1
new file mode 100644
index 00000000..57ebdbeb
--- /dev/null
+++ b/dist/changes-5.13.1
@@ -0,0 +1,20 @@
+Qt 5.13.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.13.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.13.2 b/dist/changes-5.13.2
new file mode 100644
index 00000000..e3bb833f
--- /dev/null
+++ b/dist/changes-5.13.2
@@ -0,0 +1,20 @@
+Qt 5.13.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.13.0 through 5.13.1.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.13 series is binary compatible with the 5.12.x series.
+Applications compiled for 5.12 will continue to run with 5.13.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.14.0 b/dist/changes-5.14.0
new file mode 100644
index 00000000..29a2c83b
--- /dev/null
+++ b/dist/changes-5.14.0
@@ -0,0 +1,18 @@
+Qt 5.14 introduces many new features and improvements as well as bugfixes
+over the 5.13.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.14.1 b/dist/changes-5.14.1
new file mode 100644
index 00000000..d0086381
--- /dev/null
+++ b/dist/changes-5.14.1
@@ -0,0 +1,20 @@
+Qt 5.14.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.14.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.14.2 b/dist/changes-5.14.2
new file mode 100644
index 00000000..68a00517
--- /dev/null
+++ b/dist/changes-5.14.2
@@ -0,0 +1,20 @@
+Qt 5.14.2 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.14.0 through 5.14.1.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.14 series is binary compatible with the 5.13.x series.
+Applications compiled for 5.13 will continue to run with 5.14.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.15.0 b/dist/changes-5.15.0
new file mode 100644
index 00000000..40076ce8
--- /dev/null
+++ b/dist/changes-5.15.0
@@ -0,0 +1,18 @@
+Qt 5.15 introduces many new features and improvements as well as bugfixes
+over the 5.14.x series. For more details, refer to the online documentation
+included in this distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.15 series is binary compatible with the 5.14.x series.
+Applications compiled for 5.14 will continue to run with 5.15.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/dist/changes-5.15.1 b/dist/changes-5.15.1
new file mode 100644
index 00000000..332ee9d1
--- /dev/null
+++ b/dist/changes-5.15.1
@@ -0,0 +1,20 @@
+Qt 5.15.1 is a bug-fix release. It maintains both forward and backward
+compatibility (source and binary) with Qt 5.15.0.
+
+For more details, refer to the online documentation included in this
+distribution. The documentation is also available online:
+
+https://doc.qt.io/qt-5/index.html
+
+The Qt version 5.15 series is binary compatible with the 5.14.x series.
+Applications compiled for 5.14 will continue to run with 5.15.
+
+Some of the changes listed in this file include issue tracking numbers
+corresponding to tasks in the Qt Bug Tracker:
+
+https://bugreports.qt.io/
+
+Each of these identifiers can be entered in the bug tracker to obtain more
+information about a particular change.
+
+ - This release contains only minor code improvements.
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 00000000..1c5447e6
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+qt_examples_build_begin(EXTERNAL_BUILD)
+
+add_subdirectory(sensors)
+
+qt_examples_build_end()
diff --git a/examples/sensors/CMakeLists.txt b/examples/sensors/CMakeLists.txt
new file mode 100644
index 00000000..bf1120c8
--- /dev/null
+++ b/examples/sensors/CMakeLists.txt
@@ -0,0 +1,6 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+if(TARGET Qt::Quick AND TARGET Qt::Svg)
+ qt_internal_add_example(sensorsshowcase)
+endif()
diff --git a/examples/sensors/accelbubble/accelbubble.pro b/examples/sensors/accelbubble/accelbubble.pro
deleted file mode 100644
index d3b20a9d..00000000
--- a/examples/sensors/accelbubble/accelbubble.pro
+++ /dev/null
@@ -1,28 +0,0 @@
-TEMPLATE = app
-TARGET = accelbubble
-QT += quick sensors svg xml
-SOURCES = main.cpp
-
-RESOURCES += \
- accelbubble.qrc
-
-OTHER_FILES = \
- $$files(*.qml) \
- content \
- images \
- android/AndroidManifest.xml
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/accelbubble
-INSTALLS += target
-
-ios {
-QMAKE_INFO_PLIST = Info.plist
-
-# manual plugin loading needed with older Qt
-# QTPLUGIN += qsvg qtsensors_ios qtsensors_generic
-}
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
-
-EXAMPLE_FILES += \
- Info.plist
diff --git a/examples/sensors/accelbubble/accelbubble.qml b/examples/sensors/accelbubble/accelbubble.qml
deleted file mode 100644
index f26179ff..00000000
--- a/examples/sensors/accelbubble/accelbubble.qml
+++ /dev/null
@@ -1,133 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-import QtQuick 2.1
-import QtQuick.Controls 1.0
-
-//! [0]
-import QtSensors 5.0
-//! [0]
-
-
-ApplicationWindow {
- title: "Accelerate Bubble"
- id: mainWindow
- width: 320
- height: 480
- visible: true
- readonly property double radians_to_degrees: 180 / Math.PI
-
-//! [1]
- Accelerometer {
- id: accel
- dataRate: 100
-//! [1]
-//! [2]
- active:true
-//! [2]
-
-//! [3]
- onReadingChanged: {
- var newX = (bubble.x + calcRoll(accel.reading.x, accel.reading.y, accel.reading.z) * .1)
- var newY = (bubble.y - calcPitch(accel.reading.x, accel.reading.y, accel.reading.z) * .1)
-
- if (isNaN(newX) || isNaN(newY))
- return;
-
- if (newX < 0)
- newX = 0
-
- if (newX > mainWindow.width - bubble.width)
- newX = mainWindow.width - bubble.width
-
- if (newY < 18)
- newY = 18
-
- if (newY > mainWindow.height - bubble.height)
- newY = mainWindow.height - bubble.height
-
- bubble.x = newX
- bubble.y = newY
- }
-//! [3]
- }
-
- function calcPitch(x,y,z) {
- return -Math.atan2(y, Math.sqrt(x * x + z * z)) * mainWindow.radians_to_degrees;
- }
- function calcRoll(x,y,z) {
- return -Math.atan2(x, Math.sqrt(y * y + z * z)) * mainWindow.radians_to_degrees;
- }
-
- Image {
- id: bubble
- source: "content/Bluebubble.svg"
- smooth: true
- property real centerX: mainWindow.width / 2
- property real centerY: mainWindow.height / 2
- property real bubbleCenter: bubble.width / 2
- x: centerX - bubbleCenter
- y: centerY - bubbleCenter
-
- Behavior on y {
- SmoothedAnimation {
- easing.type: Easing.Linear
- duration: 100
- }
- }
- Behavior on x {
- SmoothedAnimation {
- easing.type: Easing.Linear
- duration: 100
- }
- }
- }
-}
diff --git a/examples/sensors/accelbubble/accelbubble.qrc b/examples/sensors/accelbubble/accelbubble.qrc
deleted file mode 100644
index 5cb6945a..00000000
--- a/examples/sensors/accelbubble/accelbubble.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>accelbubble.qml</file>
- <file>content/Bluebubble.svg</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/accelbubble/android/AndroidManifest.xml b/examples/sensors/accelbubble/android/AndroidManifest.xml
deleted file mode 100644
index f3104443..00000000
--- a/examples/sensors/accelbubble/android/AndroidManifest.xml
+++ /dev/null
@@ -1,79 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="portrait" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
-
- <!-- Application arguments -->
- <!-- meta-data android:name="android.app.arguments" android:value="arg1 arg2 arg3"/ -->
- <!-- Application arguments -->
-
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
- <meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Used to specify custom system library path to run with local system libs -->
- <!-- <meta-data android:name="android.app.system_libs_prefix" android:value="/system/lib/"/> -->
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!-- meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/ -->
- <!-- meta-data android:name="android.app.splash_screen_sticky" android:value="true"/ -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
-
- <!-- auto screen scale factor -->
- <meta-data android:name="android.app.auto_screen_scale_factor" android:value="false"/>
- <!-- auto screen scale factor -->
-
- <!-- extract android style -->
- <!-- available android:values :
- * full - useful QWidget & Quick Controls 1 apps
- * minimal - useful for Quick Controls 2 apps, it is much faster than "full"
- * none - useful for apps that don't use any of the above Qt modules
- -->
- <meta-data android:name="android.app.extract_android_style" android:value="full"/>
- <!-- extract android style -->
- </activity>
-
- <!-- For adding service(s) please check: https://wiki.qt.io/AndroidServices -->
-
- </application>
-
- <uses-sdk android:minSdkVersion="16" android:targetSdkVersion="16"/>
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
-</manifest>
diff --git a/examples/sensors/accelbubble/content/Bluebubble.svg b/examples/sensors/accelbubble/content/Bluebubble.svg
deleted file mode 100644
index d9c406c4..00000000
--- a/examples/sensors/accelbubble/content/Bluebubble.svg
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0"?>
-<svg xmlns="http://www.w3.org/2000/svg" version="1.2" baseProfile="tiny">
- <defs>
- <radialGradient id="grad1" cx="0.5" cy="0.7" r="0.7" fx="0.5" fy="0.4">
- <stop offset="0" style="stop-color:rgb(255,255,255)" />
- <stop offset="1.5" style="stop-color:rgb(0,102,153)" />
- </radialGradient>
- </defs>
- <circle cx="100" cy="80" r="42" fill="url(#grad1)"/>
-</svg>
diff --git a/examples/sensors/accelbubble/doc/images/accelbubble.png b/examples/sensors/accelbubble/doc/images/accelbubble.png
deleted file mode 100644
index ad4cfc07..00000000
--- a/examples/sensors/accelbubble/doc/images/accelbubble.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/accelbubble/doc/src/accelbubble.qdoc b/examples/sensors/accelbubble/doc/src/accelbubble.qdoc
deleted file mode 100644
index 02473575..00000000
--- a/examples/sensors/accelbubble/doc/src/accelbubble.qdoc
+++ /dev/null
@@ -1,56 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example accelbubble
- \title Qt Sensors - Accel Bubble
- \brief The AccelBubble example demonstrates the Accelerometer QML type.
- \ingroup qtsensors-examples
-
- \image accelbubble.png
-
-\section1 Overview
- Writing a QML application that uses the Accelerometer QML sensors type requires the following steps:
-
- Import the Sensors Declarative module.
-
-\snippet accelbubble/accelbubble.qml 0
-
- Add an Accelerometer QML type.
-
-\snippet accelbubble/accelbubble.qml 1
-
- Use the 'active' property to start the sensor
-
-\snippet accelbubble/accelbubble.qml 2
-
- Move the bubble according to a factor of the accelerator sensor
-
-\snippet accelbubble/accelbubble.qml 3
-
-*/
-
diff --git a/examples/sensors/accelbubble/main.cpp b/examples/sensors/accelbubble/main.cpp
deleted file mode 100644
index e7ccc076..00000000
--- a/examples/sensors/accelbubble/main.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include <QtGui/QGuiApplication>
-#include <QtQml/QQmlApplicationEngine>
-
-int main(int argc, char *argv[])
-{
- QGuiApplication app(argc,argv);
- QQmlApplicationEngine engine(QUrl("qrc:///accelbubble.qml"));
-
- return app.exec();
-}
diff --git a/examples/sensors/grue/console_app/console_app.pro b/examples/sensors/grue/console_app/console_app.pro
deleted file mode 100644
index 7b082d39..00000000
--- a/examples/sensors/grue/console_app/console_app.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TEMPLATE = app
-TARGET = detect_grue
-CONFIG += console
-CONFIG -= app_bundle
-QT = core sensors
-
-DESTDIR = $$OUT_PWD/..
-
-SOURCES = main.cpp
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/grue
-INSTALLS += target
-
-CONFIG += install_ok # Do not cargo-cult this!
diff --git a/examples/sensors/grue/console_app/main.cpp b/examples/sensors/grue/console_app/main.cpp
deleted file mode 100644
index 29a629b5..00000000
--- a/examples/sensors/grue/console_app/main.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore>
-#include <qsensor.h>
-
-class Filter : public QSensorFilter
-{
- int lastPercent;
-public:
- Filter()
- : QSensorFilter()
- , lastPercent(0)
- {
- }
-
- bool filter(QSensorReading *reading) override
- {
- int percent = reading->property("chanceOfBeingEaten").value<int>();
- if (percent == 0) {
- qDebug() << "It is light. You are safe from Grues.";
- } else if (lastPercent == 0) {
- qDebug() << "It is dark. You are likely to be eaten by a Grue.";
- }
- if (percent == 100) {
- qDebug() << "You have been eaten by a Grue!";
- QCoreApplication::instance()->quit();
- } else if (percent)
- qDebug() << "Your chance of being eaten by a Grue:" << percent << "percent.";
- lastPercent = percent;
- return false;
- }
-};
-
-int main(int argc, char **argv)
-{
- QCoreApplication app(argc, argv);
-
- QSensor sensor("GrueSensor");
-
- Filter filter;
- sensor.addFilter(&filter);
- sensor.start();
-
- if (!sensor.isActive()) {
- qWarning("The Grue sensor didn't start. You're on your own!");
- return 1;
- }
-
- return app.exec();
-}
-
diff --git a/examples/sensors/grue/doc/images/qtsensors-examples-grue.png b/examples/sensors/grue/doc/images/qtsensors-examples-grue.png
deleted file mode 100644
index f4348271..00000000
--- a/examples/sensors/grue/doc/images/qtsensors-examples-grue.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/grue/doc/src/grue.qdoc b/examples/sensors/grue/doc/src/grue.qdoc
deleted file mode 100644
index 146a8de0..00000000
--- a/examples/sensors/grue/doc/src/grue.qdoc
+++ /dev/null
@@ -1,153 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example grue
- \title Qt Sensors - Grue Sensor Example
- \brief The Qt Sensors - Grue sensor example demonstrates all the steps from creating a new sensor to using it.
- \ingroup qtsensors-examples
-
- \image qtsensors-examples-grue.png
-
- The Qt Sensors - Grue sensor example demonstrates all the steps from creating a new sensor to using it.
-
- The sensor definition is placed in a library where client apps can access it. The actual implementation
- lives in a plugin.
-
- \list
- \li \l{Grue Sensor Definition}
- \li \l{Grue Sensor Implementation}
- \endlist
-
- The sensor can now be used by a C++ application, even if the application does not have access to the
- definition.
-
- \list
- \li \l{Grue Sensor Console Application}
- \endlist
-
- To make the sensor available to a QML application an import must be created.
-
- \list
- \li \l{Grue Sensor QML Import}
- \li \l{Grue Sensor QML Application}
- \endlist
-
- \section1 Grue Sensor Definition
-
- The Grue sensor is defined in a library so that applications can use it.
- The source code is available in the \c{grue/lib} subdirectory.
-
- First up is the sensor type. This is the interface for sensors that report
- on your likelihood of being eaten by a Grue. Such sensors are very important
- to adventurers, particularly if they are going into dark places as this is
- where Grues live.
-
- The interface is a simple one. It provides only 1 piece of information, your
- chance of being eaten. For the details on how this is property should be
- interpreted please see the documentation in gruesensor.cpp.
-
- This example was created using the make_sensor.pl script which can be found in
- src/sensors. As such, it contains some generated code that defines the convenience
- classes GrueFilter and GrueSensor.
-
- \section1 Grue Sensor Implementation
-
- The Grue sensor implementation lives in a plugin that is loaded by the Qt Sensors
- library. The source code is available in the \c{grue/plugin} subdirectory.
-
- The Grue sensor needs a backend before it can be used. The backend provided
- is rather basic and it relies on some kind of light sensor to work but it
- gets the job done. If new hardware that can detect the actual presence of Grues
- becomes available a backend could be created that supports this hardware and
- applications using the Grue sensor would be able to use it without any changes.
-
- There are a few mandatory parts to a backend. They are the start and stop methods
- and the setReading call. The start and stop methods are used to start and stop
- any underlying hardware. In the case of this backend they start and stop a
- light sensor. In the start method, the backend should be sure to call the
- sensorStopped() or sensorBusy() methods if it cannot start.
-
- \snippet grue/plugin/gruesensorimpl.cpp start
-
- The setReading method is needed so that the sensors library knows where the
- readings are coming from. This backend has a local copy of the reading so
- it passes a pointer to the function.
-
- \snippet grue/plugin/gruesensorimpl.cpp setReading
-
- However it is also possible to pass null to the setReading method in which
- case the sensors library will create an instance and return a pointer.
-
- \code
- // Create a reading instance for us to use
- m_reading = setReading<GrueSensorReading>(0);
- \endcode
-
- The Grue sensor backend also supplies some metadata.
-
- The backend checks 2 things, how dark it is and how long you have been in the dark.
- It uses the readingChanged() signal to know when to check the light sensor's
- value. Once it is dark, it uses a timer to increase your chance of being eaten.
-
- The Grue sensor backend is delivered as a plugin. The plugin has a factory object
- that registers the types available and does the actual instantiation of the backend.
-
- \section1 Grue Sensor Console Application
-
- The Grue sensor console application demonstrates use of the Grue sensor.
- The source code is available in the \c{grue/console_app} subdirectory.
-
- This is a simple commandline application. It demonstrates how to use the generic
- access feature of Qt Sensors to avoid a link-time dependency on the Grue Sensor
- library.
-
- \section1 Grue Sensor QML Import
-
- The Grue sensor QML import exports the GrueSensor class as a QML type.
- The source code is available in the \c{grue/import} subdirectory.
-
- This creates the \e {Grue 1.0} import.
-
- \section1 Grue Sensor QML Application
-
- The Grue sensor QML application demonstrates the use of GrueSensor QML type.
-
- The application consists of a single QML file and an image. It is built as an
- exucutable with C++ code that runs the QML, but it can also be launched directly
- using the \c qmlscene tool.
-
- You should build the top-level 'grue' project before trying to run
- this example or it will not be able to find its dependencies.
-
- \code
- qmlscene -I . grue.qml
- \endcode
-
- Above, the \c{-I .} parameter adds the current directory as a module import
- path to locate the Grue QML module.
-*/
diff --git a/examples/sensors/grue/grue.png b/examples/sensors/grue/grue.png
deleted file mode 100644
index 2727d393..00000000
--- a/examples/sensors/grue/grue.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/grue/grue.pro b/examples/sensors/grue/grue.pro
deleted file mode 100644
index 7290cd34..00000000
--- a/examples/sensors/grue/grue.pro
+++ /dev/null
@@ -1,9 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += lib plugin console_app
-
-qtHaveModule(quick): SUBDIRS += import qml.pro
-
-plugin.depends = lib
-import.depends = lib
-
diff --git a/examples/sensors/grue/grue.qml b/examples/sensors/grue/grue.qml
deleted file mode 100644
index 02b1bd0f..00000000
--- a/examples/sensors/grue/grue.qml
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtSensors 5.0
-import Grue 1.0
-
-Rectangle {
- id: root
- width: 320
- height: 480
- color: "black"
-
- property int percent: 0
- property string text: ""
- property real grueOpacity: 0.0
-
- function updateStatus(newPercent, newOpacity, newText) {
- if (root.percent === newPercent)
- return;
-
- // Delay updating the visual status to prevent flicker
- timer.interval = (newPercent < root.percent) ? 500 : 0;
-
- root.percent = newPercent;
- root.text = newText;
- root.grueOpacity = newOpacity;
-
- timer.start()
- }
-
- Timer {
- id: timer
- running: false
- repeat: false
- onTriggered: {
- text.text = root.text
- grueimg.opacity = root.grueOpacity
- }
- }
-
- GrueSensor {
- id: sensor
- active: true
- onReadingChanged: {
- var percent = reading.chanceOfBeingEaten;
- if (percent === 0) {
- updateStatus(percent, 0.0, "It is light.<br>You are safe from Grues.");
- }
- else if (percent === 100) {
- updateStatus(percent, 1.0, "You have been eaten by a Grue!");
- sensor.active = false;
- }
- else if (percent > 0) {
- updateStatus(percent, 0.05 + (percent * 0.001),
- "It is dark.<br>You are " + percent +" % " +
- "likely to be eaten by a Grue.");
- }
- }
- }
-
- Text {
- id: text
- anchors.top: parent.top
- anchors.topMargin: 0
- anchors.left: parent.left
- anchors.right: parent.right
- wrapMode: Text.WordWrap
- text: "I can't tell if you're going to be eaten by a Grue or not. You're on your own!"
- font.pixelSize: 30
- color: "lightgray"
- }
-
- Image {
- id: grueimg
- anchors.bottom: parent.bottom
- anchors.horizontalCenter: parent.horizontalCenter
- source: "grue.png"
- opacity: 0.0
- Behavior on opacity { PropertyAnimation { duration: 250 } }
- }
-}
diff --git a/examples/sensors/grue/grue.xcf b/examples/sensors/grue/grue.xcf
deleted file mode 100644
index 2837ed7e..00000000
--- a/examples/sensors/grue/grue.xcf
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/grue/icon.xcf b/examples/sensors/grue/icon.xcf
deleted file mode 100644
index 8416c49f..00000000
--- a/examples/sensors/grue/icon.xcf
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/grue/import/import.json b/examples/sensors/grue/import/import.json
deleted file mode 100644
index 0967ef42..00000000
--- a/examples/sensors/grue/import/import.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/examples/sensors/grue/import/import.pro b/examples/sensors/grue/import/import.pro
deleted file mode 100644
index 17d7713e..00000000
--- a/examples/sensors/grue/import/import.pro
+++ /dev/null
@@ -1,37 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-
-TARGET = $$qtLibraryTarget(declarative_grue)
-
-macos: DESTDIR = ../grue_app.app/Contents/MacOS/Grue
-else: DESTDIR = ../Grue
-
-QT = core gui qml sensors
-
-include(../lib/lib.pri)
-
-# Shared gruesensor library will be installed in parent directory.
-# Define rpath so that this plugin will know where to look for it.
-unix:!mac: QMAKE_LFLAGS += -Wl,-rpath,\\\$\$ORIGIN/..
-macos: QMAKE_RPATHDIR += @loader_path/../../Frameworks
-
-SOURCES = main.cpp
-
-DESTPATH=$$[QT_INSTALL_EXAMPLES]/sensors/grue/Grue
-
-target.path=$$DESTPATH
-INSTALLS += target
-
-CONFIG += install_ok # Do not cargo-cult this!
-
-qmldir.files=$$PWD/qmldir
-qmldir.path=$$DESTPATH
-INSTALLS += qmldir
-
-OTHER_FILES += \
- import.json qmldir
-
-# Copy the qmldir file to the same folder as the plugin binary
-cpqmldir.files = $$PWD/qmldir
-cpqmldir.path = $$DESTDIR
-COPIES += cpqmldir
diff --git a/examples/sensors/grue/import/main.cpp b/examples/sensors/grue/import/main.cpp
deleted file mode 100644
index 4827af48..00000000
--- a/examples/sensors/grue/import/main.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml/qqmlextensionplugin.h>
-#include <QtQml/qqml.h>
-
-#include <gruesensor.h>
-#include <QDebug>
-
-#ifdef BUNDLED_PLUGIN
-#include <QPluginLoader>
-#include <QSensorPluginInterface>
-#endif
-
-QT_BEGIN_NAMESPACE
-
-class GrueSensorQmlImport : public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid FILE "import.json")
-public:
- void registerTypes(const char *uri) override
- {
- char const * const package = "Grue";
- if (QLatin1String(uri) != QLatin1String(package)) return;
- int major;
- int minor;
-
- // Register the 1.0 interfaces
- major = 1;
- minor = 0;
- // @uri Grue
- qmlRegisterType <GrueSensor >(package, major, minor, "GrueSensor");
- qmlRegisterUncreatableType<GrueSensorReading>(package, major, minor, "GrueSensorReading", QLatin1String("Cannot create GrueSensorReading"));
- }
-
-#ifdef BUNDLED_PLUGIN
- GrueSensorQmlImport()
- {
- // For now, this is getting called after Sensors has loaded
- // Ensure that a change later does not break this by forcing
- // sensors to load now
- (void)QSensor::sensorTypes();
-
- // Load the bundled sensor plugin
- QPluginLoader loader(QString::fromLocal8Bit(BUNDLED_PLUGIN));
- QObject *instance = loader.instance();
- m_changes = qobject_cast<QSensorChangesInterface*>(instance);
- if (m_changes) {
- QSensor *sensor = new QSensor(QByteArray(), this);
- connect(sensor, SIGNAL(availableSensorsChanged()), this, SLOT(sensorsChanged()));
- m_changes->sensorsChanged();
- }
- QSensorPluginInterface *plugin = qobject_cast<QSensorPluginInterface*>(instance);
- if (plugin) {
- plugin->registerSensors();
- }
- }
-
-private slots:
- void sensorsChanged()
- {
- m_changes->sensorsChanged();
- }
-
-private:
- QSensorChangesInterface *m_changes;
-#endif
-};
-
-QT_END_NAMESPACE
-
-#include "main.moc"
-
-/*
- \omit
- \qmltype GrueSensor
- \instantiates GrueSensor
- \inherits Sensor
- \inqmlmodule Grue
- \brief The GrueSensor type reports on your chance of being eaten by a Grue.
-
- The GrueSensor type reports on your chance of being eaten by a Grue.
-
- This type wraps the GrueSensor class. Please see the documentation for
- GrueSensor for details.
- \endomit
-*/
-
-/*
- \omit
- \qmltype GrueSensorReading
- \instantiates GrueSensorReading
- \inherits SensorReading
- \inqmlmodule Grue
- \brief The GrueSensorReading type holds the most recent GrueSensor reading.
-
- The GrueSensorReading type holds the most recent GrueSensor reading.
-
- This type wraps the GrueSensorReading class. Please see the documentation for
- GrueSensorReading for details.
-
- This type cannot be directly created.
- \endomit
-*/
-
-/*
- \omit
- \qmlproperty qreal Grue1::GrueSensorReading::chanceOfBeingEaten
- Please see GrueSensorReading::chanceOfBeingEaten for information about this property.
- \endomit
-*/
diff --git a/examples/sensors/grue/import/qmldir b/examples/sensors/grue/import/qmldir
deleted file mode 100644
index 529b9093..00000000
--- a/examples/sensors/grue/import/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-module Grue
-plugin declarative_grue
diff --git a/examples/sensors/grue/lib/gruesensor.cpp b/examples/sensors/grue/lib/gruesensor.cpp
deleted file mode 100644
index 1de2f4e8..00000000
--- a/examples/sensors/grue/lib/gruesensor.cpp
+++ /dev/null
@@ -1,159 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gruesensor.h"
-#include "gruesensor_p.h"
-
-IMPLEMENT_READING(GrueSensorReading)
-
-/*
- \omit
- \class GrueSensorReading
-
- \brief The GrueSensorReading class holds readings from the Grue sensor.
-
- The Grue Sensor informs you of your chance of being eaten by a Grue.
-
- Grues love the dark so as long as your surroundings are relatively light
- you are safe. However the more time you spend in the dark, the higher
- your chances are of being eaten by a Grue.
-*/
-
-/*
- \property GrueSensorReading::chanceOfBeingEaten
- \brief holds your chance of being eaten.
-
- The value is the probability (from 0 to 100) that a Grue will eat you.
- A probability of 100 means you are currently being eaten. The darker
- it is, the more likely you are to be eaten by a Grue. The longer you
- stay in a dark area, the more likely you are to be eaten by a Grue.
- If you are in a lit room, the probability will be 0 as Grues fear light.
- \endomit
-*/
-
-int GrueSensorReading::chanceOfBeingEaten() const
-{
- return d->chanceOfBeingEaten;
-}
-
-void GrueSensorReading::setChanceOfBeingEaten(int chanceOfBeingEaten)
-{
- d->chanceOfBeingEaten = chanceOfBeingEaten;
-}
-
-// =====================================================================
-
-// begin generated code
-
-/*
- \omit
- \class GrueFilter
-
- \brief The GrueFilter class is a convenience wrapper around QSensorFilter.
-
- The only difference is that the filter() method features a pointer to GrueSensorReading
- instead of QSensorReading.
- \endomit
-*/
-
-/*
- \omit
- \fn GrueFilter::filter(GrueSensorReading *reading)
-
- Called when \a reading changes. Returns false to prevent the reading from propagating.
-
- \sa QSensorFilter::filter()
- \endomit
-*/
-
-char const * const GrueSensor::type("GrueSensor");
-
-/*
- \omit
- \class GrueSensor
-
- \brief The GrueSensor class is a convenience wrapper around QSensor.
-
- The only behavioural difference is that this class sets the type properly.
-
- This class also features a reading() function that returns a GrueSensorReading instead of a QSensorReading.
-
- For details about how the sensor works, see \l GrueSensorReading.
-
- \sa GrueSensorReading
- \endomit
-*/
-
-/*
- \omit
- \fn GrueSensor::GrueSensor(QObject *parent)
-
- Construct the sensor as a child of \a parent.
- \endomit
-*/
-
-/*
- \fn GrueSensor::~GrueSensor()
-
- Destroy the sensor. Stops the sensor if it has not already been stopped.
-*/
-
-/*
- \omit
- \fn GrueSensor::reading() const
-
- Returns the reading class for this sensor.
-
- \sa QSensor::reading()
- \endomit
-*/
-// end generated code
-
-#include "moc_gruesensor.cpp"
diff --git a/examples/sensors/grue/lib/gruesensor.h b/examples/sensors/grue/lib/gruesensor.h
deleted file mode 100644
index 90379939..00000000
--- a/examples/sensors/grue/lib/gruesensor.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GRUESENSOR_H
-#define GRUESENSOR_H
-
-#include <qsensor.h>
-
-class GrueSensorReadingPrivate;
-
-#if defined(QT_BUILD_GRUE_LIB)
-# define Q_GRUE_EXPORT Q_DECL_EXPORT
-#else
-# define Q_GRUE_EXPORT Q_DECL_IMPORT
-#endif
-
-class Q_GRUE_EXPORT GrueSensorReading : public QSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(int chanceOfBeingEaten READ chanceOfBeingEaten WRITE setChanceOfBeingEaten)
- DECLARE_READING(GrueSensorReading)
-public:
- int chanceOfBeingEaten() const;
- void setChanceOfBeingEaten(int chanceOfBeingEaten);
-};
-
-// begin generated code
-
-class Q_GRUE_EXPORT GrueFilter : public QSensorFilter
-{
-public:
- virtual bool filter(GrueSensorReading *reading) = 0;
-private:
- bool filter(QSensorReading *reading) override { return filter(static_cast<GrueSensorReading*>(reading)); }
-};
-
-class Q_GRUE_EXPORT GrueSensor : public QSensor
-{
- Q_OBJECT
- Q_PROPERTY(GrueSensorReading* reading READ reading)
-public:
- explicit GrueSensor(QObject *parent = 0) : QSensor(GrueSensor::type, parent) {}
- virtual ~GrueSensor() {}
- GrueSensorReading *reading() const { return static_cast<GrueSensorReading*>(QSensor::reading()); }
- static char const * const type;
-};
-// end generated code
-
-#endif
diff --git a/examples/sensors/grue/lib/gruesensor_p.h b/examples/sensors/grue/lib/gruesensor_p.h
deleted file mode 100644
index 0216d06b..00000000
--- a/examples/sensors/grue/lib/gruesensor_p.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GRUESENSOR_P_H
-#define GRUESENSOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-class GrueSensorReadingPrivate
-{
-public:
- GrueSensorReadingPrivate()
- : chanceOfBeingEaten(-1)
- {
- }
-
- int chanceOfBeingEaten;
-};
-
-#endif
diff --git a/examples/sensors/grue/lib/lib.pri b/examples/sensors/grue/lib/lib.pri
deleted file mode 100644
index 0e3da252..00000000
--- a/examples/sensors/grue/lib/lib.pri
+++ /dev/null
@@ -1,6 +0,0 @@
-INCLUDEPATH += $$PWD
-
-macos: LIBS += -L$$OUT_PWD/../grue_app.app/Contents/Frameworks
-else: LIBS += -L$$OUT_PWD/..
-
-LIBS += -lgruesensor
diff --git a/examples/sensors/grue/lib/lib.pro b/examples/sensors/grue/lib/lib.pro
deleted file mode 100644
index cc10e5c4..00000000
--- a/examples/sensors/grue/lib/lib.pro
+++ /dev/null
@@ -1,20 +0,0 @@
-TEMPLATE = lib
-TARGET = gruesensor
-
-macos: DESTDIR = ../grue_app.app/Contents/Frameworks
-else: DESTDIR = $$OUT_PWD/..
-
-macos: QMAKE_SONAME_PREFIX = @rpath
-
-DEFINES *= QT_BUILD_GRUE_LIB
-QT = core sensors
-
-HEADERS += gruesensor.h \
- gruesensor_p.h
-
-SOURCES += gruesensor.cpp
-
-target.path=$$[QT_INSTALL_EXAMPLES]/sensors/grue
-INSTALLS += target
-
-CONFIG += install_ok # Do not cargo-cult this!
diff --git a/examples/sensors/grue/main.cpp b/examples/sensors/grue/main.cpp
deleted file mode 100644
index 499a3432..00000000
--- a/examples/sensors/grue/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../stub.h"
-SENSORS_EXAMPLE_MAIN(grue)
diff --git a/examples/sensors/grue/plugin/gruesensorimpl.cpp b/examples/sensors/grue/plugin/gruesensorimpl.cpp
deleted file mode 100644
index d8012b54..00000000
--- a/examples/sensors/grue/plugin/gruesensorimpl.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gruesensorimpl.h"
-#include <QDebug>
-#include <QTimer>
-
-char const * const gruesensorimpl::id("grue.gruesensor");
-
-gruesensorimpl::gruesensorimpl(QSensor *sensor)
- : QSensorBackend(sensor)
- , lightLevel(QAmbientLightReading::Undefined)
-{
- // We need a light sensor
- lightSensor = new QAmbientLightSensor(this);
- connect(lightSensor, SIGNAL(readingChanged()), this, SLOT(lightChanged()));
- lightSensor->connectToBackend();
-
- // We need a timer
- darkTimer = new QTimer(this);
- darkTimer->setInterval(1000);
- connect(darkTimer, SIGNAL(timeout()), this, SLOT(increaseChance()));
-
- // We use this as our timestamp source
- timer.start();
-
-//! [setReading]
- // Register our reading instance
- setReading<GrueSensorReading>(&m_reading);
-//! [setReading]
-
-//! [metadata]
- // Supply metadata
- // We can run as fast as the light sensor does
- setDataRates(lightSensor);
- // Only one output range, 0 to 1 in .1 increments
- addOutputRange(0, 1, 0.1);
- setDescription(QLatin1String("Grue Sensor"));
-//! [metadata]
-}
-
-void gruesensorimpl::start()
-{
-//! [start]
- lightSensor->setDataRate(sensor()->dataRate());
- lightSensor->start();
- // If the light sensor doesn't work we don't work either
- if (!lightSensor->isActive())
- sensorStopped();
- if (lightSensor->isBusy())
- sensorBusy();
-//! [start]
-}
-
-void gruesensorimpl::stop()
-{
- lightSensor->stop();
-}
-
-void gruesensorimpl::lightChanged()
-{
- if (lightLevel == lightSensor->reading()->lightLevel())
- return;
-
- lightLevel = lightSensor->reading()->lightLevel();
-
- int chance = 0;
- darkTimer->stop();
-
- switch (lightSensor->reading()->lightLevel()) {
- case QAmbientLightReading::Dark:
- // It is dark. You are likely to be eaten by a grue.
- chance = 10;
- darkTimer->start();
- break;
- default:
- break;
- }
-
- // Only send an update if the value has changed.
- if (chance != m_reading.chanceOfBeingEaten() || m_reading.timestamp() == 0) {
- m_reading.setTimestamp(timer.elapsed());
- m_reading.setChanceOfBeingEaten(chance);
- newReadingAvailable();
- }
-}
-
-void gruesensorimpl::increaseChance()
-{
- // The longer you stay in the dark, the higher your chance of being eaten
- int chance = m_reading.chanceOfBeingEaten() + 10;
-
- m_reading.setTimestamp(timer.elapsed());
- m_reading.setChanceOfBeingEaten(chance);
-
- newReadingAvailable();
-
- // No point in using the timer anymore if we've hit 100... you can't get more
- // likely to be eaten than 100%
- if (chance >= 100)
- darkTimer->stop();
-}
-
diff --git a/examples/sensors/grue/plugin/gruesensorimpl.h b/examples/sensors/grue/plugin/gruesensorimpl.h
deleted file mode 100644
index 0847ed9c..00000000
--- a/examples/sensors/grue/plugin/gruesensorimpl.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef GRUESENSORIMPL_H
-#define GRUESENSORIMPL_H
-
-#include <qsensorbackend.h>
-#include "gruesensor.h"
-#include <qambientlightsensor.h>
-#include <QTime>
-
-QT_BEGIN_NAMESPACE
-class QTimer;
-QT_END_NAMESPACE
-
-class gruesensorimpl : public QSensorBackend
-{
- Q_OBJECT
-public:
- static char const * const id;
-
- gruesensorimpl(QSensor *sensor);
-
- void start() override;
- void stop() override;
-
-private Q_SLOTS:
- void lightChanged();
- void increaseChance();
-
-private:
- GrueSensorReading m_reading;
- QAmbientLightSensor *lightSensor;
- QTimer *darkTimer;
- QTime timer;
- QAmbientLightReading::LightLevel lightLevel;
-};
-
-#endif
-
diff --git a/examples/sensors/grue/plugin/main.cpp b/examples/sensors/grue/plugin/main.cpp
deleted file mode 100644
index 4c5da15d..00000000
--- a/examples/sensors/grue/plugin/main.cpp
+++ /dev/null
@@ -1,91 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "gruesensorimpl.h"
-#include <qsensorplugin.h>
-#include <qsensorbackend.h>
-#include <qsensormanager.h>
-#include <QFile>
-#include <QDebug>
-
-class GrueSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorChangesInterface, public QSensorBackendFactory
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
- Q_INTERFACES(QSensorPluginInterface QSensorChangesInterface)
-public:
- void registerSensors() override
- {
- qDebug() << "loaded the grue plugin";
- }
-
- void sensorsChanged() override
- {
- if (!QSensor::defaultSensorForType(QAmbientLightSensor::type).isEmpty()) {
- // There is a light sensor available. Register the backend
- if (!QSensorManager::isBackendRegistered(GrueSensor::type, gruesensorimpl::id))
- QSensorManager::registerBackend(GrueSensor::type, gruesensorimpl::id, this);
- } else {
- if (QSensorManager::isBackendRegistered(GrueSensor::type, gruesensorimpl::id))
- QSensorManager::unregisterBackend(GrueSensor::type, gruesensorimpl::id);
- }
- }
-
- QSensorBackend *createBackend(QSensor *sensor) override
- {
- if (sensor->identifier() == gruesensorimpl::id)
- return new gruesensorimpl(sensor);
-
- return 0;
- }
-};
-
-#include "main.moc"
-
diff --git a/examples/sensors/grue/plugin/plugin.json b/examples/sensors/grue/plugin/plugin.json
deleted file mode 100644
index ab372059..00000000
--- a/examples/sensors/grue/plugin/plugin.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "Keys": [ "grue" ] }
diff --git a/examples/sensors/grue/plugin/plugin.pro b/examples/sensors/grue/plugin/plugin.pro
deleted file mode 100644
index e198140d..00000000
--- a/examples/sensors/grue/plugin/plugin.pro
+++ /dev/null
@@ -1,30 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-TARGET = $$qtLibraryTarget(qtsensors_grue)
-PLUGIN_TYPE = sensors
-
-QT = core sensors
-
-macos: DESTDIR = ../grue_app.app/Contents/MacOS/$$PLUGIN_TYPE
-else: DESTDIR = ../$$PLUGIN_TYPE
-
-include(../lib/lib.pri)
-
-# Shared gruesensor library will be installed in parent directory.
-# Define rpath so that this plugin will know where to look for it.
-unix:!mac: QMAKE_LFLAGS += -Wl,-rpath,\\\$\$ORIGIN/..
-
-HEADERS += gruesensorimpl.h
-
-SOURCES += gruesensorimpl.cpp \
- main.cpp
-
-
-# Install the plugin under Grue example directory
-target.path=$$[QT_INSTALL_EXAMPLES]/sensors/grue/$$PLUGIN_TYPE
-INSTALLS += target
-
-CONFIG += install_ok # Do not cargo-cult this!
-
-OTHER_FILES += \
- plugin.json
diff --git a/examples/sensors/grue/qml.pro b/examples/sensors/grue/qml.pro
deleted file mode 100644
index 3293c4f2..00000000
--- a/examples/sensors/grue/qml.pro
+++ /dev/null
@@ -1,22 +0,0 @@
-TEMPLATE = app
-TARGET = grue_app
-QT += quick
-
-# Avoid going to release/debug subdirectory
-win32: DESTDIR = ./
-
-SOURCES = main.cpp
-
-RESOURCES += \
- qml.qrc
-
-OTHER_FILES = \
- $$files(*.qml) \
- grue.png
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/grue
-INSTALLS += target
-
-EXAMPLE_FILES += \
- grue.xcf \
- icon.xcf
diff --git a/examples/sensors/grue/qml.qrc b/examples/sensors/grue/qml.qrc
deleted file mode 100644
index 55b269b9..00000000
--- a/examples/sensors/grue/qml.qrc
+++ /dev/null
@@ -1,6 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>grue.qml</file>
- <file>grue.png</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/maze/Congratulation.qml b/examples/sensors/maze/Congratulation.qml
deleted file mode 100644
index 3288e3a3..00000000
--- a/examples/sensors/maze/Congratulation.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Import the javascript functions for this game
-import "lib.js" as Lib
-
-//Implementation of the Congratulation control
-Item {
- x: Lib.cellDimension
- y: Lib.cellDimension
- width: Lib.cellDimension * (Lib.dimension - 2)
- height: Lib.cellDimension * (Lib.dimension - 2)
-
- //Containing a animated gif image
- AnimatedImage {
- id: img
- anchors.fill: parent
- visible: true
- source: "content/congratulations.gif"
- }
-}
diff --git a/examples/sensors/maze/LabyrinthSquare.qml b/examples/sensors/maze/LabyrinthSquare.qml
deleted file mode 100644
index dab6d7ca..00000000
--- a/examples/sensors/maze/LabyrinthSquare.qml
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Import the javascript functions for this game
-import "lib.js" as Lib
-
-//Implementation of the Labyrinth square control.
-Rectangle {
- id: sq
- x: 0
- y: 0
- width: Lib.cellDimension
- height: Lib.cellDimension
- color: "white"
- property int val: 0
- property AnimatedImage picture: img
-
- //Dependent of its position and the labyrinth value a square can be the start, cheese, empty or a wall
- AnimatedImage {
- id: img
- anchors.fill: parent
- source: ""
- }
-
- function updateImage()
- {
- if (sq.val == -1)
- sq.picture.source = "content/start.png";
- else if (sq.val == 3)
- sq.picture.source = "content/cheese.png";
- else if (sq.val == 4){
- sq.picture.source = "content/cheeseeating.gif";
- sq.picture.playing = true;
- }
- else if (sq.val == 1)
- sq.picture.source = "content/01.png";
- else
- sq.picture.source = "content/00.png";
- }
-}
diff --git a/examples/sensors/maze/Mouse.qml b/examples/sensors/maze/Mouse.qml
deleted file mode 100644
index cf839910..00000000
--- a/examples/sensors/maze/Mouse.qml
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Import the javascript functions for this game
-import "lib.js" as Lib
-
-//Implementation of the Mouse control.
-Item {
- id: mouse
- x: 0
- y: 0
- width: Lib.cellDimension
- height: Lib.cellDimension
- property int angle
- readonly property double radians_to_degrees: 180 / Math.PI
-
- AnimatedImage {
- id: img
- source: "content/mouse_down.gif"
- anchors.fill: parent
- visible: true
- }
-
- //Function for moving the mouse
- function move(newx, newy)
- {
- if (mouse.x === newx && mouse.y === newy)
- return
- // somehow this actually works
-//! [0]
- var a = newy - mouse.y
- var b = newx - mouse.x
- angle = Math.atan2(-b, a) * mouse.radians_to_degrees
- if (angle < 0)
- angle = 360 + angle
-
- img.rotation = angle
- mouse.x = newx;
- mouse.y = newy;
-//! [0]
- }
-}
diff --git a/examples/sensors/maze/android/AndroidManifest.xml b/examples/sensors/maze/android/AndroidManifest.xml
deleted file mode 100644
index de787fad..00000000
--- a/examples/sensors/maze/android/AndroidManifest.xml
+++ /dev/null
@@ -1,56 +0,0 @@
-<?xml version="1.0"?>
-<manifest package="org.qtproject.example" xmlns:android="http://schemas.android.com/apk/res/android" android:versionName="1.0" android:versionCode="1" android:installLocation="auto">
- <application android:hardwareAccelerated="true" android:name="org.qtproject.qt5.android.bindings.QtApplication" android:label="-- %%INSERT_APP_NAME%% --">
- <activity android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|locale|fontScale|keyboard|keyboardHidden|navigation" android:name="org.qtproject.qt5.android.bindings.QtActivity" android:label="-- %%INSERT_APP_NAME%% --" android:screenOrientation="portrait" android:launchMode="singleTop">
- <intent-filter>
- <action android:name="android.intent.action.MAIN"/>
- <category android:name="android.intent.category.LAUNCHER"/>
- </intent-filter>
- <meta-data android:name="android.app.lib_name" android:value="-- %%INSERT_APP_LIB_NAME%% --"/>
- <meta-data android:name="android.app.qt_sources_resource_id" android:resource="@array/qt_sources"/>
- <meta-data android:name="android.app.repository" android:value="default"/>
- <meta-data android:name="android.app.qt_libs_resource_id" android:resource="@array/qt_libs"/>
- <meta-data android:name="android.app.bundled_libs_resource_id" android:resource="@array/bundled_libs"/>
- <!-- Deploy Qt libs as part of package -->
- <meta-data android:name="android.app.bundle_local_qt_libs" android:value="-- %%BUNDLE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.bundled_in_lib_resource_id" android:resource="@array/bundled_in_lib"/>
- <meta-data android:name="android.app.bundled_in_assets_resource_id" android:resource="@array/bundled_in_assets"/>
- <!-- Run with local libs -->
- <meta-data android:name="android.app.use_local_qt_libs" android:value="-- %%USE_LOCAL_QT_LIBS%% --"/>
- <meta-data android:name="android.app.libs_prefix" android:value="/data/local/tmp/qt/"/>
- <meta-data android:name="android.app.load_local_libs" android:value="-- %%INSERT_LOCAL_LIBS%% --"/>
- <meta-data android:name="android.app.load_local_jars" android:value="-- %%INSERT_LOCAL_JARS%% --"/>
- <meta-data android:name="android.app.static_init_classes" android:value="-- %%INSERT_INIT_CLASSES%% --"/>
- <!-- Messages maps -->
- <meta-data android:value="@string/ministro_not_found_msg" android:name="android.app.ministro_not_found_msg"/>
- <meta-data android:value="@string/ministro_needed_msg" android:name="android.app.ministro_needed_msg"/>
- <meta-data android:value="@string/fatal_error_msg" android:name="android.app.fatal_error_msg"/>
- <!-- Messages maps -->
-
- <!-- Splash screen -->
- <!--
- <meta-data android:name="android.app.splash_screen_drawable" android:resource="@drawable/logo"/>
- -->
- <!-- Splash screen -->
-
- <!-- Background running -->
- <!-- Warning: changing this value to true may cause unexpected crashes if the
- application still try to draw after
- "applicationStateChanged(Qt::ApplicationSuspended)"
- signal is sent! -->
- <meta-data android:name="android.app.background_running" android:value="false"/>
- <!-- Background running -->
- </activity>
- </application>
- <uses-sdk android:minSdkVersion="9" android:targetSdkVersion="14"/>
- <supports-screens android:largeScreens="true" android:normalScreens="true" android:anyDensity="true" android:smallScreens="true"/>
-
- <!-- The following comment will be replaced upon deployment with default permissions based on the dependencies of the application.
- Remove the comment if you do not require these default permissions. -->
- <!-- %%INSERT_PERMISSIONS -->
-
- <!-- The following comment will be replaced upon deployment with default features based on the dependencies of the application.
- Remove the comment if you do not require these default features. -->
- <!-- %%INSERT_FEATURES -->
-
-</manifest>
diff --git a/examples/sensors/maze/components/ApplicationWindow.qml b/examples/sensors/maze/components/ApplicationWindow.qml
deleted file mode 100644
index 5a1c9f67..00000000
--- a/examples/sensors/maze/components/ApplicationWindow.qml
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-Rectangle {
- id: appWnd
- x: 0
- y: 0
- width: 320
- height: 480
- color: "#ececec"
-}
diff --git a/examples/sensors/maze/components/Button.qml b/examples/sensors/maze/components/Button.qml
deleted file mode 100644
index c7a05251..00000000
--- a/examples/sensors/maze/components/Button.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Implementation of the Button control.
-Item {
- id: button
- width: 30
- height: 100
- property alias text: innerText.text
- signal clicked
-
- Image {
- id: backgroundImage
- anchors.fill: parent
- source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png")
- }
-
- Text {
- id: innerText
- anchors.centerIn: parent
- color: "white"
- font.bold: true
- }
-
- //Mouse area to react on click events
- MouseArea {
- anchors.fill: button
- onClicked: { button.clicked();}
- onPressed: {
- backgroundImage.source = "images/button_background_pressed.png" }
- onReleased: {
- backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png")
- }
- }
-}
diff --git a/examples/sensors/maze/components/images/button_background_disabled.png b/examples/sensors/maze/components/images/button_background_disabled.png
deleted file mode 100644
index 62a00b9a..00000000
--- a/examples/sensors/maze/components/images/button_background_disabled.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/components/images/button_background_normal.png b/examples/sensors/maze/components/images/button_background_normal.png
deleted file mode 100644
index 1fecad5b..00000000
--- a/examples/sensors/maze/components/images/button_background_normal.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/components/images/button_background_pressed.png b/examples/sensors/maze/components/images/button_background_pressed.png
deleted file mode 100644
index e0ba0e7a..00000000
--- a/examples/sensors/maze/components/images/button_background_pressed.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/00.png b/examples/sensors/maze/content/00.png
deleted file mode 100644
index 2522be5e..00000000
--- a/examples/sensors/maze/content/00.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/01.png b/examples/sensors/maze/content/01.png
deleted file mode 100644
index 6146b204..00000000
--- a/examples/sensors/maze/content/01.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/cheese.png b/examples/sensors/maze/content/cheese.png
deleted file mode 100644
index c737b9d6..00000000
--- a/examples/sensors/maze/content/cheese.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/cheeseeating.gif b/examples/sensors/maze/content/cheeseeating.gif
deleted file mode 100644
index 6b2cb47f..00000000
--- a/examples/sensors/maze/content/cheeseeating.gif
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/congratulations.gif b/examples/sensors/maze/content/congratulations.gif
deleted file mode 100644
index 70204176..00000000
--- a/examples/sensors/maze/content/congratulations.gif
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/mouse_down.gif b/examples/sensors/maze/content/mouse_down.gif
deleted file mode 100644
index 5491c18f..00000000
--- a/examples/sensors/maze/content/mouse_down.gif
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/content/start.png b/examples/sensors/maze/content/start.png
deleted file mode 100644
index 581b8c9b..00000000
--- a/examples/sensors/maze/content/start.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/maze/doc/src/maze.qdoc b/examples/sensors/maze/doc/src/maze.qdoc
deleted file mode 100644
index 2cc69644..00000000
--- a/examples/sensors/maze/doc/src/maze.qdoc
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example maze
- \title Qt Sensors - Maze QML Example
- \ingroup qtsensors-examples
- \image maze.png
-
- \section2 Maze in QML
- \brief The Maze example demonstrates the TiltSensor QML type.
-
-
- To write a QML application that will use the TiltSensor QML sensors type you need to do the following steps:
-
- Import the QtSensors 5.x declarative plugin:
-
- \snippet maze/maze.qml 0
-
- Add the Sensor QML types into your qml file.
-
- In this example we use the TiltSensor with values based in degrees and an accuracy of 5 degree:
-
- \snippet maze/maze.qml 1
-
- Starting the sensor can be done by setting the 'enabled' property to true:
-
- \snippet maze/maze.qml 2
-
- The mouse should move by a factor of the tilt value:
-
- \snippet maze/maze.qml 3
-
- The walk direction of the mouse takes into account some collision detection:
-
- \snippet maze/maze.qml 4
-
- The rotation of the mouse image is determined according to the angle that the mouse is moving.
-
- \snippet maze/Mouse.qml 0
-
-*/
-
diff --git a/examples/sensors/maze/lib.js b/examples/sensors/maze/lib.js
deleted file mode 100644
index 3bae6a86..00000000
--- a/examples/sensors/maze/lib.js
+++ /dev/null
@@ -1,264 +0,0 @@
-//global variables
-var labyrinth = null;
-var dimension = 24;
-var cellDimension = 13;
-var won;
-var objectArray = null;
-var sec = 0.0
-
-//Allocate labyrinth arrays and create labyrinth and way reflected in the labyrinth array
-function createLabyrinth()
-{
- won = false;
- //create the labyrinth matrix
- labyrinth = null;
- labyrinth = new Array(dimension);
- for (var x = 0; x < dimension; x++ ){
- labyrinth[x] = new Array(dimension);
- for (var y = 0; y < dimension; y++ ){
- labyrinth[x][y] = 0;
- }
- }
- createWay();
- createLab();
-}
-
-//Create a way where the mouse can reach the cheese
-function createWay()
-{
- //Create rnd way to have at least one solution
- //A way square is marked as a 2 in the labyrinth array
- var x = 0;
- var y = 0;
- var ox = x;
- var oy = y;
- labyrinth[0][0] = 2;
- while (x < dimension && y < dimension){
- var rnd = Math.floor(Math.random()*5);
- if (Math.floor(Math.random()*2) == 1){
- if (rnd == 0) x--;
- if (rnd >= 1) x++;
- if (x < 0) x++;
- if (x >= dimension){
- x = ox;
- break;
- }
- }
- else {
- if (rnd == 0) y--;
- if (rnd >= 1) y++;
- if (y < 0) y++;
- if (y >= dimension){
- y = oy;
- break;
- }
- }
-
- /*avoid to have [2]2|
- |2|2|*/
- if (x < (dimension - 1) && y < (dimension - 1)){
- if (labyrinth[x + 1][y] == 2
- && labyrinth[x][y + 1] == 2
- && labyrinth[x + 1][y + 1] == 2){
- y = oy;
- x = ox;
- continue;
- }
- }
- /*avoid to have |2[2]
- |2|2|*/
- if (x > 0 && y < (dimension - 1)){
- if (labyrinth[x - 1][y] == 2
- && labyrinth[x][y + 1] == 2
- && labyrinth[x - 1][y + 1] == 2){
- y = oy;
- x = ox;
- continue;
- }
- }
- /*avoid to have |2|2|
- [2]2|*/
- if (x < (dimension - 1) && y > 0){
- if (labyrinth[x + 1][y] == 2
- && labyrinth[x][y - 1] == 2
- && labyrinth[x + 1][y - 1] == 2){
- y = oy;
- x = ox;
- continue;
- }
- }
- /*avoid to have |2|2|
- |2[2]*/
- if (x > 0 && y > 0){
- if (labyrinth[x - 1][y] == 2
- && labyrinth[x][y - 1] == 2
- && labyrinth[x - 1][y - 1] == 2){
- y = oy;
- x = ox;
- continue;
- }
- }
-
- labyrinth[x][y] = 2;
- ox = x;
- oy = y;
- }
- //finish way
- while (x < (dimension - 1)){
- labyrinth[x][y] = 2;
- x++;
- }
- while (y < (dimension - 1)){
- labyrinth[x][y] = 2;
- y++;
- }
-}
-
-//Create the labyrinth with rnd values
-function createLab()
-{
- //A wall square is marked as a 1 in the labyrinth array
- //Not a wall square is marked as a 0 in the labyrinth array
- //The Cheese square is marked as a 3 in the labyrinth array
- //The start is marked as a -1 in the labyrinth array
- for (var x = 0; x < dimension; x++ ){
- var rnd = 0;
- for (var y = 0; y < dimension; y++){
- //But don't overwrite the way
- if (labyrinth[x][y] != 2){
- var rnd = Math.floor(Math.random()*2);
- var xy = 0;
- var xxy = 0;
- var xyy = 0;
- var xxyy = 0;
-
- if (x > 0 && y > 0){
- xy = labyrinth[x - 1][y - 1];
- if (xy == 2)
- xy = 0;
-
- xyy = labyrinth[x - 1][y];
- if (xyy == 2)
- xyy = 0;
-
- xxy = labyrinth[x][y - 1];
- if (xxy == 2)
- xxy = 0;
-
- xxyy = rnd;
- if (xxyy == 2)
- xxyy = 0;
-
- //avoid to have to many |0|1| or |1|0| [xy ][xxy ]
- // |1[0] |0[1] [xyy ][xxyy]
- if (xyy == xxy && xy == xxyy && xy != xxy){
- if (rnd == 1)
- rnd = 0;
- else rnd = 1;
- }
-
- //avoid to have to many |1|1| or |0|0|
- // |1[1] |0[0]
- if (xy == xxy && xxy == xxyy && xxyy == xyy){
- if (rnd == 1)
- rnd = 0;
- else rnd = 1;
- }
- }
- else if (x == 0 && y > 0){
- xy = labyrinth[x][y - 1];
- if (xy == 2)
- xy = 0;
-
- xyy = rnd;
- if (xyy == 2)
- xyy = 0;
-
- xxy = labyrinth[x + 1][y - 1];
- if (xxy == 2)
- xxy = 0;
-
- xxyy = labyrinth[x + 1][y];
- if (xxyy == 2)
- xxyy = 0;
-
- //avoid to have to many |1|1| or |0|0|
- // |1[1] |0[0]
- if (xy == xxy && xxy == xxyy && xxyy == xyy){
- if (rnd == 1)
- rnd = 0;
- else rnd = 1;
- }
-
- //avoid to have to many |0|1| or |1|0| [xy ][xxy ]
- // |1[0] |0[1] [xyy ][xxyy]
- if (xyy == xxy && xy == xxyy && xy != xxy){
- if (rnd == 1)
- rnd = 0;
- else rnd = 1;
- }
- }
- labyrinth[x][y] = rnd;
- }
-
- }
- }
- //set start and end
- labyrinth[0][0] = -1;
- labyrinth[0][1] = 0;
- labyrinth[1][0] = 0;
- labyrinth[1][1] = 0;
-
- labyrinth[dimension - 2][dimension - 2] = 0;
- labyrinth[dimension - 2][dimension - 1] = 0;
- labyrinth[dimension - 1][dimension - 2] = 0;
- labyrinth[dimension - 1][dimension - 1] = 3;
-}
-
-//Function that checks if the mouse can be moved in x and y
-function canMove(x, y)
-{
- //Check if movement is allowed
- var xcenter = x + (cellDimension / 2);
- var ycenter = y + (cellDimension / 2);
- //try to get the index
- var idx = Math.floor(xcenter / cellDimension);
- var idy = Math.floor(ycenter / cellDimension);
- var dx = xcenter - (idx * cellDimension + ( cellDimension / 2 ));
- var dy = ycenter - (idy * cellDimension + ( cellDimension / 2 ));
-
- if (dx > 0){
- if (labyrinth[idx][idy] == 1)
- return false;
- }
- if (dx < 0){
- if (labyrinth[idx][idy] == 1)
- return false;
- }
- if (dy > 0){
- if (labyrinth[idx][idy] == 1)
- return false;
- }
- if (dy < 0){
- if (labyrinth[idx][idy] == 1)
- return false;
- }
- //check if won
- if (idx == (dimension - 1) && idy == (dimension - 1))
- won = true;
- return true;
-}
-
-//Function that prints out the labyrith array values in the console
-function printLab()
-{
- //for debug purposes print out lab n console
- var iy = 0;
- for (var y = 0; y < dimension; y++ ){
- var line = "";
- for (var x = 0; x < dimension; x++ ){
- line += labyrinth[x][y];
- }
- console.log(line);
- }
-}
diff --git a/examples/sensors/maze/main.cpp b/examples/sensors/maze/main.cpp
deleted file mode 100644
index 2c3dd56e..00000000
--- a/examples/sensors/maze/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../stub.h"
-SENSORS_EXAMPLE_MAIN(maze)
diff --git a/examples/sensors/maze/maze.pro b/examples/sensors/maze/maze.pro
deleted file mode 100644
index f15fa570..00000000
--- a/examples/sensors/maze/maze.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TEMPLATE = app
-TARGET = maze
-QT += quick sensors
-SOURCES = main.cpp
-
-OTHER_FILES = \
- components \
- $$files(*.qml) \
- $$files(*.js) \
- content \
- android/AndroidManifest.xml
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/maze
-INSTALLS += target
-
-RESOURCES += \
- maze.qrc
-
-ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
diff --git a/examples/sensors/maze/maze.qml b/examples/sensors/maze/maze.qml
deleted file mode 100644
index 05ac9559..00000000
--- a/examples/sensors/maze/maze.qml
+++ /dev/null
@@ -1,299 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/* Layout
- mainWnd
- /
-------------------------------/ gameRect
-| /
-|-----------------------------/
-||---------------------------|
-||||M| ||
-||| \ ||
-||| mouseCtrl ||
-||| ||
-||| ||
-||| Labyrinth ||
-||| ||
-||| ||
-||| cheeseSquare ||
-||| \ ||
-||| |C|||
-||---------------------------|
-|-----------------------------
-|
-|-----------------------------
-|| || |
-|-----------------------------
-| \ \
-| \ timePlayingLabel
-| newGameButton
-------------------------------
-
-*/
-//Import the declarative plugins
-import QtQuick 2.0
-import "components"
-
-//! [0]
-import QtSensors 5.0
-//! [0]
-
-//Import the javascript functions for this game
-import "lib.js" as Lib
-
-ApplicationWindow {
- id: mainWnd
-
- property Mouse mouseCtrl;
- property LabyrinthSquare cheeseSquare;
- property Congratulation congratulation;
-
- Rectangle {
- id: gameRect
- x: (mainWnd.width - width) / 2
- y: 5
- width: Lib.dimension * Lib.cellDimension
- height: Lib.dimension * Lib.cellDimension
- color: "transparent"
- border.width: 2
-
- //timer for starting the labyrinth game
- Timer {
- id: startTimer
- interval: 50; running: true; repeat: false
- onTriggered: {
-
- //reset game time
- timePlayingLabel.text = "--";
- Lib.sec = 0.0;
- Lib.createLabyrinth();
-
- //create labyrinth elements (only at the first time)
- var needloadcomponent = false;
- if (Lib.objectArray === null) {
- needloadcomponent = true;
- Lib.objectArray = new Array(Lib.dimension * Lib.dimension);
- }
- var idx = 0;
- for (var y = 0; y < Lib.dimension; y++ ) {
- for (var x = 0; x < Lib.dimension; x++ ) {
- var component = null;
-
- //create labyrinth components (only at the first time)
- if (needloadcomponent) {
- component = Qt.createComponent("LabyrinthSquare.qml");
- if (component.status == Component.Ready) {
- var square = component.createObject(parent);
- square.x = x * square.width;
- square.y = y * square.height;
- square.val = Lib.labyrinth[x][y];
- square.updateImage();
- Lib.objectArray[idx] = square;
- if (x == (Lib.dimension - 1) && y == (Lib.dimension - 1)) {
- cheeseSquare = square;
- var component1 = Qt.createComponent("Congratulation.qml");
- if (component1.status == Component.Ready) {
- congratulation = component1.createObject(parent);
- congratulation.visible = false;
- }
- }
- }
- }
- else{
- Lib.objectArray[idx].val = Lib.labyrinth[x][y];
- Lib.objectArray[idx].updateImage();
- if (x == (Lib.dimension - 1) && y == (Lib.dimension - 1)) {
- cheeseSquare = Lib.objectArray[idx];
- congratulation.visible = false;
- }
- }
- idx++;
- }
- }
-
- //Lib.printLab(); //this is for debug. Labyrinth will be printed out in the console
-
- //Create the mouse control (only at the first time)
- if (mouseCtrl === null) {
- var component = Qt.createComponent("Mouse.qml");
- if (component.status == Component.Ready) {
- mouseCtrl = component.createObject(parent);
- }
- }
- mouseCtrl.x = 0;
- mouseCtrl.y = 0;
- newGameButton.enabled = true;
-
- //Start the Tilt reader timer
- tiltTimer.running = true;
- }
- }
- }
-
-//! [1]
- TiltSensor {
- id: tiltSensor
- active: true
- }
-//! [1]
-
- //Timer to read out the x and y rotation of the TiltSensor
- Timer {
- id: tiltTimer
- interval: 50; running: false; repeat: true
-
-//! [2]
- onTriggered: {
- if (!tiltSensor.enabled)
- tiltSensor.active = true;
-//! [2]
-
- if (mouseCtrl === null)
- return;
-
- //check if already solved
- if (Lib.won !== true) {
- Lib.sec += 0.05;
- timePlayingLabel.text = Math.floor(Lib.sec) + " seconds";
-
- //check if we can move the mouse
- var xval = -1;
- var yval = -1;
-
-//! [3]
- var xstep = 0;
- xstep = tiltSensor.reading.yRotation * 0.1 //acceleration
-
- var ystep = 0;
- ystep = tiltSensor.reading.xRotation * 0.1 //acceleration
-//! [3]
-//! [4]
- if (xstep < 1 && xstep > 0)
- xstep = 0
- else if (xstep > -1 && xstep < 0)
- xstep = 0
-
- if (ystep < 1 && ystep > 0)
- ystep = 0;
- else if (ystep > -1 && ystep < 0)
- ystep = 0;
-
- if ((xstep < 0 && mouseCtrl.x > 0
- && Lib.canMove(mouseCtrl.x + xstep,mouseCtrl.y))) {
- xval = mouseCtrl.x + xstep;
-
- } else if (xstep > 0 && mouseCtrl.x < (Lib.cellDimension * (Lib.dimension - 1))
- && Lib.canMove(mouseCtrl.x + xstep,mouseCtrl.y)) {
- xval = mouseCtrl.x + xstep;
- } else
- xval = mouseCtrl.x;
-
- if (ystep < 0 && mouseCtrl.y > 0
- && Lib.canMove(mouseCtrl.x, mouseCtrl.y + ystep)) {
- yval = mouseCtrl.y + ystep;
- } else if (ystep > 0 && (mouseCtrl.y < (Lib.cellDimension * (Lib.dimension - 1)))
- && Lib.canMove(mouseCtrl.x, mouseCtrl.y + ystep)) {
- yval = mouseCtrl.y + ystep;
- } else
- yval = mouseCtrl.y
-
- mouseCtrl.move(xval, yval);
-//! [4]
-
- } else {
- //game won, stop the tilt meter
- mainWnd.cheeseSquare.val = 4;
- mainWnd.cheeseSquare.updateImage();
- mainWnd.congratulation.visible = true;
- newGameButton.enabled = true;
- tiltTimer.running = false;
- }
- }
- }
-
-
- //Button to start a new Game
- Button{
- id: newGameButton
- anchors.left: gameRect.left
- anchors.top: gameRect.bottom
- anchors.topMargin: 5
- height: 30
- width: 100
- text: "new game"
- enabled: false;
- onClicked: {
- newGameButton.enabled = false;
- startTimer.start();
- }
- }
- Button{
- id: calibrateButton
- anchors.left: gameRect.left
- anchors.top: newGameButton.bottom
- anchors.topMargin: 5
- height: 30
- width: 100
- text: "calibrate"
- onClicked: {
- tiltSensor.calibrate();
- }
- }
-
- //Label to print out the game time
- Text{
- id: timePlayingLabel
- anchors.right: gameRect.right
- anchors.top: gameRect.bottom
- anchors.topMargin: 5
- }
-}
-
diff --git a/examples/sensors/maze/maze.qrc b/examples/sensors/maze/maze.qrc
deleted file mode 100644
index 10916193..00000000
--- a/examples/sensors/maze/maze.qrc
+++ /dev/null
@@ -1,21 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>Congratulation.qml</file>
- <file>LabyrinthSquare.qml</file>
- <file>lib.js</file>
- <file>maze.qml</file>
- <file>Mouse.qml</file>
- <file>components/ApplicationWindow.qml</file>
- <file>components/Button.qml</file>
- <file>components/images/button_background_disabled.png</file>
- <file>components/images/button_background_pressed.png</file>
- <file>components/images/button_background_normal.png</file>
- <file>content/00.png</file>
- <file>content/start.png</file>
- <file>content/mouse_down.gif</file>
- <file>content/congratulations.gif</file>
- <file>content/cheeseeating.gif</file>
- <file>content/cheese.png</file>
- <file>content/01.png</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/qmlqtsensors/components/ApplicationWindow.qml b/examples/sensors/qmlqtsensors/components/ApplicationWindow.qml
deleted file mode 100644
index 54d837b2..00000000
--- a/examples/sensors/qmlqtsensors/components/ApplicationWindow.qml
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-Rectangle {
- id: appWnd
- width: 320
- height: 480
- color: "#868482"
-}
diff --git a/examples/sensors/qmlqtsensors/components/Button.qml b/examples/sensors/qmlqtsensors/components/Button.qml
deleted file mode 100644
index c7a05251..00000000
--- a/examples/sensors/qmlqtsensors/components/Button.qml
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Implementation of the Button control.
-Item {
- id: button
- width: 30
- height: 100
- property alias text: innerText.text
- signal clicked
-
- Image {
- id: backgroundImage
- anchors.fill: parent
- source: (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png")
- }
-
- Text {
- id: innerText
- anchors.centerIn: parent
- color: "white"
- font.bold: true
- }
-
- //Mouse area to react on click events
- MouseArea {
- anchors.fill: button
- onClicked: { button.clicked();}
- onPressed: {
- backgroundImage.source = "images/button_background_pressed.png" }
- onReleased: {
- backgroundImage.source = (button.enabled ? "images/button_background_normal.png" : "images/button_background_disabled.png")
- }
- }
-}
diff --git a/examples/sensors/qmlqtsensors/components/Divider.qml b/examples/sensors/qmlqtsensors/components/Divider.qml
deleted file mode 100644
index 68d78ae9..00000000
--- a/examples/sensors/qmlqtsensors/components/Divider.qml
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-
-Column {
- spacing: 5
- width: parent.width
- property alias label: textLabel.text
-
- Rectangle {
- border.width: 1
- height: 2
- width: parent.width
- anchors.margins: 20
- border.color: "#2d2b19"
- }
- Text {
- id: textLabel
- width: parent.width
- horizontalAlignment: Text.AlignHCenter
- font.bold: true
- }
-}
diff --git a/examples/sensors/qmlqtsensors/components/images/button_background_disabled.png b/examples/sensors/qmlqtsensors/components/images/button_background_disabled.png
deleted file mode 100644
index 62a00b9a..00000000
--- a/examples/sensors/qmlqtsensors/components/images/button_background_disabled.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/qmlqtsensors/components/images/button_background_normal.png b/examples/sensors/qmlqtsensors/components/images/button_background_normal.png
deleted file mode 100644
index 1fecad5b..00000000
--- a/examples/sensors/qmlqtsensors/components/images/button_background_normal.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/qmlqtsensors/components/images/button_background_pressed.png b/examples/sensors/qmlqtsensors/components/images/button_background_pressed.png
deleted file mode 100644
index e0ba0e7a..00000000
--- a/examples/sensors/qmlqtsensors/components/images/button_background_pressed.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/qmlqtsensors/doc/src/qmlqtsensors.qdoc b/examples/sensors/qmlqtsensors/doc/src/qmlqtsensors.qdoc
deleted file mode 100644
index ce32cea2..00000000
--- a/examples/sensors/qmlqtsensors/doc/src/qmlqtsensors.qdoc
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example qmlqtsensors
- \title Qt Sensors - QML example
- \ingroup qtsensors-examples
- \image qmlqtsensors.png
-
- \section2 Qt Sensors in QML
- \brief The QtSensors - QML example demonstrates the QML sensors types in the QtSensors 5 import.
-
-
- To write a QML application that will use the QML sensors types in the QtSensors 5 import you need to to the following steps:
-
- Import the QtSensors 5.x declarative plugin:
-
- \snippet qmlqtsensors/qmlqtsensors.qml 0
-
- Add the Sensor QML types into your qml file.
-
- In this example we use the TiltSensor:
-
- \snippet qmlqtsensors/qmlqtsensors.qml 1
-
- The Tilt-, AmbientLight- and the Proximity QML sensor types have the 'enabled' property in common.
- To start or stop the sensor set this property to true or false.
-
- \snippet qmlqtsensors/qmlqtsensors.qml 2
-
- Reading the data can be done for each sensor type like following:
-
- \l {TiltSensor} {TiltSensor}
-
- \snippet qmlqtsensors/qmlqtsensors.qml 3
- \snippet qmlqtsensors/qmlqtsensors.qml 4
-
- \l {AmbientLightSensor} {AmbientLightSensor}
-
- \snippet qmlqtsensors/qmlqtsensors.qml 5
-
- \l {ProximitySensor} {ProximitySensor}
-
- \snippet qmlqtsensors/qmlqtsensors.qml 6
-*/
-
diff --git a/examples/sensors/qmlqtsensors/main.cpp b/examples/sensors/qmlqtsensors/main.cpp
deleted file mode 100644
index 3615d892..00000000
--- a/examples/sensors/qmlqtsensors/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../stub.h"
-SENSORS_EXAMPLE_MAIN(qmlqtsensors)
diff --git a/examples/sensors/qmlqtsensors/qmlqtsensors.pro b/examples/sensors/qmlqtsensors/qmlqtsensors.pro
deleted file mode 100644
index 6add64dc..00000000
--- a/examples/sensors/qmlqtsensors/qmlqtsensors.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TEMPLATE = app
-TARGET = qmlqtsensors
-QT += quick
-SOURCES = main.cpp
-
-RESOURCES += \
- qmlqtsensors.qrc
-
-OTHER_FILES = \
- $$files(*.qml) \
- components
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/qmlqtsensors
-INSTALLS += target
diff --git a/examples/sensors/qmlqtsensors/qmlqtsensors.qml b/examples/sensors/qmlqtsensors/qmlqtsensors.qml
deleted file mode 100644
index 456c0140..00000000
--- a/examples/sensors/qmlqtsensors/qmlqtsensors.qml
+++ /dev/null
@@ -1,257 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/* Layout
- mainWnd
- /
----------------------------------------------------------------------------------
-|--------------------------------------------------------------------------------
-|| labelTitle |
-|--------------------------------------------------------------------------------
-|-------------------------------------------------------------------------------- <---- tiltLine
-|--------------------------------------------------------------------------------
-|| labelTilt |
-|--------------------------------------------------------------------------------
-| / accuracyRect / speedRect
-|-------------------------------------------||----------------------------------|
-|| Accuracy <----- textAccuracy || Speed <-----textSpeed |
-|| value <- textAccuracyValue || value <- textSpeedValue |
-|| ----------------- ------------------ || --------------- ---------------- |
-|| | accuracyLower | | accuracyHigher | || | speedLower | | speedHigher | |
-|| ----------------- ------------------ || --------------- ---------------- |
-|------------------------------------------ ||----------------------------------|
-| -----------
-| |Calibrate| <------------------ calibrate
-| -----------
-| ---------
-| |Degree | <-------------------- useRadian X Rotation: 0 <------------------ xrottext
-| ---------
-| ---------
-| |Start | <-------------------- tiltStart Y Rotation: 0 <------------------ yrottext
-| ---------
-|-------------------------------------------------------------------------------- <---- ambientlightLine
-|--------------------------------------------------------------------------------
-|| labelAmbientLight |
-|--------------------------------------------------------------------------------
-| ---------
-| |Start | <-------------------- ablStart Ambient light: - <--------------- abltext
-| ---------
-|-------------------------------------------------------------------------------- <---- proximityLine
-|--------------------------------------------------------------------------------
-|| labelProximityLight |
-|--------------------------------------------------------------------------------
-| ---------
-| |Start | <-------------------- proxiStart Proximity: - <--------------- proxitext
-| ---------
-------------------------------------------------------------------------------
-*/
-
-//Import the declarative plugins
-import QtQuick 2.0
-import "components"
-
-//! [0]
-import QtSensors 5.0
-//! [0]
-
-ApplicationWindow {
-
- // Sensor types used
- //! [1]
- TiltSensor {
- id: tilt
- active: false
- }
- //! [1]
-
- AmbientLightSensor {
- id: ambientlight
- active: false
- //! [5]
- onReadingChanged: {
- if (reading.lightLevel == AmbientLightReading.Dark)
- ambientlighttext.text = "Ambient light: Dark";
- else if (reading.lightLevel == AmbientLightReading.Twilight)
- ambientlighttext.text = "Ambient light: Twilight";
- else if (reading.lightLevel == AmbientLightReading.Light)
- ambientlighttext.text = "Ambient light: Light";
- else if (reading.lightLevel == AmbientLightReading.Bright)
- ambientlighttext.text = "Ambient light: Bright";
- else if (reading.lightLevel == AmbientLightReading.Sunny)
- ambientlighttext.text = "Ambient light: Sunny";
- else
- ambientlighttext.text = "Ambient light: Unknown";
- }
- //! [5]
- }
-
- ProximitySensor {
- id: proxi
- active: false
- }
-
- Column {
- spacing: 10
- anchors.fill: parent
- anchors.margins: 5
-
- Text {
- id: labelTitle
- width: parent.width
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 30
- font.bold: true
- text: "QML QtSensors"
- }
-
- // Tilt region
- Divider { label: "TiltSensor" }
-
- Row {
- spacing: 20
- width: parent.width
- anchors.margins: 5
- Button {
- id: calibrate
- height: 30
- width: 80
- text: "Calibrate"
- onClicked: tilt.calibrate();
- }
- Text {
- id: xrottext
- height: 30
- verticalAlignment: Text.AlignVCenter
- //! [3]
- text: "X Rotation: " + (tilt.reading ? tilt.reading.xRotation.toFixed(2) + "°" : "Unknown")
- //! [3]
- }
- }
- Row {
- spacing: 20
- width: parent.width
- anchors.margins: 5
- Button {
- id: tiltStart
- height: 30
- width: 80
- text: tilt.active ? "Stop" : "Start"
- onClicked: {
- //! [2]
- tilt.active = (tiltStart.text === "Start");
- //! [2]
- }
- }
- Text {
- id: yrottext
- height: 30
- verticalAlignment: Text.AlignVCenter
- //! [4]
- text: "Y Rotation: " + (tilt.reading ? tilt.reading.yRotation.toFixed(2) + "°" : "Unknown")
- //! [4]
- }
- }
-
- Divider { label: "AmbientLightSensor" }
-
- Row {
- spacing: 20
- width: parent.width
- anchors.margins: 5
-
- Button{
- id: ambientlightStart
- height: 30
- width: 80
- text: ambientlight.active ? "Stop" : "Start"
- onClicked: {
- ambientlight.active = (ambientlightStart.text === "Start" ? true : false);
- }
- }
-
- Text {
- id: ambientlighttext
- height: 30
- verticalAlignment: Text.AlignVCenter
- text: "Ambient light: Unknown"
- }
- }
-
- // Proximity region
- Divider { label: "ProximitySensor" }
-
- Row {
- spacing: 20
- width: parent.width
- anchors.margins: 5
-
- Button {
- id: proxiStart
- height: 30
- width: 80
- text: proxi.active ? "Stop" : "Start"
-
- onClicked: {
- proxi.active = (proxiStart.text === "Start" ? true: false);
- }
- }
-
- Text {
- id: proxitext
- height: 30
- verticalAlignment: Text.AlignVCenter
- //! [6]
- text: "Proximity: " +
- (proxi.active ? (proxi.reading.near ? "Near" : "Far") : "Unknown")
- //! [6]
- }
- }
- }
-}
diff --git a/examples/sensors/qmlqtsensors/qmlqtsensors.qrc b/examples/sensors/qmlqtsensors/qmlqtsensors.qrc
deleted file mode 100644
index 4ba06dad..00000000
--- a/examples/sensors/qmlqtsensors/qmlqtsensors.qrc
+++ /dev/null
@@ -1,11 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>qmlqtsensors.qml</file>
- <file>components/ApplicationWindow.qml</file>
- <file>components/Button.qml</file>
- <file>components/images/button_background_disabled.png</file>
- <file>components/images/button_background_normal.png</file>
- <file>components/images/button_background_pressed.png</file>
- <file>components/Divider.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/qmlsensorgestures/Button.qml b/examples/sensors/qmlsensorgestures/Button.qml
deleted file mode 100644
index 56430f1b..00000000
--- a/examples/sensors/qmlsensorgestures/Button.qml
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Implementation of the Button control.
-Item {
- id: button
- width: 30
- height: 30
- property alias buttonText: innerText.text;
- property color color: "white"
- property color hoverColor: "#aaaaaa"
- property color pressColor: "slategray"
- property int fontSize: 10
- property int borderWidth: 1
- property int borderRadius: 2
- scale: state === "Pressed" ? 0.96 : 1.0
- onEnabledChanged: state = ""
- signal clicked
-
- //define a scale animation
- Behavior on scale {
- NumberAnimation {
- duration: 100
- easing.type: Easing.InOutQuad
- }
- }
-
- //Rectangle to draw the button
- Rectangle {
- id: rectangleButton
- anchors.fill: parent
- radius: borderRadius
- color: button.enabled ? button.color : "grey"
- border.width: borderWidth
- border.color: "black"
-
- Text {
- id: innerText
- font.pointSize: fontSize
- anchors.centerIn: parent
- }
- }
-
- //change the color of the button in differen button states
- states: [
- State {
- name: "Hovering"
- PropertyChanges {
- target: rectangleButton
- color: hoverColor
- }
- },
- State {
- name: "Pressed"
- PropertyChanges {
- target: rectangleButton
- color: pressColor
- }
- }
- ]
-
- //define transmission for the states
- transitions: [
- Transition {
- from: ""; to: "Hovering"
- ColorAnimation { duration: 200 }
- },
- Transition {
- from: "*"; to: "Pressed"
- ColorAnimation { duration: 10 }
- }
- ]
-
- //Mouse area to react on click events
- MouseArea {
- hoverEnabled: true
- anchors.fill: button
- onEntered: { button.state='Hovering'}
- onExited: { button.state=''}
- onClicked: { button.clicked();}
- onPressed: { button.state="Pressed" }
- onReleased: {
- if (containsMouse)
- button.state="Hovering";
- else
- button.state="";
- }
- }
-}
diff --git a/examples/sensors/qmlsensorgestures/GestureList.qml b/examples/sensors/qmlsensorgestures/GestureList.qml
deleted file mode 100644
index 8ee1f6ed..00000000
--- a/examples/sensors/qmlsensorgestures/GestureList.qml
+++ /dev/null
@@ -1,146 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-import QtSensors 5.0
-
-/* Layout
- gesturerect
- /
----------------------------------------/
-|-------------------------------------|
-|| labelGesture ||
-|-------------------------------------|
-|-------------------------------------|
-|| |<---- gestureListRect
-|| ||
-|| ||
-|| gestureList ||
-|| ||
-|| ||
-|| ||
-|| ||
-|| ||
-|| ||
-|-------------------------------------|
-*/
-
-Rectangle {
- id: gesturerect
- border.width: 1
- anchors.margins: 5
-
- property string selectedGesture: ""
-
- SensorGesture {
- id: gesture
- }
-
- Text {
- id: labelGesture
- anchors.top: gesturerect.top
- anchors.left: gesturerect.left
- anchors.right: gesturerect.right
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 30
- font.bold: true
- text: "Gestures"
- }
-
- Rectangle {
- id: gestureListRect
- border.width: 1
- anchors.top: labelGesture.bottom
- anchors.left: gesturerect.left
- anchors.right: gesturerect.right
- anchors.bottom: gesturerect.bottom
- anchors.margins: 5
-
-//! [4]
- ListView {
- id: gestureList
-//! [4]
- anchors.fill: gestureListRect
- anchors.margins: 5
-//! [5]
- model: gesture.availableGestures
-//! [5]
- focus: true
- currentIndex: -1
- delegate: gestureListDelegate
- clip: true
-//! [6]
- }
-//! [6]
-
- Component {
- id: gestureListDelegate
-
- Rectangle {
- width: gestureList.width
- height: itemText.height
- color: (index === gestureList.currentIndex ? "#999933" : "#FFFFFF")
-
- Text {
- id: itemText
- text: model.modelData
- }
- MouseArea {
- anchors.fill: parent
- onClicked: {
- gestureList.currentIndex = index
- selectedGesture = model.modelData
- }
- }
- }
- }
- }
-}
diff --git a/examples/sensors/qmlsensorgestures/GestureView.qml b/examples/sensors/qmlsensorgestures/GestureView.qml
deleted file mode 100644
index eaa46cd8..00000000
--- a/examples/sensors/qmlsensorgestures/GestureView.qml
+++ /dev/null
@@ -1,162 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//! [0]
-import QtSensors 5.0
-//! [0]
-
-/* Layout
- gesturerect
- /
----------------------------------------/
-| ----------------------------------- |
-| | id: titleText | |
-| ----------------------------------- |
-| |
-| |
-| ----------------------------------- |
-| | id: detectionText | |
-| ----------------------------------- |
-| |
-| |
-| |
-| ----------------------------------- |
-| | id: valueText | |
-| ----------------------------------- |
-| |
-| |
-| |
-| ------------------------------ |
-| | id: gestureStartStopButton | |
-| ------------------------------ |
----------------------------------------
-*/
-
-Rectangle {
- id: gestureRect
- border.width: 1
- anchors.margins: 5
-//! [2]
- property alias gestureId: sensorGesture.gestures
-//! [2]
- property alias gestureTitle: titleText.text
- property alias enabled: sensorGesture.enabled
- property string oldGesture: ""
- property int count: 0
-
-//! [1]
- SensorGesture {
- id: sensorGesture
- enabled: false
- onDetected: {
- if (gesture !== oldGesture)
- count = 0;
- valueText.text = gesture + " " + count;
- oldGesture = gesture;
- count++;
- }
- onEnabledChanged: {
- valueText.text = ""
- }
- }
-//! [1]
-
- Text {
- id: titleText
- anchors.top: gestureRect.top
- anchors.left: gestureRect.left
- anchors.right: gestureRect.right
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 20
- font.bold: true
- text: ""
- }
-
- Text {
- id: detectionText
- anchors.top: titleText.bottom
- anchors.left: gestureRect.left
- anchors.right: gestureRect.right
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 15
- text: "Detection:"
- }
-
- Text {
- id: valueText
- anchors.top: detectionText.bottom
- anchors.left: gestureRect.left
- anchors.right: gestureRect.right
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 15
- visible: sensorGesture.enabled
- }
-
- Button{
- id: gestureStartStopButton
- anchors.left: gestureRect.left
- anchors.bottom: gestureRect.bottom
- height: 30
- width: 100
- buttonText: (sensorGesture.enabled ? "Stop" : "Start")
- enabled: true;
- onClicked: {
- if (gestureStartStopButton.buttonText === "Start") {
- sensorGesture.enabled = true;
- }
- else {
- sensorGesture.enabled = false;
- }
- }
- }
-}
diff --git a/examples/sensors/qmlsensorgestures/GesturesView.qml b/examples/sensors/qmlsensorgestures/GesturesView.qml
deleted file mode 100644
index 3ba53546..00000000
--- a/examples/sensors/qmlsensorgestures/GesturesView.qml
+++ /dev/null
@@ -1,166 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-import QtSensors 5.0
-
-/* Layout
- gesturerect
- /
----------------------------------------/
-| ----------------------------------- |
-| | id: titleText | |
-| ----------------------------------- |
-| |
-| |
-| ----------------------------------- |
-| | id: detectionText | |
-| ----------------------------------- |
-| |
-| |
-| |
-| ----------------- ----------------- |
-| | id: valueText | | id: valueText1| |
-| ----------------- ----------------- |
-| |
-| |
-| |
-| ------------------------------ |
-| | id: gestureStartStopButton | |
-| ------------------------------ |
----------------------------------------
-*/
-
-Rectangle {
- id: gestureRect
- border.width: 1
- anchors.margins: 5
- property alias enabled: sensorGesture.enabled
- property int count: 0
- property int count1: 0
-
- SensorGesture {
- id: sensorGesture
- enabled: true
- gestures: availableGestures
- onDetected:{
- if (gesture === "QtSensors.shake")
- gestureRect.count++;
- else
- gestureRect.count1++;
- }
- onEnabledChanged: {
- gestureRect.count = 0;
- gestureRect.count1 = 0;
- }
- }
-
- Text {
- id: titleText
- anchors.top: gestureRect.top
- anchors.left: gestureRect.left
- anchors.right: gestureRect.right
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 20
- font.bold: true
- text: "Gesture Counter"
- }
-
- Text {
- id: detectionText
- anchors.top: titleText.bottom
- anchors.left: gestureRect.left
- anchors.right: gestureRect.right
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 15
- text: "Shake : SecondCounter"
- }
-
- Text {
- id: valueText
- anchors.top: detectionText.bottom
- anchors.left: gestureRect.left
- width: gestureRect.width / 2
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 15
- text: gestureRect.count
- visible: sensorGesture.enabled
- }
-
- Text {
- id: valueText1
- anchors.top: detectionText.bottom
- anchors.right: gestureRect.right
- width: gestureRect.width / 2
- horizontalAlignment: Text.AlignHCenter
- font.pixelSize: 15
- text: gestureRect.count1
- visible: sensorGesture.enabled
- }
-
- Button{
- id: gestureStartStopButton
- anchors.left: gestureRect.left
- anchors.bottom: gestureRect.bottom
- height: 30
- width: 100
- buttonText: (sensorGesture.enabled ? "Stop" : "Start")
- enabled: true;
- onClicked: {
- if (gestureStartStopButton.buttonText === "Start") {
- sensorGesture.enabled = true;
- }
- else {
- sensorGesture.enabled = false;
- }
- }
- }
-}
diff --git a/examples/sensors/qmlsensorgestures/doc/src/qmlsensorgestures.qdoc b/examples/sensors/qmlsensorgestures/doc/src/qmlsensorgestures.qdoc
deleted file mode 100644
index 5bdd39f9..00000000
--- a/examples/sensors/qmlsensorgestures/doc/src/qmlsensorgestures.qdoc
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example qmlsensorgestures
- \title Qt Sensors - SensorGesture QML Type example
- \ingroup qtsensors-examples
-
- \brief Demonstrates the use of SensorGesture QML type.
-
- \section1 Overview
- To write a QML application that will use the gesture plugin, following
- steps are needed:
-
- Import the QtSensors 5.x module:
-
- \snippet qmlsensorgestures/GestureView.qml 0
-
- Add the SensorGesture QML type into your qml file.
-
- \snippet qmlsensorgestures/GestureView.qml 1
-
- Each SensorGesture QML type contains a property called gestures. This example
- uses an alias \c gestureId for this property.
-
- \snippet qmlsensorgestures/GestureView.qml 2
-
- Then, the gesture or gestures to use can be specified using the alias:
-
- \snippet qmlsensorgestures/qmlsensorgestures.qml 3
- \dots 12
- \snippet qmlsensorgestures/qmlsensorgestures.qml 4
-
- A list of all available gestures is accessible through the
- \c availableGestures property:
-
- \snippet qmlsensorgestures/GestureList.qml 4
- \codeline
- \snippet qmlsensorgestures/GestureList.qml 5
- \dots 12
- \snippet qmlsensorgestures/GestureList.qml 6
-
- \sa {Qt Sensors - ShakeIt QML Example}, {Qt Sensor Gestures}
-*/
diff --git a/examples/sensors/qmlsensorgestures/main.cpp b/examples/sensors/qmlsensorgestures/main.cpp
deleted file mode 100644
index 646da4ed..00000000
--- a/examples/sensors/qmlsensorgestures/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../stub.h"
-SENSORS_EXAMPLE_MAIN(qmlsensorgestures)
diff --git a/examples/sensors/qmlsensorgestures/plugin/plugin.pro b/examples/sensors/qmlsensorgestures/plugin/plugin.pro
deleted file mode 100644
index bb519c8d..00000000
--- a/examples/sensors/qmlsensorgestures/plugin/plugin.pro
+++ /dev/null
@@ -1,30 +0,0 @@
-QT += sensors
-TARGET = qtsensorgestures_counterplugin
-
-QTDIR_build {
-# This is only for the Qt build. Do not use externally. We mean it.
-PLUGIN_TYPE = sensorgestures
-PLUGIN_CLASS_NAME = QCounterGesturePlugin
-PLUGIN_EXTENDS = -
-load(qt_plugin)
-CONFIG += install_ok
-} else {
-
-TEMPLATE = lib
-CONFIG += plugin
-
-target.path += $$[QT_INSTALL_PLUGINS]/sensorgestures
-INSTALLS += target
-
-}
-
-HEADERS += \
- qcountergestureplugin.h \
- qcounterrecognizer.h
-SOURCES += \
- qcountergestureplugin.cpp \
- qcounterrecognizer.cpp
-
-OTHER_FILES += \
- plugin.json
-
diff --git a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp b/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp
deleted file mode 100644
index eeeb354f..00000000
--- a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtPlugin>
-#include <QStringList>
-#include <QObject>
-
-#include "qcountergestureplugin.h"
-#include <qsensorgestureplugininterface.h>
-#include <qsensorgesturemanager.h>
-#include "qcounterrecognizer.h"
-
-
-QCounterGesturePlugin::QCounterGesturePlugin()
-{
-}
-
-QCounterGesturePlugin::~QCounterGesturePlugin()
-{
-}
-
-QStringList QCounterGesturePlugin::supportedIds() const
-{
- QStringList list;
- list << "QtSensors.SecondCounter";
- return list;
-}
-
-
-QList <QSensorGestureRecognizer *> QCounterGesturePlugin::createRecognizers()
-{
- QList <QSensorGestureRecognizer *> recognizers;
-
- QSensorGestureRecognizer *sRec = new QCounterGestureRecognizer(this);
- recognizers.append(sRec);
-
- return recognizers;
-}
diff --git a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h b/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h
deleted file mode 100644
index 1b756328..00000000
--- a/examples/sensors/qmlsensorgestures/plugin/qcountergestureplugin.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCOUNTERGESTUREPLUGIN_H
-#define QCOUNTERGESTUREPLUGIN_H
-
-#include <QObject>
-#include <QStringList>
-
-#include <qsensorgestureplugininterface.h>
-
-class QCounterGesturePlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.QSensorGesturePluginInterface")
- Q_INTERFACES(QSensorGesturePluginInterface)
-
-public:
- explicit QCounterGesturePlugin();
- ~QCounterGesturePlugin();
-
- QList<QSensorGestureRecognizer *> createRecognizers() override;
-
- QStringList gestureSignals() const;
- QStringList supportedIds() const override;
- QString name() const override { return "CounterGestures"; }
-};
-
-#endif // QCOUNTERGESTUREPLUGIN_H
diff --git a/examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.cpp b/examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.cpp
deleted file mode 100644
index 11ffbb94..00000000
--- a/examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDebug>
-#include <QTimer>
-
-#include "qcounterrecognizer.h"
-
-QCounterGestureRecognizer::QCounterGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
-{
-}
-
-QCounterGestureRecognizer::~QCounterGestureRecognizer()
-{
-
-}
-
-void QCounterGestureRecognizer::create()
-{
- connect(&_timer,SIGNAL(timeout()),this,SLOT(timeout()));
- _timer.setInterval(1000);
-}
-
-bool QCounterGestureRecognizer::start()
-{
- Q_EMIT detected(id());
- _timer.start();
- return _timer.isActive();
-}
-
-bool QCounterGestureRecognizer::stop()
-{
- _timer.stop();
- return true;
-}
-
-
-bool QCounterGestureRecognizer::isActive()
-{
- return _timer.isActive();
-}
-
-QString QCounterGestureRecognizer::id() const
-{
- return QString("QtSensors.SecondCounter");
-}
-
-void QCounterGestureRecognizer::timeout()
-{
- Q_EMIT detected(id());
-}
diff --git a/examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.h b/examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.h
deleted file mode 100644
index 4a0212ab..00000000
--- a/examples/sensors/qmlsensorgestures/plugin/qcounterrecognizer.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QCOUNTERGESTURERECOGNIZER_H
-#define QCOUNTERGESTURERECOGNIZER_H
-
-#include <QDebug>
-#include <QtCore/QTimer>
-#include <qsensorgesturerecognizer.h>
-
-class QCounterGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
-
- QCounterGestureRecognizer(QObject *parent = 0);
- ~QCounterGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-private slots:
- void timeout();
-
-private:
- QTimer _timer;
-};
-
-#endif // QCOUNTERGESTURERECOGNIZER_H
diff --git a/examples/sensors/qmlsensorgestures/qml.pro b/examples/sensors/qmlsensorgestures/qml.pro
deleted file mode 100644
index 6191f322..00000000
--- a/examples/sensors/qmlsensorgestures/qml.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TEMPLATE = app
-TARGET = qmlsensorgestures
-QT += quick
-SOURCES = main.cpp
-
-OTHER_FILES = \
- $$files(*.qml)
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/qmlsensorgestures
-INSTALLS += target
-
-RESOURCES += \
- qml.qrc
diff --git a/examples/sensors/qmlsensorgestures/qml.qrc b/examples/sensors/qmlsensorgestures/qml.qrc
deleted file mode 100644
index af48a3ed..00000000
--- a/examples/sensors/qmlsensorgestures/qml.qrc
+++ /dev/null
@@ -1,9 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>Button.qml</file>
- <file>GestureList.qml</file>
- <file>GesturesView.qml</file>
- <file>GestureView.qml</file>
- <file>qmlsensorgestures.qml</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/qmlsensorgestures/qmlsensorgestures.pro b/examples/sensors/qmlsensorgestures/qmlsensorgestures.pro
deleted file mode 100644
index 011f5f95..00000000
--- a/examples/sensors/qmlsensorgestures/qmlsensorgestures.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-TEMPLATE = subdirs
-CONFIG += ordered
-
-SUBDIRS = \
- plugin \
- qml.pro
diff --git a/examples/sensors/qmlsensorgestures/qmlsensorgestures.qml b/examples/sensors/qmlsensorgestures/qmlsensorgestures.qml
deleted file mode 100644
index 02d9e0cf..00000000
--- a/examples/sensors/qmlsensorgestures/qmlsensorgestures.qml
+++ /dev/null
@@ -1,127 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-import QtSensors 5.0
-
-/* Layout
---------------------------------------------------
-| ---------------------------------------------- |
-| | | |
-| | | |
-| | | |
-| | gestureList | |
-| | | |
-| | | |
-| | | |
-| | | |
-| | | |
-| | | |
-| | | |
-| | | |
-| ---------------------------------------------- |
-| ---------------------------------------------- |
-| | | |
-| | gesture | |
-| | | |
-| | | |
-| ---------------------------------------------- |
-| ---------------------------------------------- |
-| | | |
-| | gestures | |
-| | | |
-| | | |
-| ---------------------------------------------- |
---------------------------------------------------
-*/
-
-Rectangle {
- id: viewArea
- width: 320
- height: 460
- color: '#d6d6d6'
-
- GestureList {
- id: gestureList
- parent: viewArea
- anchors.left: viewArea.left
- anchors.top: viewArea.top
- anchors.right: viewArea.right
- height: viewArea.height / 2
-//! [3]
- onSelectedGestureChanged: {
- gesture.enabled = false;
- gesture.gestureId = gestureList.selectedGesture;
-//! [3]
- gesture.gestureTitle = gestureList.selectedGesture;
-//! [4]
- }
-//! [4]
- }
-
- GestureView {
- id: gesture
- parent: viewArea
- anchors.left: viewArea.left
- anchors.top: gestureList.bottom
- anchors.right: viewArea.right
- height: 100
- }
-
- GesturesView {
- id: gestures
- parent: viewArea
- anchors.left: viewArea.left
- anchors.top: gesture.bottom
- anchors.right: viewArea.right
- height: 100
- }
-}
diff --git a/examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.png b/examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.png
deleted file mode 100644
index 888fc3c6..00000000
--- a/examples/sensors/sensor_explorer/doc/images/qtsensors-examples-explorer.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc b/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc
deleted file mode 100644
index 367711b1..00000000
--- a/examples/sensors/sensor_explorer/doc/src/sensor_explorer.qdoc
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example sensor_explorer
- \title Qt Sensors - Explorer QML Example
- \ingroup qtsensors-examples
- \brief Demonstrates how to read the meta-data of available sensors.
-
- \image qtsensors-examples-explorer.png
-
- This example is divided into two parts:
-
- \list
- \li A \l{Sensor Explorer QML Import}{C++ plugin} that provides QML
- alternatives for \c QSensorExplorer, \c QPropertyInfo and
- \c QSensorItem C++ classes.
- \li A \l{Sensor Explorer QML Application}{QML Application} that uses
- the QML types to read the sensor meta-data and present it.
- \endlist
-
- This example is built as an executable with C++ code that runs the QML,
- but it can also be launched directly using the \c qmlscene tool. You
- should build the top-level \e sensor_explorer project before trying to
- run this example or it will not be able to find its dependencies.
-
- \code
- qmlscene -I . sensor_explorer.qml
- \endcode
-
- Above, the -I . parameter adds the current directory as a module import
- path to locate the Explorer QML module.
-
- \section1 Sensor Explorer QML Import
-
- The Sensor Explorer QML import defines the \e Explorer QML module,
- exporting \c QSensorExplorer, \c QPropertyInfo and \c QSensorItem C++
- classes as QML types. The source code is available in the
- \c sensor_explorer/import subdirectory.
-
- \section1 Sensor Explorer QML Application
-
- To write a QML application that will use the QML types exposed by the
- Explorer module, following steps are needed:
-
- Import the Explorer 1.0 declarative plugin:
-
- \snippet sensor_explorer/sensor_explorer.qml 0
-
- Create a SensorExplorer QML item:
-
- \snippet sensor_explorer/sensor_explorer.qml 1
-
- You can retrieve a list of all available sensors using
- \c SensorExplorer.availableSensors:
-
- \snippet sensor_explorer/sensor_explorer.qml 2
-
- The example uses the returned list as a model to populate a view of
- available sensors.
-
- To retrieve the properties of a sensor, use \c SensorItem.properties:
-
- \snippet sensor_explorer/sensor_explorer.qml 3
-
- The property list is used as a model for another view that displays the
- property names and values.
-
- It is possible to edit the values of certain sensor properties. Selecting
- a writable property value will open an editor. \c SensorExplorer QML
- type allows you to pass a new value for a sensor property value as
- follows:
-
- \snippet sensor_explorer/sensor_explorer.qml 4
-
- Starting and stopping a sensor can be done by setting the
- \c SensorItem.start property:
-
- \snippet sensor_explorer/sensor_explorer.qml 5
-*/
diff --git a/examples/sensors/sensor_explorer/import/explorer.cpp b/examples/sensors/sensor_explorer/import/explorer.cpp
deleted file mode 100644
index 4773ee18..00000000
--- a/examples/sensors/sensor_explorer/import/explorer.cpp
+++ /dev/null
@@ -1,152 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "explorer.h"
-#include <QtCore/QDebug>
-#include <qsensor.h>
-#include <QMetaObject>
-#include <QMetaProperty>
-
-QT_BEGIN_NAMESPACE
-
-/*
- \class QSensorExplorer
- \brief The QSensorExplorer type provides an easy access for reading all avalaible sensors installed on the system.
-*/
-
-/*
- Construct a QSensorExplorer object with parent \a parent
-*/
-QSensorExplorer::QSensorExplorer(QObject* parent)
- : QObject(parent)
- , _selectedSensorItem(0)
-{
- loadSensors();
-}
-
-/*
- Destructor of a QSensorExplorer
-*/
-QSensorExplorer::~QSensorExplorer()
-{
-}
-
-/*
- Load all available sensors and store it in a list.
-*/
-void QSensorExplorer::loadSensors()
-{
- //! [0]
- _availableSensors.clear();
-
- foreach (const QByteArray &type, QSensor::sensorTypes()) {
- qDebug() << "Found type" << type;
- foreach (const QByteArray &identifier, QSensor::sensorsForType(type)) {
- qDebug() << "Found identifier" << identifier;
- // Don't put in sensors we can't connect to
- QSensor* sensor = new QSensor(type, this);
- sensor->setIdentifier(identifier);
- if (!sensor->connectToBackend()) {
- qDebug() << "Couldn't connect to" << identifier;
- continue;
- }
-
- qDebug() << "Adding identifier" << identifier;
- _availableSensors.append(new QSensorItem(sensor, this));
- }
- }
- emit availableSensorsChanged();
- //! [0]
-}
-
-/*
- \fn QSensorExplorer::availableSensorsChanged()
- Notifies the client if the list of the available sensors was changed
-*/
-
-/*
- \property QSensorExplorer::availableSensors
- Returns a list of all available sensor.
-*/
-QQmlListProperty<QSensorItem> QSensorExplorer::availableSensors()
-{
- return QQmlListProperty<QSensorItem>(this,_availableSensors);
-}
-
-/*
- \fn QSensorExplorer::selectedSensorItemChanged()
- Notifies the client if the selected sensor has been changed
-*/
-
-/*
- \property QSensorExplorer::selectedSensorItem
- Returns the current selected sensor item.
-*/
-QSensorItem* QSensorExplorer::selectedSensorItem()
-{
- return _selectedSensorItem;
-}
-
-/*
- \fn QSensorExplorer::setSelectedSensorItem(QSensorItem* selitem)
- Sets the QSensorItem \a selitem as the current selected QSensorItem.
-*/
-void QSensorExplorer::setSelectedSensorItem(QSensorItem* selitem)
-{
- if (selitem && _selectedSensorItem != selitem) {
- if (_selectedSensorItem)
- _selectedSensorItem->unSelect();
- _selectedSensorItem = selitem;
- _selectedSensorItem->select();
- emit selectedSensorItemChanged();
- }
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/explorer.h b/examples/sensors/sensor_explorer/import/explorer.h
deleted file mode 100644
index 2e583f81..00000000
--- a/examples/sensors/sensor_explorer/import/explorer.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSEONSOREXPLORER_H
-#define QSEONSOREXPLORER_H
-
-#include <QtQml/QtQml>
-#include <QtQml/QQmlListProperty>
-#include "sensoritem.h"
-
-QT_BEGIN_NAMESPACE
-
-class QSensorExplorer : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QQmlListProperty<QSensorItem> availableSensors READ availableSensors NOTIFY availableSensorsChanged)
- Q_PROPERTY(QSensorItem* selectedSensorItem READ selectedSensorItem WRITE setSelectedSensorItem NOTIFY selectedSensorItemChanged)
-public:
- QSensorExplorer(QObject* parent = 0);
- virtual ~QSensorExplorer();
-
-private:
- QQmlListProperty<QSensorItem> availableSensors();
- void loadSensors();
- void setSelectedSensorItem(QSensorItem* selitem);
- QSensorItem* selectedSensorItem();
-
-Q_SIGNALS:
- void availableSensorsChanged();
- void selectedSensorItemChanged();
-
-private:
- QList<QSensorItem*> _availableSensors;
- QSensorItem* _selectedSensorItem;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QSensorExplorer)
-
-#endif // QSEONSOREXPLORER_H
diff --git a/examples/sensors/sensor_explorer/import/import.json b/examples/sensors/sensor_explorer/import/import.json
deleted file mode 100644
index 0967ef42..00000000
--- a/examples/sensors/sensor_explorer/import/import.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/examples/sensors/sensor_explorer/import/import.pro b/examples/sensors/sensor_explorer/import/import.pro
deleted file mode 100644
index 49a437e8..00000000
--- a/examples/sensors/sensor_explorer/import/import.pro
+++ /dev/null
@@ -1,37 +0,0 @@
-TEMPLATE = lib
-CONFIG += plugin
-
-TARGET = $$qtLibraryTarget(declarative_explorer)
-
-macos: DESTDIR = ../sensor_explorer.app/Contents/MacOS/Explorer
-else: DESTDIR = ../Explorer
-
-QT += qml sensors
-
-SOURCES = \
- main.cpp \
- explorer.cpp \
- sensoritem.cpp \
- propertyinfo.cpp
-
-HEADERS = \
- explorer.h \
- sensoritem.h \
- propertyinfo.h
-
-DESTPATH=$$[QT_INSTALL_EXAMPLES]/sensors/sensor_explorer/Explorer
-
-target.path=$$DESTPATH
-qmldir.files=$$PWD/qmldir
-qmldir.path=$$DESTPATH
-INSTALLS += target qmldir
-
-CONFIG += install_ok # Do not cargo-cult this!
-
-OTHER_FILES += \
- import.json qmldir
-
-# Copy the qmldir file to the same folder as the plugin binary
-cpqmldir.files = $$PWD/qmldir
-cpqmldir.path = $$DESTDIR
-COPIES += cpqmldir
diff --git a/examples/sensors/sensor_explorer/import/main.cpp b/examples/sensors/sensor_explorer/import/main.cpp
deleted file mode 100644
index b43ea339..00000000
--- a/examples/sensors/sensor_explorer/import/main.cpp
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml/QQmlExtensionPlugin>
-#include <QtQml/QtQml>
-#include "explorer.h"
-#include <QtCore/QDebug>
-
-QT_BEGIN_NAMESPACE
-
-class SensorExplorerDeclarativeModule : public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid FILE "import.json")
-public:
- void registerTypes(const char *uri) override
- {
- Q_ASSERT(QLatin1String(uri) == QLatin1String("Explorer"));
- // @uri Explorer
- qmlRegisterType<QSensorExplorer>(uri, 1, 0, "SensorExplorer");
- qmlRegisterType<QSensorItem>(uri, 1, 0, "SensorItem");
- qmlRegisterType<QPropertyInfo>(uri, 1, 0, "PropertyInfo");
- }
-};
-
-QT_END_NAMESPACE
-
-#include "main.moc"
diff --git a/examples/sensors/sensor_explorer/import/propertyinfo.cpp b/examples/sensors/sensor_explorer/import/propertyinfo.cpp
deleted file mode 100644
index 4704a6a1..00000000
--- a/examples/sensors/sensor_explorer/import/propertyinfo.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensoritem.h"
-#include <QtCore/QDebug>
-#include <QtSensors>
-
-QT_BEGIN_NAMESPACE
-
-/*
- \class QPropertyInfo
- \brief The QPropertyInfo type provides an easy access for reading and writing the property values.
-*/
-
-/*
- Construct a QPropertyInfo object with parent \a parent
-*/
-QPropertyInfo::QPropertyInfo(QObject* parent)
- : QObject(parent)
- , _index(0)
- , _isWriteable(false)
- , _name("")
- , _typeName("")
- , _value("")
-{}
-
-/*
- Construct a QPropertyInfo object with parent \a parent, property name \a name, property index \a index,
- property write access \a writeable, property type \a typeName and property value \a value
-*/
-QPropertyInfo::QPropertyInfo(const QString& name, int index, bool writeable, const QString& typeName, const QString& value, QObject* parent)
- : QObject(parent)
- , _index(index)
- , _isWriteable(writeable)
- , _name(name)
- , _typeName(typeName)
- , _value(value)
-{}
-
-/*
- \property QPropertyInfo::name
- Returns the name of the property
-*/
-QString QPropertyInfo::name()
-{
- return _name;
-}
-
-/*
- \property QPropertyInfo::typeName
- Returns the type of the property
-*/
-QString QPropertyInfo::typeName()
-{
- return _typeName;
-}
-
-/*
- \property QPropertyInfo::value
- Returns the current value of the property
-*/
-QString QPropertyInfo::value()
-{
- return _value;
-}
-
-/*
- \fn void QPropertyInfo::valueChanged()
- Signal that notifies the client if the property value was changed.
-*/
-
-/*
- \fn QPropertyInfo::setValue(const QString& value)
- Sets the value \a value of the property
-*/
-void QPropertyInfo::setValue(const QString& value)
-{
- if (value != _value){
- _value = value;
- emit valueChanged();
- }
-}
-
-/*
- \fn QPropertyInfo::index()
- Returns the meta-data index of the property
-*/
-int QPropertyInfo::index()
-{
- return _index;
-}
-
-/*
- \property QPropertyInfo::isWriteable
- Returns true if the property is writeable false if property is read only
-*/
-bool QPropertyInfo::isWriteable()
-{
- return _isWriteable;
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/propertyinfo.h b/examples/sensors/sensor_explorer/import/propertyinfo.h
deleted file mode 100644
index 53b194a3..00000000
--- a/examples/sensors/sensor_explorer/import/propertyinfo.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QPROPERTYINFO_H
-#define QPROPERTYINFO_H
-
-#include <QtQml/QtQml>
-#include <QtCore/QString>
-
-QT_BEGIN_NAMESPACE
-
-class QPropertyInfo : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(QString name READ name CONSTANT)
- Q_PROPERTY(QString typeName READ typeName CONSTANT)
- Q_PROPERTY(QString value READ value NOTIFY valueChanged)
- Q_PROPERTY(bool isWriteable READ isWriteable CONSTANT)
-
-public:
- QPropertyInfo(QObject* parent = 0);
- QPropertyInfo(const QString& name, int index, bool writeable, const QString& typeName, const QString& value, QObject* parent=0);
- QString name();
- QString typeName();
- QString value();
- void setValue(const QString& value);
- int index();
- bool isWriteable();
-
-Q_SIGNALS:
- void valueChanged();
-
-private:
- int _index;
- bool _isWriteable;
- QString _name;
- QString _typeName;
- QString _value;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QPropertyInfo)
-
-#endif // QPROPERTYINFO_H
diff --git a/examples/sensors/sensor_explorer/import/qmldir b/examples/sensors/sensor_explorer/import/qmldir
deleted file mode 100644
index 31c037fa..00000000
--- a/examples/sensors/sensor_explorer/import/qmldir
+++ /dev/null
@@ -1,2 +0,0 @@
-module Explorer
-plugin declarative_explorer
diff --git a/examples/sensors/sensor_explorer/import/sensoritem.cpp b/examples/sensors/sensor_explorer/import/sensoritem.cpp
deleted file mode 100644
index 88b5fa7c..00000000
--- a/examples/sensors/sensor_explorer/import/sensoritem.cpp
+++ /dev/null
@@ -1,331 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensoritem.h"
-#include <QtCore/QDebug>
-#include <QtSensors>
-
-QT_BEGIN_NAMESPACE
-
-/*
- \class QSensorItem
- \brief The QSensorItem type provides information about the metadata from a sensors installed on the system.
-*/
-
-/*
- Construct a QSensorItem object with parent \a parent
-*/
-QSensorItem::QSensorItem(QObject* parent)
- : QObject(parent)
- , _qsensor(0)
-{
-}
-
-/*
- Construct a QSensorItem object with QSensor \a sensor and parent \a parent
-*/
-QSensorItem::QSensorItem(QSensor* sensor, QObject* parent)
- : QObject(parent)
- , _qsensor(sensor)
-{
-}
-
-/*
- Destructor of a QSensorItem
-*/
-QSensorItem::~QSensorItem()
-{
-}
-
-/*
- \fn QSensorItem::startChanged()
- Notifies the client if the sensors has changed its start active status
-*/
-
-/*
- \property QSensorItem::start
- This property starts or stops the sensor
-*/
-bool QSensorItem::start()
-{
- return (_qsensor ? _qsensor->isActive() : false);
-}
-
-void QSensorItem::setStart(bool run)
-{
- if (_qsensor)
- _qsensor->setActive(run);
-}
-
-/*
- \property QSensorItem::id
- Returns the sensor id of the sensor item
-*/
-QString QSensorItem::id()
-{
- return (_qsensor ? _qsensor->identifier() : "");
-}
-
-/*
- Set the new value \a val to the QPropertyInfo object \a property
-*/
-void QSensorItem::changePropertyValue(QPropertyInfo* property, const QString& val)
-{
- if (_qsensor && _sensorProperties.contains(property)){
- if ( _qsensor->setProperty(property->name().toLatin1().constData(), QVariant(val)))
- updateSensorPropertyValues();
- else
- qWarning() << "new property value couldn't be set";
- }
-}
-
-/*
- Reading the metadata and activates the sensor.
-*/
-void QSensorItem::select()
-{
- if (_sensorProperties.isEmpty()) {
- // Probe the reading using Qt's meta-object facilities
- //Read properties from reader
- QSensorReading *reading = _qsensor->reading();
- const QMetaObject *mo = reading->metaObject();
- int firstProperty = QSensorReading::staticMetaObject.propertyOffset();
-
- for (int i = firstProperty; i < mo->propertyCount(); ++i) {
- QString typeName = QLatin1String(mo->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
-
- QPropertyInfo* pi = new QPropertyInfo(mo->property(i).name()
- , i
- , isWriteable(mo->property(i).name())
- , typeName
- , "-"
- , this);
- _readerProperties.append(pi);
- }
-
- //Read properties from sensor
- const QMetaObject *mo1 = _qsensor->metaObject();
- firstProperty = QSensorReading::staticMetaObject.propertyOffset();
-
- for (int i = firstProperty; i < mo1->propertyCount(); ++i) {
- QString propertyname = mo1->property(i).name();
- if (ignoreProperty(propertyname))
- continue;
-
- QString typeName = QLatin1String(mo1->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
-
- QPropertyInfo* pi = new QPropertyInfo(propertyname
- , i
- , isWriteable(propertyname)
- , typeName
- , "-"
- , this);
- _sensorProperties.append(pi);
- }
- updateSensorPropertyValues();
- connect(_qsensor, SIGNAL(readingChanged()), this, SLOT(sensorReadingChanged()));
- }
- connect(_qsensor, SIGNAL(activeChanged()), SIGNAL(startChanged()));
-}
-
-/*
- Unselect the sensor by stopping the sensor.
-*/
-void QSensorItem::unSelect()
-{
- _qsensor->stop();
- disconnect(_qsensor, SIGNAL(activeChanged()), this , SIGNAL(startChanged()));
-}
-
-/*
- Updates the property values from QSensor
-*/
-void QSensorItem::updateSensorPropertyValues()
-{
- if (_qsensor){
- const QMetaObject *mo = _qsensor->metaObject();
- for (int i = 0; i < _sensorProperties.count(); i++){
- QVariant val = mo->property(_sensorProperties[i]->index()).read(_qsensor);
- _sensorProperties[i]->setValue(convertValue(_sensorProperties[i]->typeName(), val));
- }
- }
-}
-
-/*
- \fn QSensorItem::propertiesChanged()
- Notifies the client if the list of the properties was changed
-*/
-
-/*
- Updates the property values from the QSensorReader
-*/
-void QSensorItem::sensorReadingChanged()
-{
- QSensorReading *reading = _qsensor->reading();
- const QMetaObject *mo = reading->metaObject();
- for (int i = 0; i < _readerProperties.count(); i++){
- QVariant val = mo->property(_readerProperties[i]->index()).read(reading);
- _readerProperties[i]->setValue(convertValue(_readerProperties[i]->typeName(), val));
- }
-}
-
-/*
- Returns true if the property with the name \a propertyname should be ignored
-*/
-bool QSensorItem::ignoreProperty(const QString& propertyname)
-{
- if (propertyname == "reading" ||
- propertyname == "active" ||
- propertyname == "identifier" ||
- propertyname == "connectedToBackend" ||
- propertyname == "busy")
- return true;
-
- return false;
-}
-
-/*
- Returns true if the property with the name \a propertyname is writeable
-*/
-bool QSensorItem::isWriteable(const QString& propertyname)
-{
- if (_qsensor){
- const QMetaObject *mo = _qsensor->metaObject();
- int propertyindex = mo->indexOfProperty(propertyname.toLocal8Bit().constData());
- if (propertyindex >= 0){
- QMetaProperty prop = mo->property(propertyindex);
- return prop.isWritable();
- }
- else {
- QSensorReading *reading = _qsensor->reading();
- const QMetaObject *moreader = reading->metaObject();
- propertyindex = moreader->indexOfProperty(propertyname.toLocal8Bit().constData());
- if (propertyindex >= 0){
- QMetaProperty prop = mo->property(propertyindex);
- return prop.isWritable();
- }
- }
- }
-
- return false;
-}
-
-/*
- Convert the variant \a val dependent on the type \a type and returns the converted value as a QString
-*/
-QString QSensorItem::convertValue(const QString& type, const QVariant& val)
-{
- if (type == "LightLevel"){
- switch (val.toInt()) {
- case 1: return "Dark";
- case 2: return "Twilight";
- case 3: return "Light";
- case 4: return "Bright";
- case 5: return "Sunny";
- default: return "Undefined";
- }
- }
- else if (type == "Orientation"){
- switch (val.toInt()) {
- case 1: return "TopUp";
- case 2: return "TopDown";
- case 3: return "LeftUp";
- case 4: return "RightUp";
- case 5: return "FaceUp";
- case 6: return "FaceDown";
- default: return "Undefined";
- }
- }
- else if (type == "qrangelist"){
- qrangelist rangelist = val.value<qrangelist>();
- QStringList ranges;
- foreach (const qrange &r, rangelist) {
- if (r.first == r.second)
- ranges << QString("%1 Hz").arg(r.first);
- else
- ranges << QString("%1-%2 Hz").arg(r.first).arg(r.second);
- }
- if (ranges.count() > 0)
- return ranges.join(", ");
- return "-";
- }
- else if (type == "qoutputrangelist") {
- qoutputrangelist rangelist = val.value<qoutputrangelist>();
- QStringList ranges;
- foreach (const qoutputrange &r, rangelist) {
- ranges << QString("(%1, %2) += %3").arg(r.minimum).arg(r.maximum).arg(r.accuracy);
- }
- if (ranges.count() > 0)
- return ranges.join(", ");
- return "-";
- }
-
- return val.toString();
-}
-
-/*
- \property QSensorItem::properties
- Returns a list of all properties from the sensor
-*/
-QQmlListProperty<QPropertyInfo> QSensorItem::properties()
-{
- _properties.clear();
- _properties.append(_sensorProperties);
- _properties.append(_readerProperties);
- return QQmlListProperty<QPropertyInfo> (this, _properties);
-}
-
-QT_END_NAMESPACE
diff --git a/examples/sensors/sensor_explorer/import/sensoritem.h b/examples/sensors/sensor_explorer/import/sensoritem.h
deleted file mode 100644
index f67b6bda..00000000
--- a/examples/sensors/sensor_explorer/import/sensoritem.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORITEM_H
-#define QSENSORITEM_H
-
-#include <QtQml/QtQml>
-#include <QtCore/QString>
-#include "propertyinfo.h"
-
-QT_BEGIN_NAMESPACE
-
-class QSensor;
-class QSensorItem : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(bool start READ start WRITE setStart NOTIFY startChanged)
- Q_PROPERTY(QString id READ id CONSTANT)
- Q_PROPERTY(QQmlListProperty<QPropertyInfo> properties READ properties NOTIFY propertiesChanged)
-public:
- QSensorItem(QObject* parent = 0);
- QSensorItem(QSensor* sensor, QObject* parent = 0);
- virtual ~QSensorItem();
-
-public slots:
- void select();
- void unSelect();
- void changePropertyValue(QPropertyInfo* property, const QString& val);
-
-private slots:
- void sensorReadingChanged();
-
-private:
- QString id();
- bool start();
- void setStart(bool run);
- QQmlListProperty<QPropertyInfo> properties();
- QString convertValue(const QString& type, const QVariant& val);
- bool isWriteable(const QString& propertyname);
- bool ignoreProperty(const QString& propertyname);
- void updateSensorPropertyValues();
-
-Q_SIGNALS:
- void propertiesChanged();
- void startChanged();
-
-private:
- QSensor* _qsensor;
- QList<QPropertyInfo*> _properties;
- QList<QPropertyInfo*> _readerProperties;
- QList<QPropertyInfo*> _sensorProperties;
-};
-
-QT_END_NAMESPACE
-
-QML_DECLARE_TYPE(QSensorItem)
-
-#endif // QSENSORITEM_H
diff --git a/examples/sensors/sensor_explorer/main.cpp b/examples/sensors/sensor_explorer/main.cpp
deleted file mode 100644
index bb0a3b17..00000000
--- a/examples/sensors/sensor_explorer/main.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml>
-#include <QtQuick/QQuickWindow>
-
-#ifndef QT_NO_WIDGETS
-#include <QtWidgets/QApplication>
-#define Application QApplication
-#else
-#include <QtGui/QGuiApplication>
-#define Application QGuiApplication
-#endif
-
-int main(int argc, char *argv[])
-{
- Application app(argc, argv);
- QQmlApplicationEngine engine(QUrl("qrc:///sensor_explorer.qml"));
- QObject *topLevel = engine.rootObjects().value(0);
- QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
- if (!window) {
- qWarning("Error: Your root item has to be a Window.");
- return -1;
- }
- window->show();
- return app.exec();
-}
diff --git a/examples/sensors/sensor_explorer/qml.pro b/examples/sensors/sensor_explorer/qml.pro
deleted file mode 100644
index 1407d5b2..00000000
--- a/examples/sensors/sensor_explorer/qml.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = app
-TARGET = sensor_explorer
-QT += qml quick
-
-qtHaveModule(widgets) {
- QT += widgets
-}
-
-# Avoid going to release/debug subdirectory
-win32: DESTDIR = ./
-
-SOURCES = main.cpp
-
-OTHER_FILES = \
- sensor_explorer.qml
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/sensor_explorer
-INSTALLS += target
-
-RESOURCES += \
- qml.qrc
diff --git a/examples/sensors/sensor_explorer/sensor_explorer.pro b/examples/sensors/sensor_explorer/sensor_explorer.pro
deleted file mode 100644
index 85ba45ef..00000000
--- a/examples/sensors/sensor_explorer/sensor_explorer.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-TEMPLATE = subdirs
-CONFIG += ordered
-
-SUBDIRS = \
- import \
- qml.pro
diff --git a/examples/sensors/sensor_explorer/sensor_explorer.qml b/examples/sensors/sensor_explorer/sensor_explorer.qml
deleted file mode 100644
index 365842d9..00000000
--- a/examples/sensors/sensor_explorer/sensor_explorer.qml
+++ /dev/null
@@ -1,224 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.1
-import QtQuick.Window 2.1
-import QtQuick.Controls 1.0
-
-//! [0]
-import Explorer 1.0
-//! [0]
-
-Window {
- id: window
- width: 320
- height: 480
- minimumWidth: 320
- minimumHeight: 480
-
- //! [1]
- SensorExplorer {
- id: explorer
- }
- //! [1]
-
- Column {
- anchors.fill: parent
- anchors.margins: 8
- spacing: 8
-
- GroupBox {
- title: qsTr("Available Sensors")
- width: parent.width
- height: window.height * 0.4
-
- TableView {
- id: sensorList
- anchors.fill: parent
- //! [2]
- model: explorer.availableSensors
- //! [2]
-
- TableViewColumn { role: "id"; title: qsTr("ID"); width: sensorList.width * 0.7 }
- TableViewColumn { role: "start"; title: qsTr("Running"); width: sensorList.width * 0.3 - 5 }
-
- onClicked: {
- explorer.selectedSensorItem = explorer.availableSensors[row]
- //! [3]
- propertyList.model = explorer.selectedSensorItem.properties
- //! [3]
- button.update()
- }
- }
-
- Button {
- id: button
- anchors.margins: 4
- anchors.horizontalCenter: parent.horizontalCenter
- anchors.top: sensorList.bottom
- text: qsTr("Start")
- enabled: explorer.selectedSensorItem !== null
-
- function update() {
- text = (explorer.selectedSensorItem !== null ?
- (explorer.selectedSensorItem.start === true ?
- qsTr("Stop") : qsTr("Start")) : qsTr("Start"))
- }
-
- onClicked: {
- if (explorer.selectedSensorItem !== null) {
- //! [5]
- if (text === "Start") {
- explorer.selectedSensorItem.start = true;
- text = "Stop";
- }
- else {
- explorer.selectedSensorItem.start = false;
- text = "Start";
- }
- //! [5]
- }
- }
- }
-
- }
-
- GroupBox {
- title: qsTr("Properties")
- width: parent.width
- height: window.height * 0.55
-
- enabled: explorer.selectedSensorItem != null
-
- TableView {
- id: propertyList
- property PropertyInfo selectedItem: null
-
- anchors.fill: parent
- TableViewColumn { role: "name"; title: qsTr("Name"); width: propertyList.width * 0.5 }
- TableViewColumn { role: "value"; title: qsTr("Value"); width: propertyList.width * 0.5 - 5 }
-
- onClicked: {
- selectedItem = model[row]
- }
-
- itemDelegate: {
- if (selectedItem && selectedItem.isWriteable)
- return editableDelegate;
- return readOnlyDelegate;
- }
-
- Component {
- id: readOnlyDelegate
- Item {
- Text {
- width: parent.width
- anchors.margins: 4
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- elide: styleData.elideMode
- text: styleData.value
- color: propertyList.model[styleData.row].isWriteable ?
- styleData.textColor : Qt.lighter(styleData.textColor)
- }
- }
- }
-
- Component {
- id: editableDelegate
- Item {
- Text {
- width: parent.width
- anchors.margins: 4
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- elide: styleData.elideMode
- text: styleData.value
- color: styleData.textColor
- visible: !styleData.selected || styleData.column === 0
- }
- Loader { // Initialize text editor lazily to improve performance
- id: loaderEditor
- anchors.margins: 4
- anchors.left: parent.left
- anchors.verticalCenter: parent.verticalCenter
- Connections {
- target: loaderEditor.item
- onAccepted: {
- //! [4]
- explorer.selectedSensorItem.changePropertyValue(propertyList.selectedItem, loaderEditor.item.text);
- //! [4]
- }
- }
-
- // Load the editor for selected 'Value' cell
- sourceComponent: (styleData.selected && styleData.column === 1) ? editor : null
-
- Component {
- id: editor
- TextInput {
- id: textinput
- color: styleData.textColor
- text: styleData.value
- MouseArea {
- id: mouseArea
- anchors.fill: parent
- hoverEnabled: true
- onClicked: textinput.forceActiveFocus()
- }
- }
- }
- }
- }
- }
- }
- }
- }
-}
diff --git a/examples/sensors/sensorgestures/doc/images/sensorgesturecpp.png b/examples/sensors/sensorgestures/doc/images/sensorgesturecpp.png
deleted file mode 100644
index 4d453cf2..00000000
--- a/examples/sensors/sensorgestures/doc/images/sensorgesturecpp.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/sensorgestures/doc/src/sensorgestures.qdoc b/examples/sensors/sensorgestures/doc/src/sensorgestures.qdoc
deleted file mode 100644
index 8178cc5a..00000000
--- a/examples/sensors/sensorgestures/doc/src/sensorgestures.qdoc
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example sensorgestures
- \title Qt Sensors - C++ Sensor Gestures Example
- \ingroup qtsensors-examples
- \brief The sensor gesture example demonstrates the steps for creating a C++ application
- that uses sensor gestures and the included shake sensor.
- \image sensorgesturecpp.png
-
- QSensorGestures class defines one predefined signal, \c { void detected(const QString &) }
-
- As well, Sensor Gesture Recognizers may implement any number of their own custom signals.
-
- Our shake recognizer defines one custom signal, \c {void shake()}, as well as the predefined
- detected signal.
-
- \section1 SensorGestures Class Implementation
-
- In order to know about custom signals that may be available, we need to ask the QSensorGestureManager about them,
-
- Using the QSensorGesture::gestureIds() function, the manager will return a QStringList of known and valid gesture Ids.
- \snippet sensorgestures/mainwindow.cpp 0
-
- We can then use this to create a QSensorGesture object that we can use to connect signals to,
- and start the detection process. A QSensorGesture object will take a list of one or more
- recognizer ids in it's constructor.
-
- \snippet sensorgestures/mainwindow.cpp 1
-
- and later stop the detection process.
-
- \snippet sensorgestures/mainwindow.cpp 2
-
- The QSensorGesture object will contain all the signals of the valid requested recognizers found on the system.
-
- You can discover which of the requested recognizer ID's that were not found by using QSensorGesture::invalidIds();
-
- By using QSensorGesture::gestureSignals(), you can get a QStringList of usable signals.
-
-
-*/
diff --git a/examples/sensors/sensorgestures/main.cpp b/examples/sensors/sensorgestures/main.cpp
deleted file mode 100644
index 660c8416..00000000
--- a/examples/sensors/sensorgestures/main.cpp
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtWidgets/QApplication>
-#include "mainwindow.h"
-
-int main(int argc, char *argv[])
-{
- QApplication a(argc, argv);
- MainWindow w;
- w.show();
-
- return a.exec();
-}
diff --git a/examples/sensors/sensorgestures/mainwindow.cpp b/examples/sensors/sensorgestures/mainwindow.cpp
deleted file mode 100644
index 54d1399d..00000000
--- a/examples/sensors/sensorgestures/mainwindow.cpp
+++ /dev/null
@@ -1,178 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/QDebug>
-#include <QtWidgets/QTreeWidget>
-
-#include "mainwindow.h"
-#include "ui_mainwindow.h"
-
-#include <qsensorgesture.h>
-#include <qsensorgesturemanager.h>
-
-MainWindow::MainWindow(QWidget *parent)
- : QMainWindow(parent),
- ui(new Ui::MainWindow)
-{
- ui->setupUi(this);
- //! [0]
-
- QSensorGestureManager manager;
-
- Q_FOREACH (const QString &gesture, manager.gestureIds()) {
-
- QTreeWidgetItem *gestureId = new QTreeWidgetItem(ui->treeWidget);
- QStringList recognizerSignals = manager.recognizerSignals(gesture);
- gestureId->setText(0,gesture);
-
- for (int i = 0; i < recognizerSignals.count(); i++) {
- QTreeWidgetItem *oneSignal = new QTreeWidgetItem(gestureId);
- oneSignal->setText(0,recognizerSignals.at(i));
- }
- ui->treeWidget->insertTopLevelItem(0,gestureId);
- }
- //! [0]
-
-
- ui->textEdit->setReadOnly(true);
-}
-
-MainWindow::~MainWindow()
-{
- delete ui;
-}
-
-void MainWindow::detectedShake(const QString &name)
-{
- QString str = "<font size=+2><B>"+name+"</b></font><br>";
- ui->textEdit->insertHtml(str);
- ui->textEdit->ensureCursorVisible();
-}
-
-void MainWindow::on_pushButton_clicked()
-{
- ui->textEdit->clear();
-}
-
-void MainWindow::onShake()
-{
- QString str = "<font size=+2><B>onShake()</b></font><br>";
- ui->textEdit->insertHtml(str);
- ui->textEdit->ensureCursorVisible();
-}
-
-void MainWindow::on_startPushButton_clicked()
-{
- if (ui->treeWidget->currentItem() == 0)
- return;
- QString currentRecognizer;
-
- if (ui->treeWidget->currentItem()->childCount() == 0) {
- currentRecognizer = ui->treeWidget->currentItem()->parent()->text(0);
- } else {
- currentRecognizer = ui->treeWidget->currentItem()->text(0);
- }
-
- if (recognizerMap.contains(currentRecognizer))
- return;
- //! [1]
- QSensorGestureManager manager;
- QSensorGesture *thisGesture = new QSensorGesture(QStringList() << currentRecognizer, this);
-
- if (currentRecognizer.contains("QtSensors.shake")) {
- connect(thisGesture,SIGNAL(shake()),
- this,SLOT(onShake()));
- }
-
- connect(thisGesture,SIGNAL(detected(QString)),
- this,SLOT(detectedShake(QString)));
- thisGesture->startDetection();
-
- //! [1]
-
- recognizerMap.insert(currentRecognizer,thisGesture);
-
- QString str = QString("<font size=+2><B>Started %1</b></font><br>").arg(currentRecognizer);
- ui->textEdit->insertHtml(str);
- ui->textEdit->ensureCursorVisible();
-}
-
-void MainWindow::on_stopPushButton_clicked()
-{
- if (ui->treeWidget->currentItem() == 0)
- return;
- QString currentRecognizer;
-
- if (ui->treeWidget->currentItem()->childCount() == 0) {
- currentRecognizer = ui->treeWidget->currentItem()->parent()->text(0);
- } else {
- currentRecognizer = ui->treeWidget->currentItem()->text(0);
- }
-
- if (!recognizerMap.contains(currentRecognizer))
- return;
- //! [2]
-
- recognizerMap[currentRecognizer]->stopDetection();
-
- if (currentRecognizer == "QtSensors.shake") {
- disconnect(recognizerMap[currentRecognizer],SIGNAL(shake()),
- this,SLOT(onShake()));
- }
- disconnect(recognizerMap[currentRecognizer],SIGNAL(detected(QString)),
- this,SLOT(detectedShake(QString)));
- //! [2]
-
- recognizerMap.take(currentRecognizer);
-
- QString str = QString("<font size=+2><B>Stopped %1</b></font><br>").arg(currentRecognizer);
- ui->textEdit->insertHtml(str);
- ui->textEdit->ensureCursorVisible();
-}
diff --git a/examples/sensors/sensorgestures/mainwindow.h b/examples/sensors/sensorgestures/mainwindow.h
deleted file mode 100644
index cc74e52a..00000000
--- a/examples/sensors/sensorgestures/mainwindow.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MAINWINDOW_H
-#define MAINWINDOW_H
-
-#include <QtWidgets/QMainWindow>
-#include <qsensorgesture.h>
-QT_BEGIN_NAMESPACE
-namespace Ui {
- class MainWindow;
-}
-
-class MainWindow : public QMainWindow
-{
- Q_OBJECT
-
-public:
- explicit MainWindow(QWidget *parent = 0);
- ~MainWindow();
-
-private:
- Ui::MainWindow *ui;
- QMap <QString, QSensorGesture *> recognizerMap;
-
-private slots:
- void detectedShake(const QString&);
- void onShake();
-
- void on_pushButton_clicked();
-
- void on_startPushButton_clicked();
- void on_stopPushButton_clicked();
-};
-
-
-QT_END_NAMESPACE
-
-#endif // MAINWINDOW_H
diff --git a/examples/sensors/sensorgestures/mainwindow.ui b/examples/sensors/sensorgestures/mainwindow.ui
deleted file mode 100644
index baccf98c..00000000
--- a/examples/sensors/sensorgestures/mainwindow.ui
+++ /dev/null
@@ -1,84 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<ui version="4.0">
- <class>MainWindow</class>
- <widget class="QMainWindow" name="MainWindow">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>423</width>
- <height>474</height>
- </rect>
- </property>
- <property name="windowTitle">
- <string>MainWindow</string>
- </property>
- <widget class="QWidget" name="centralWidget">
- <layout class="QGridLayout" name="gridLayout">
- <item row="0" column="0" colspan="2">
- <widget class="QTreeWidget" name="treeWidget">
- <column>
- <property name="text">
- <string>Gesture Recognizer Id</string>
- </property>
- </column>
- </widget>
- </item>
- <item row="1" column="0">
- <widget class="QPushButton" name="startPushButton">
- <property name="text">
- <string>Start</string>
- </property>
- </widget>
- </item>
- <item row="1" column="1">
- <widget class="QPushButton" name="stopPushButton">
- <property name="text">
- <string>Stop</string>
- </property>
- </widget>
- </item>
- <item row="2" column="0" colspan="2">
- <widget class="QTextEdit" name="textEdit">
- <property name="html">
- <string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
-&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
-p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Lucida Grande'; font-size:13pt; font-weight:400; font-style:normal;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Sans Serif'; font-size:9pt;&quot;&gt;&lt;/p&gt;&lt;/body&gt;&lt;/html&gt;</string>
- </property>
- </widget>
- </item>
- <item row="3" column="0">
- <widget class="QPushButton" name="pushButton">
- <property name="text">
- <string>Clear</string>
- </property>
- </widget>
- </item>
- </layout>
- </widget>
- <widget class="QMenuBar" name="menuBar">
- <property name="geometry">
- <rect>
- <x>0</x>
- <y>0</y>
- <width>423</width>
- <height>22</height>
- </rect>
- </property>
- </widget>
- <widget class="QToolBar" name="mainToolBar">
- <attribute name="toolBarArea">
- <enum>TopToolBarArea</enum>
- </attribute>
- <attribute name="toolBarBreak">
- <bool>false</bool>
- </attribute>
- </widget>
- <widget class="QStatusBar" name="statusBar"/>
- </widget>
- <layoutdefault spacing="6" margin="11"/>
- <resources/>
- <connections/>
-</ui>
diff --git a/examples/sensors/sensorgestures/sensorgestures.pro b/examples/sensors/sensorgestures/sensorgestures.pro
deleted file mode 100644
index e692a53c..00000000
--- a/examples/sensors/sensorgestures/sensorgestures.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TEMPLATE = app
-TARGET = gesture
-QT += sensors widgets
-requires(qtConfig(treewidget))
-
-SOURCES += main.cpp\
- mainwindow.cpp
-
-HEADERS += mainwindow.h
-
-FORMS += mainwindow.ui
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/sensorgestures
-INSTALLS += target
diff --git a/examples/sensors/sensors.pro b/examples/sensors/sensors.pro
index be51a62c..d304cbd9 100644
--- a/examples/sensors/sensors.pro
+++ b/examples/sensors/sensors.pro
@@ -1,21 +1,5 @@
TEMPLATE = subdirs
-SUBDIRS += grue
-
-qtHaveModule(quick) {
- SUBDIRS += \
- maze \
- qmlsensorgestures \
- qmlqtsensors \
- sensor_explorer \
- shakeit
-
- qtHaveModule(svg): SUBDIRS += \
- accelbubble
+qtHaveModule(quick): qtHaveModule(svg): {
+ SUBDIRS += sensorsshowcase
}
-
-qtHaveModule(widgets): SUBDIRS += \
- sensorgestures
-
-EXAMPLE_FILES += \
- stub.h
diff --git a/examples/sensors/sensorsshowcase/Accelerometer.qml b/examples/sensors/sensorsshowcase/Accelerometer.qml
new file mode 100644
index 00000000..a22e1404
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Accelerometer.qml
@@ -0,0 +1,70 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Layouts
+import QtSensors
+
+Item {
+ id: root
+
+ required property int fontSize
+ required property int imageSize
+
+ //! [0]
+ Accelerometer {
+ id: accelerometer
+
+ property real x: 0
+ property real y: 0
+ property real z: 0
+
+ active: true
+ dataRate: 25
+
+ onReadingChanged: {
+ x = (reading as AccelerometerReading).x
+ y = (reading as AccelerometerReading).y
+ z = (reading as AccelerometerReading).z
+ imageTranslation.x = -x * 10
+ imageTranslation.y = y * 10
+ }
+ }
+ //! [0]
+ ColumnLayout {
+ id: layout
+
+ anchors.fill: parent
+ spacing: 10
+
+ Image {
+ id: image
+
+ Layout.alignment: Qt.AlignCenter
+ Layout.preferredHeight: root.imageSize
+ Layout.preferredWidth: root.imageSize
+ fillMode: Image.PreserveAspectFit
+ source: "images/qt_logo.png"
+
+ transform: [
+ Translate {
+ id: imageTranslation
+
+ x: 0
+ y: 0
+ }
+ ]
+ }
+
+ ProgressXYZBar {
+ Layout.fillWidth: true
+ fontSize: root.fontSize
+ xText: "X: " + accelerometer.x.toFixed(2)
+ xValue: 0.5 + (accelerometer.x / 100)
+ yText: "Y: " + accelerometer.y.toFixed(2)
+ yValue: 0.5 + (accelerometer.y / 100)
+ zText: "Z: " + accelerometer.z.toFixed(2)
+ zValue: 0.5 + (accelerometer.z / 100)
+ }
+ }
+}
diff --git a/examples/sensors/sensorsshowcase/CMakeLists.txt b/examples/sensors/sensorsshowcase/CMakeLists.txt
new file mode 100644
index 00000000..b949213a
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/CMakeLists.txt
@@ -0,0 +1,72 @@
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(sensorsshowcase LANGUAGES CXX)
+
+if(NOT DEFINED INSTALL_EXAMPLESDIR)
+ set(INSTALL_EXAMPLESDIR "examples")
+endif()
+
+set(INSTALL_EXAMPLEDIR "${INSTALL_EXAMPLESDIR}/sensors/sensorsshowcase")
+find_package(Qt6 REQUIRED COMPONENTS Core Gui Quick Svg Sensors)
+qt_standard_project_setup(REQUIRES 6.5)
+
+qt_add_executable(sensorsshowcase
+ main.cpp
+)
+
+set_target_properties(sensorsshowcase PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+
+if(ANDROID)
+ set_property(TARGET sensorsshowcase PROPERTY QT_ANDROID_PACKAGE_SOURCE_DIR
+ ${CMAKE_CURRENT_SOURCE_DIR}/android)
+endif()
+
+if(APPLE AND IOS)
+ set_property(TARGET sensorsshowcase PROPERTY
+ MACOSX_BUNDLE_INFO_PLIST "${CMAKE_CURRENT_SOURCE_DIR}/Info.plist"
+ )
+else()
+ # default search path for the config file is "qrc:/"
+ qt_add_resources(sensorsshowcase "resources"
+ FILES qtquickcontrols2.conf)
+endif()
+
+qt_add_qml_module(sensorsshowcase
+ URI SensorShowcaseModule
+ VERSION 1.0
+ QML_FILES
+ "Main.qml"
+ "Accelerometer.qml"
+ "Compass.qml"
+ "Gyroscope.qml"
+ "Magnetometer.qml"
+ "Proximity.qml"
+ "ProgressXYZBar.qml"
+ RESOURCES
+ "images/compass.svg"
+ "images/magnet.svg"
+ "images/qt_logo.png"
+ SOURCES
+ sensorsupport.h
+)
+
+target_link_libraries(sensorsshowcase
+ PRIVATE
+ Qt::Core
+ Qt::Gui
+ Qt::Quick
+ Qt::Svg
+ Qt::Sensors
+)
+
+
+install(TARGETS sensorsshowcase
+ RUNTIME DESTINATION "${INSTALL_EXAMPLEDIR}"
+ BUNDLE DESTINATION "${INSTALL_EXAMPLEDIR}"
+ LIBRARY DESTINATION "${INSTALL_EXAMPLEDIR}"
+)
diff --git a/examples/sensors/sensorsshowcase/Compass.qml b/examples/sensors/sensorsshowcase/Compass.qml
new file mode 100644
index 00000000..b4bc5ff1
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Compass.qml
@@ -0,0 +1,61 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Layouts
+import QtSensors
+
+Item {
+ id: root
+
+ required property int fontSize
+ required property int imageSize
+ property alias isActive: compass.active
+
+ property real azimuth: 30
+
+ Compass {
+ id: compass
+ active: true
+ dataRate: 7
+ onReadingChanged: root.azimuth = -(reading as CompassReading).azimuth
+ }
+
+ ColumnLayout {
+ id: layout
+
+ anchors.fill: parent
+ spacing: 10
+
+ Image {
+ id: arrow
+
+ Layout.alignment: Qt.AlignHCenter
+ Layout.preferredWidth: root.imageSize * 1.25
+ Layout.fillHeight: true
+
+ source: "images/compass.svg"
+ fillMode: Image.PreserveAspectFit
+ rotation: root.azimuth
+ }
+
+ Rectangle {
+ id: separator
+
+ Layout.topMargin: 10
+ Layout.preferredWidth: parent.width * 0.75
+ Layout.preferredHeight: 1
+ Layout.alignment: Qt.AlignHCenter
+ color: "black"
+ }
+
+ Text {
+ id: info
+ Layout.fillWidth: true
+ Layout.fillHeight: true
+ Layout.topMargin: 10
+ text: "Azimuth: " + root.azimuth.toFixed(2) + "°"
+ font.pixelSize: root.fontSize
+ }
+ }
+}
diff --git a/examples/sensors/sensorsshowcase/Gyroscope.qml b/examples/sensors/sensorsshowcase/Gyroscope.qml
new file mode 100644
index 00000000..9f0ffd2f
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Gyroscope.qml
@@ -0,0 +1,128 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+import QtSensors
+
+Item {
+ id: root
+
+ required property int fontSize
+ required property int imageSize
+
+ function resetRotations() : void
+ {
+ imageXRotation.angle = 0
+ imageYRotation.angle = 0
+ imageZRotation.angle = 0
+ }
+
+ //! [0]
+ Gyroscope {
+ id: gyroscope
+
+ property var lastTimeStamp: 0
+ property real x: 0
+ property real y: 0
+ property real z: 0
+
+ active: true
+ dataRate: 25
+
+ onReadingChanged: {
+ x = (reading as GyroscopeReading).x
+ y = (reading as GyroscopeReading).y
+ z = (reading as GyroscopeReading).z
+ let firstCall = false
+ if (lastTimeStamp == 0) {
+ firstCall = true
+ }
+ let timeSinceLast = reading.timestamp - lastTimeStamp
+ lastTimeStamp = reading.timestamp
+
+ //Skipping the initial time jump from 0
+ if (firstCall === true)
+ return
+ let normalizedX = x * (timeSinceLast / 1000000)
+ imageXRotation.angle += normalizedX
+ let normalizedY = y * (timeSinceLast / 1000000)
+ imageYRotation.angle -= normalizedY
+ let normalizedZ = z * (timeSinceLast / 1000000)
+ imageZRotation.angle += normalizedZ
+ }
+ }
+ //! [0]
+ ColumnLayout {
+ id: layout
+
+ anchors.fill: parent
+ spacing: 10
+
+ Image {
+ id: image
+
+ Layout.alignment: Qt.AlignHCenter
+ Layout.fillHeight: true
+ Layout.preferredWidth: root.imageSize
+ fillMode: Image.PreserveAspectFit
+ source: "images/qt_logo.png"
+
+ transform: [
+ Rotation {
+ id: imageXRotation
+
+ angle: 0
+ axis.x: 1
+ axis.y: 0
+ axis.z: 0
+ origin.x: layout.width / 2
+ origin.y: layout.height / 3
+ },
+ Rotation {
+ id: imageYRotation
+
+ angle: 0
+ axis.x: 0
+ axis.y: 1
+ axis.z: 0
+ origin.x: layout.width / 2
+ origin.y: layout.height / 3
+ },
+ Rotation {
+ id: imageZRotation
+
+ angle: 0
+ axis.x: 0
+ axis.y: 0
+ axis.z: 1
+ origin.x: layout.width / 2
+ origin.y: layout.height / 3
+ }
+ ]
+ }
+
+ ProgressXYZBar {
+ Layout.fillWidth: true
+ Layout.topMargin: 20
+ fontSize: root.fontSize
+ xText: "X: " + gyroscope.x.toFixed(2)
+ xValue: 0.5 + (gyroscope.x / 1000)
+ yText: "Y: " + gyroscope.y.toFixed(2)
+ yValue: 0.5 + (gyroscope.y / 1000)
+ zText: "Z: " + gyroscope.z.toFixed(2)
+ zValue: 0.5 + (gyroscope.z / 1000)
+ }
+
+ Button {
+ Layout.alignment: Qt.AlignHCenter
+ Layout.topMargin: 20
+ Layout.bottomMargin: 10
+ Layout.preferredWidth: parent.width / 2
+ Layout.preferredHeight: 60
+ onClicked: root.resetRotations()
+ text: "Reset rotation"
+ }
+ }
+}
diff --git a/examples/sensors/accelbubble/Info.plist b/examples/sensors/sensorsshowcase/Info.plist
index 90725455..61d01e5a 100644
--- a/examples/sensors/accelbubble/Info.plist
+++ b/examples/sensors/sensorsshowcase/Info.plist
@@ -3,15 +3,15 @@
<plist version="1.0">
<dict>
<key>CFBundleDisplayName</key>
- <string>accelbubble</string>
+ <string>sensorsshowcase</string>
<key>CFBundleExecutable</key>
- <string>accelbubble</string>
+ <string>sensorsshowcase</string>
<key>CFBundleGetInfoString</key>
<string>Created by Qt/QMake</string>
<key>CFBundleIdentifier</key>
- <string>com.digia.accelbubble</string>
+ <string>com.qt.sensorsshowcase</string>
<key>CFBundleName</key>
- <string>accelbubble</string>
+ <string>sensorsshowcase</string>
<key>CFBundlePackageType</key>
<string>APPL</string>
<key>CFBundleShortVersionString</key>
@@ -22,8 +22,6 @@
<string>1.0</string>
<key>LSRequiresIPhoneOS</key>
<true/>
- <key>NOTE</key>
- <string>This file was generated by Qt/QMake.</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UISupportedInterfaceOrientations</key>
diff --git a/examples/sensors/sensorsshowcase/Magnetometer.qml b/examples/sensors/sensorsshowcase/Magnetometer.qml
new file mode 100644
index 00000000..551f8627
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Magnetometer.qml
@@ -0,0 +1,68 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Layouts
+import QtSensors
+
+Item {
+ id: root
+
+ required property int fontSize
+ required property int imageSize
+
+ property real magnetRotation: 40
+ property real magnetometerX: 0
+ property real magnetometerY: 0
+ property real magnetometerZ: 0
+ property int barScaleFactor: 10000
+
+ //! [0]
+ Magnetometer {
+ id: magnetometer
+ active: true
+ dataRate: 25
+ onReadingChanged: {
+ root.magnetometerX = (reading as MagnetometerReading).x
+ root.magnetometerY = (reading as MagnetometerReading).y
+ root.magnetometerZ = (reading as MagnetometerReading).z
+ root.magnetRotation =
+ ((Math.atan2(root.magnetometerX, root.magnetometerY) / Math.PI) * 180)
+ }
+ }
+ //! [0]
+
+ ColumnLayout {
+ id: layout
+
+ anchors.fill: parent
+ spacing: 10
+
+ Image {
+ id: image
+
+ Layout.alignment: Qt.AlignHCenter
+ Layout.bottomMargin: 20
+ Layout.preferredWidth: root.imageSize * 0.9
+ Layout.preferredHeight: root.imageSize * 0.9
+
+ source: "images/magnet.svg"
+ fillMode: Image.PreserveAspectFit
+ rotation: root.magnetRotation
+ }
+
+ ProgressXYZBar {
+ Layout.fillWidth: true
+ fontSize: root.fontSize
+
+ xText: "X: " + root.magnetometerX.toFixed(9)
+ xValue: 0.5 + (root.magnetometerX * root.barScaleFactor)
+
+ yText: "Y: " + root.magnetometerY.toFixed(9)
+ yValue: 0.5 + (root.magnetometerY * root.barScaleFactor)
+
+ zText: "Z: " + root.magnetometerZ.toFixed(9)
+ zValue: 0.5 + (root.magnetometerZ * root.barScaleFactor)
+ }
+ }
+}
diff --git a/examples/sensors/sensorsshowcase/Main.qml b/examples/sensors/sensorsshowcase/Main.qml
new file mode 100644
index 00000000..4587ba21
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Main.qml
@@ -0,0 +1,116 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+ApplicationWindow {
+ id: root
+
+ readonly property int defaultFontSize: 22
+ readonly property int imageSize: width / 2
+
+ width: 420
+ height: 760
+ visible: true
+ title: "Sensors Showcase"
+
+ header : ToolBar {
+ RowLayout {
+ anchors.fill: parent
+ anchors.leftMargin: 10
+ anchors.rightMargin: 10
+ ToolButton {
+ id: back
+ text: qsTr("Back")
+ font.pixelSize: root.defaultFontSize - 4
+ visible: stack.depth > 1
+ onClicked: {
+ stack.pop();
+ heading.text = root.title;
+ }
+ Layout.alignment: Qt.AlignLeft
+ }
+ Label {
+ id: heading
+ text: root.title
+ font.pixelSize: root.defaultFontSize
+ font.weight: Font.Medium
+ verticalAlignment: Qt.AlignVCenter
+ Layout.alignment: Qt.AlignCenter
+ Layout.preferredHeight: 55
+ }
+ Item {
+ visible: back.visible
+ Layout.preferredWidth: back.width
+ }
+ }
+ }
+
+ StackView {
+ id: stack
+
+ // Pushes the object and forwards the properties
+ function pusher(object : string) : void {
+ // Trim the suffix and set it as new heading
+ heading.text = object.split(".")[0]
+ return stack.push(object, {
+ fontSize: root.defaultFontSize,
+ imageSize: root.imageSize
+ })
+ }
+
+ anchors.fill: parent
+ anchors.margins: width / 12
+
+ initialItem: Item {
+ ColumnLayout {
+ id: initialItem
+
+ anchors.fill: parent
+ anchors.topMargin: 20
+ anchors.bottomMargin: 20
+ spacing: 5
+
+ component CustomButton: Button {
+ highlighted: true
+ font.pixelSize: root.defaultFontSize
+ font.letterSpacing: 1.5
+
+ Layout.alignment: Qt.AlignCenter
+ Layout.fillHeight: true
+ Layout.fillWidth: true
+ }
+
+ CustomButton {
+ text: "Accelerometer"
+ onClicked: stack.pusher("Accelerometer.qml")
+ enabled: SensorSupport.hasAccelerometer()
+ }
+ CustomButton {
+ text: "Proximity"
+ onClicked: stack.pusher("Proximity.qml")
+ enabled: SensorSupport.hasProximity()
+ }
+ CustomButton {
+ text: "Compass"
+ onClicked: stack.pusher("Compass.qml")
+ enabled: SensorSupport.hasCompass()
+ }
+ CustomButton {
+ text: "Magnetometer"
+ onClicked: stack.pusher("Magnetometer.qml")
+ enabled: SensorSupport.hasMagnetometer()
+ }
+ CustomButton {
+ text: "Gyroscope"
+ onClicked: stack.pusher("Gyroscope.qml")
+ enabled: SensorSupport.hasGyroscope()
+ }
+ }
+ }
+ }
+
+}
diff --git a/examples/sensors/sensorsshowcase/ProgressXYZBar.qml b/examples/sensors/sensorsshowcase/ProgressXYZBar.qml
new file mode 100644
index 00000000..be7bf7ae
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/ProgressXYZBar.qml
@@ -0,0 +1,45 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Controls
+import QtQuick.Layouts
+
+ColumnLayout {
+ id: root
+ spacing: 0
+
+ required property int fontSize
+ property alias xText: xBar.text
+ property alias xValue: xBar.value
+ property alias yText: yBar.text
+ property alias yValue: yBar.value
+ property alias zText: zBar.text
+ property alias zValue: zBar.value
+
+ component NamedProgressBar: ColumnLayout {
+ property alias text: axes.text
+ property alias value: bar.value
+ Text {
+ id: axes
+ font.pixelSize: root.fontSize
+ Layout.fillWidth: true
+ }
+ ProgressBar {
+ id: bar
+ Layout.fillWidth: true
+ }
+ }
+
+ NamedProgressBar {
+ id: xBar
+ }
+
+ NamedProgressBar {
+ id: yBar
+ }
+
+ NamedProgressBar {
+ id: zBar
+ }
+}
diff --git a/examples/sensors/sensorsshowcase/Proximity.qml b/examples/sensors/sensorsshowcase/Proximity.qml
new file mode 100644
index 00000000..41121983
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/Proximity.qml
@@ -0,0 +1,55 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+pragma ComponentBehavior: Bound
+import QtQuick
+import QtQuick.Layouts
+import QtSensors
+
+Item {
+ id: root
+
+ required property int imageSize
+ required property int fontSize
+
+ property bool near: false
+
+ ProximitySensor {
+ id: proximity
+ onReadingChanged: root.near = (reading as ProximityReading).near
+ active: true
+ }
+
+ ColumnLayout {
+ id: layout
+
+ anchors.fill: parent
+ spacing: 10
+
+ Image {
+ id: image
+
+ Layout.alignment: Qt.AlignHCenter
+ Layout.preferredWidth: root.near ? root.imageSize : root.imageSize * 0.75
+ Layout.fillHeight: true
+
+ source: "images/qt_logo.png"
+ fillMode: Image.PreserveAspectFit
+ }
+
+ Rectangle {
+ id: separator
+ Layout.topMargin: 10
+ Layout.bottomMargin: 10
+ Layout.preferredWidth: parent.width * 0.75
+ Layout.preferredHeight: 1
+ Layout.alignment: Qt.AlignHCenter
+ color: "black"
+ }
+
+ Text {
+ Layout.fillHeight: true
+ font.pixelSize: root.fontSize
+ text: "Near: " + root.near
+ }
+ }
+}
diff --git a/examples/sensors/sensorsshowcase/android/AndroidManifest.xml b/examples/sensors/sensorsshowcase/android/AndroidManifest.xml
new file mode 100644
index 00000000..359c0114
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/AndroidManifest.xml
@@ -0,0 +1,57 @@
+<?xml version="1.0"?>
+<manifest xmlns:android="http://schemas.android.com/apk/res/android"
+ package="org.qtproject.example.sensorsshowcase"
+ android:installLocation="auto"
+ android:versionCode="1"
+ android:versionName="1.0">
+ <!-- The comment below will be replaced with dependencies permissions upon deployment.
+ Remove the comment if you do not require these default permissions. -->
+ <!-- %%INSERT_PERMISSIONS -->
+
+ <!-- The comment below will be replaced with dependencies permissions upon deployment.
+ Remove the comment if you do not require these default features. -->
+ <!-- %%INSERT_FEATURES -->
+ <supports-screens
+ android:anyDensity="true"
+ android:largeScreens="true"
+ android:normalScreens="true"
+ android:smallScreens="true" />
+ <application
+ android:name="org.qtproject.qt.android.bindings.QtApplication"
+ android:extractNativeLibs="true"
+ android:hardwareAccelerated="true"
+ android:label="-- %%INSERT_APP_NAME%% --"
+ android:requestLegacyExternalStorage="true"
+ android:allowNativeHeapPointerTagging="false"
+ android:allowBackup="true"
+ android:fullBackupOnly="false"
+ android:icon="@drawable/icon">
+ <activity
+ android:name="org.qtproject.qt.android.bindings.QtActivity"
+ android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
+ android:label="-- %%INSERT_APP_NAME%% --"
+ android:launchMode="singleTop"
+ android:screenOrientation="portrait"
+ android:exported="true">
+ <intent-filter>
+ <action android:name="android.intent.action.MAIN" />
+ <category android:name="android.intent.category.LAUNCHER" />
+ </intent-filter>
+
+ <meta-data
+ android:name="android.app.lib_name"
+ android:value="-- %%INSERT_APP_LIB_NAME%% --" />
+
+ <meta-data android:name="android.app.arguments"
+ android:value="" />
+
+ <meta-data
+ android:name="android.app.extract_android_style"
+ android:value="minimal" />
+
+ <meta-data
+ android:name="android.app.background_running"
+ android:value="false" />
+ </activity>
+ </application>
+</manifest>
diff --git a/examples/sensors/sensorsshowcase/android/res/drawable-hdpi/icon.png b/examples/sensors/sensorsshowcase/android/res/drawable-hdpi/icon.png
new file mode 100644
index 00000000..5f61088b
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/res/drawable-hdpi/icon.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/android/res/drawable-ldpi/icon.png b/examples/sensors/sensorsshowcase/android/res/drawable-ldpi/icon.png
new file mode 100644
index 00000000..605497de
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/res/drawable-ldpi/icon.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/android/res/drawable-mdpi/icon.png b/examples/sensors/sensorsshowcase/android/res/drawable-mdpi/icon.png
new file mode 100644
index 00000000..3eb10832
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/res/drawable-mdpi/icon.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/android/res/drawable-xhdpi/icon.png b/examples/sensors/sensorsshowcase/android/res/drawable-xhdpi/icon.png
new file mode 100644
index 00000000..a9e39f88
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/res/drawable-xhdpi/icon.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/android/res/drawable-xxhdpi/icon.png b/examples/sensors/sensorsshowcase/android/res/drawable-xxhdpi/icon.png
new file mode 100644
index 00000000..b489d81e
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/res/drawable-xxhdpi/icon.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/android/res/drawable-xxxhdpi/icon.png b/examples/sensors/sensorsshowcase/android/res/drawable-xxxhdpi/icon.png
new file mode 100644
index 00000000..9443da63
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/android/res/drawable-xxxhdpi/icon.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-gyroscope.webp b/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-gyroscope.webp
new file mode 100644
index 00000000..0ff45403
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-gyroscope.webp
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-mainview.webp b/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-mainview.webp
new file mode 100644
index 00000000..b045b7ba
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/doc/images/sensorsshowcase-mainview.webp
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc b/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc
new file mode 100644
index 00000000..d3d31c34
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/doc/src/sensorsshowcase.qdoc
@@ -0,0 +1,78 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \example sensorsshowcase
+ \title Sensors Showcase
+ \brief The Sensors Showcase example demonstrates sensor usage with visual examples.
+ \meta tag {sensors,quick,mobile}
+ \ingroup qtsensors-examples
+ \examplecategory {Mobile}
+
+ \image sensorsshowcase-mainview.webp
+
+ \section1 Overview
+
+ On startup, the application shows a menu with buttons for the subviews for each sensor.
+ The sensor views instantiate the given sensor, display the sensor's values as numbers,
+ and also visualize them with a simple graphical representation.
+
+ \section1 Main Menu
+
+ The main view shows the title with the name of the application and a button
+ for each subview laid out evenly by a \c ColumnLayout. A \c StackView
+ manages the navigation between the subviews and the main menu. The
+ application checks the availability of the sensors during startup and
+ disables the buttons for the sensors that are not available.
+
+ \note To simplify the example, the sensor availability is checked only once
+ during the startup.
+
+ \section1 Accelerometer View
+
+ The accelerometer view shows the current device acceleration values and moves around
+ an image with an amount that is opposite of the device acceleration giving the image
+ an inertia effect that is proportional with the movement of the device.
+
+ Moving around the image happens in the accelerometer \c onReadingChanged method.
+
+ \snippet sensorsshowcase/Accelerometer.qml 0
+
+ Whenever there is a new accelerometer value the image translation coordinates are
+ updated accordingly.
+
+ \section1 Proximity View
+
+ The proximity view shows an image that is enlarged whenever the proximity sensor of
+ the device is covered.
+
+ \section1 Compass View
+
+ The compass view shows a compass image that is rotated according to the Compass sensor
+ reading value making the compass turn towards north.
+
+ \section1 Magnetometer View
+
+ The magnetometer view displays a magnet image that is rotated around an amount that is
+ decided by the rotation angle of the vector given by the x and y magnetometer values.
+ This results in general in the same rotation as the compass gives, demonstrating one use
+ case of how the magnetometer readings can be used. Since the magnetometer provides
+ readings along all three axes, there is more freedom with how these readings can be used.
+
+ \snippet sensorsshowcase/Magnetometer.qml 0
+
+ \section1 Gyroscope View
+
+ \image sensorsshowcase-gyroscope.webp
+
+ The gyroscope view also shows an image that is rotated around three axes with an amount
+ that is calculated from the gyroscope readings. Since the gyroscope provides relative
+ rotational change around the three spatial axes and the time between reading updates
+ can vary, the time of the readings are stored and the rotational change is normalized
+ based on the time passed between reading updates.
+
+ \snippet sensorsshowcase/Gyroscope.qml 0
+
+ By pressing the reset button the image rotation is reset to 0.
+*/
+
diff --git a/examples/sensors/sensorsshowcase/images/compass.svg b/examples/sensors/sensorsshowcase/images/compass.svg
new file mode 100644
index 00000000..009e6ffd
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/images/compass.svg
@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="123.29776mm"
+ height="123.29776mm"
+ viewBox="0 0 123.29776 123.29776"
+ version="1.1"
+ id="svg5"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ sodipodi:docname="compass.svg"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <sodipodi:namedview
+ id="namedview7"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:document-units="mm"
+ showgrid="false"
+ showborder="true"
+ inkscape:zoom="1.5554293"
+ inkscape:cx="118.61677"
+ inkscape:cy="123.76005"
+ inkscape:window-width="2560"
+ inkscape:window-height="1377"
+ inkscape:window-x="1912"
+ inkscape:window-y="72"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1"
+ lock-margins="true"
+ fit-margin-top="15"
+ fit-margin-left="15"
+ fit-margin-right="15"
+ fit-margin-bottom="15" />
+ <defs
+ id="defs2" />
+ <g
+ inkscape:groupmode="layer"
+ id="layer2"
+ inkscape:label="Layer 2"
+ style="display:inline"
+ transform="translate(7.215891,-13.196477)">
+ <path
+ sodipodi:type="star"
+ style="fill:#000000;fill-opacity:1;stroke:none;stroke-width:1.88976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path2691"
+ inkscape:flatsided="false"
+ sodipodi:sides="4"
+ sodipodi:cx="131.1535"
+ sodipodi:cy="547.11584"
+ sodipodi:r1="75.011292"
+ sodipodi:r2="15.353019"
+ sodipodi:arg1="0.77933767"
+ sodipodi:arg2="1.5647358"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="m 184.51497,599.83441 -53.26842,-37.36583 -52.811613,38.00874 37.365833,-53.26843 -38.008738,-52.81161 53.268428,37.36583 52.81161,-38.00874 -37.36583,53.26843 z"
+ transform="matrix(0.45357635,0,0,0.48302392,-5.0551384,-189.42468)" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.5;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path25062"
+ cx="54.432987"
+ cy="74.84536"
+ r="30" />
+ <circle
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.579683;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="circle25206"
+ cx="54.432987"
+ cy="74.84536"
+ r="34.780952" />
+ </g>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ style="display:inline"
+ transform="translate(7.215891,-13.196477)">
+ <path
+ sodipodi:type="star"
+ style="fill:none;stroke:#000000;stroke-width:1.88976;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path846"
+ inkscape:flatsided="false"
+ sodipodi:sides="4"
+ sodipodi:cx="205.73099"
+ sodipodi:cy="282.8801"
+ sodipodi:r1="176.15717"
+ sodipodi:r2="35.231434"
+ sodipodi:arg1="1.5707963"
+ sodipodi:arg2="2.3561945"
+ inkscape:rounded="0"
+ inkscape:randomized="0"
+ d="M 205.73099,459.03726 180.8186,307.79248 29.573822,282.8801 180.8186,257.96771 l 24.91238,-151.24478 24.91239,151.24478 151.24478,24.91238 -151.24478,24.91239 z"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 54.432988,28.237108 2e-6,93.216502"
+ id="path991" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="m 7.8247403,74.845359 93.2164997,-3e-6"
+ id="path993" />
+ <path
+ style="fill:none;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 47.841587,68.253956 C 61.024391,81.436759 61.024391,81.436759 61.024391,81.436759"
+ id="path995" />
+ <path
+ style="fill:#ff0000;stroke:#000000;stroke-width:0.264583px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+ d="M 61.024391,68.253956 47.841587,81.436759"
+ id="path997" />
+ <path
+ style="fill:#ff0000;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 193.43534,269.62014 c -6.2322,-6.23407 -11.33698,-11.55089 -11.34397,-11.81517 -0.007,-0.26428 5.0921,-31.50414 11.33128,-69.4219 l 11.34397,-68.9414 0.0816,40.4123 c 0.0449,22.22675 0.0449,58.56721 0,80.75656 l -0.0816,40.34427 z"
+ id="path1073"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#aa0000;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 206.57191,200.26456 c 0.0205,-44.46429 0.0937,-80.62717 0.16276,-80.36197 0.27012,1.03808 22.62323,137.13728 22.62323,137.74386 0,0.42036 -3.98335,4.62794 -11.41164,12.05401 l -11.41164,11.40825 z"
+ id="path1186"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#0000ff;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 206.57191,365.49565 -0.0373,-80.84415 11.41164,11.40825 c 7.42829,7.42607 11.41164,11.63365 11.41164,12.05401 0,0.60657 -22.35311,136.70578 -22.62323,137.74386 -0.069,0.2652 -0.14225,-35.89769 -0.16276,-80.36197 z"
+ id="path1336"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#0000aa;fill-opacity:1;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="M 193.41121,377.30741 C 187.17832,339.428 182.08439,308.218 182.09137,307.95187 c 0.007,-0.26613 5.14794,-5.61759 11.42434,-11.89212 l 11.41164,-11.40825 v 80.76379 c 0,44.42008 -0.0413,80.76378 -0.0918,80.76378 -0.0505,0 -5.19144,-30.99224 -11.42433,-68.87166 z"
+ id="path1412"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 41.628379,282.04372 c 0.2652,-0.0654 31.724078,-5.25942 69.908621,-11.5423 l 69.42643,-11.4234 11.57959,11.57959 11.57958,11.57958 -81.4882,-0.0373 c -44.818513,-0.0205 -81.271221,-0.0908 -81.006021,-0.15619 z"
+ id="path2360"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 111.38404,295.24525 c -37.746813,-6.24278 -68.992206,-11.41247 -69.434206,-11.48821 -0.442001,-0.0757 35.865552,-0.15937 80.683446,-0.18586 l 81.48708,-0.0482 -11.56902,11.57237 c -6.36296,6.3648 -11.78675,11.55617 -12.05287,11.53638 -0.26612,-0.0198 -31.36762,-5.14373 -69.11443,-11.38651 z"
+ id="path2436"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#000000;fill-opacity:1;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 218.92415,270.65241 11.58478,-11.58478 69.42124,11.42566 c 38.18168,6.28411 69.63822,11.48048 69.90342,11.54749 0.2652,0.067 -36.18751,0.13862 -81.00602,0.15913 l -81.4882,0.0373 z"
+ id="path2475"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:none;fill-opacity:1;stroke:#000000;stroke-width:0.607473;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 218.91063,295.09538 -11.56902,-11.57237 81.48708,0.0373 c 44.81789,0.0205 81.2701,0.0921 81.0049,0.15913 -0.42568,0.10756 -139.03687,22.94832 -139.26393,22.94832 -0.0495,0 -5.29607,-5.20757 -11.65903,-11.57237 z"
+ id="path2514"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.21495;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 51.111292,281.19388 c 0.5304,-0.13818 29.895283,-5.01467 65.255298,-10.83664 l 64.29093,-10.5854 10.92713,10.91122 10.92713,10.91123 -76.18242,-0.0746 c -41.900341,-0.041 -75.748469,-0.18764 -75.218068,-0.32583 z"
+ id="path2999"
+ transform="scale(0.26458333)" />
+ <path
+ style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:1.21495;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ d="m 219.88208,295.10818 -10.92236,-10.94226 76.17766,0.0508 c 41.89771,0.0279 75.88835,0.15784 75.53475,0.28872 -0.3536,0.13088 -28.99521,4.88871 -63.64802,10.57296 -34.65281,5.68424 -63.72839,10.47833 -64.61239,10.65353 -1.3859,0.27467 -3.11163,-1.18855 -12.52964,-10.62371 z"
+ id="path3075"
+ transform="scale(0.26458333)" />
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="48.989689"
+ y="16.670103"
+ id="text6475"><tspan
+ sodipodi:role="line"
+ id="tspan6473"
+ style="stroke-width:0.264583"
+ x="48.989689"
+ y="16.670103"></tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="50.474586"
+ y="25.95421"
+ id="text29322"><tspan
+ sodipodi:role="line"
+ id="tspan29320"
+ style="stroke-width:0.264583"
+ x="50.474586"
+ y="25.95421">N</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="51.019772"
+ y="131.41812"
+ id="text33982"><tspan
+ sodipodi:role="line"
+ id="tspan33980"
+ style="stroke-width:0.264583"
+ x="51.019772"
+ y="131.41812">S</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="104.54184"
+ y="78.702988"
+ id="text37802"><tspan
+ sodipodi:role="line"
+ id="tspan37800"
+ style="stroke-width:0.264583"
+ x="104.54184"
+ y="78.702988">E</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-style:normal;font-weight:normal;font-size:10.5833px;line-height:1.25;font-family:sans-serif;fill:#000000;fill-opacity:1;stroke:none;stroke-width:0.264583"
+ x="-4.1540327"
+ y="78.702988"
+ id="text39852"><tspan
+ sodipodi:role="line"
+ id="tspan39850"
+ style="stroke-width:0.264583"
+ x="-4.1540327"
+ y="78.702988">W</tspan></text>
+ </g>
+</svg>
diff --git a/examples/sensors/sensorsshowcase/images/magnet.svg b/examples/sensors/sensorsshowcase/images/magnet.svg
new file mode 100644
index 00000000..21d9f46b
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/images/magnet.svg
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ width="152.6804mm"
+ height="186.70102mm"
+ viewBox="0 0 152.6804 186.70102"
+ version="1.1"
+ id="svg22292"
+ sodipodi:docname="magnet.svg"
+ inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:svg="http://www.w3.org/2000/svg">
+ <sodipodi:namedview
+ id="namedview22294"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageshadow="2"
+ inkscape:pageopacity="0.0"
+ inkscape:pagecheckerboard="0"
+ inkscape:document-units="mm"
+ showgrid="false"
+ inkscape:zoom="3.1108586"
+ inkscape:cx="384.62051"
+ inkscape:cy="214.24953"
+ inkscape:window-width="2560"
+ inkscape:window-height="1377"
+ inkscape:window-x="1912"
+ inkscape:window-y="72"
+ inkscape:window-maximized="1"
+ inkscape:current-layer="layer1" />
+ <defs
+ id="defs22289" />
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(0.34020391,-51.711357)">
+ <path
+ style="fill:none;stroke:#0000ff;stroke-width:40;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path22661"
+ sodipodi:type="arc"
+ sodipodi:cx="76.206184"
+ sodipodi:cy="162.27835"
+ sodipodi:rx="56.134018"
+ sodipodi:ry="56.134018"
+ sodipodi:start="1.5707963"
+ sodipodi:end="3.1415927"
+ sodipodi:arc-type="arc"
+ d="M 76.206184,218.41237 A 56.134018,56.134018 0 0 1 36.513439,201.9711 56.134018,56.134018 0 0 1 20.072166,162.27835"
+ sodipodi:open="true" />
+ <rect
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.814709;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect22976"
+ width="39.829895"
+ height="50.35051"
+ x="0.17010537"
+ y="51.711357" />
+ <path
+ style="fill:#ff0000;stroke:#ff0000;stroke-width:40;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="path23734"
+ sodipodi:type="arc"
+ sodipodi:cx="-76.206184"
+ sodipodi:cy="162.27835"
+ sodipodi:rx="56.134018"
+ sodipodi:ry="56.134018"
+ sodipodi:start="1.5707963"
+ sodipodi:end="3.1415927"
+ sodipodi:arc-type="arc"
+ d="M -76.206184,218.41237 A 56.134018,56.134018 0 0 1 -115.89893,201.9711 56.134018,56.134018 0 0 1 -132.3402,162.27835"
+ sodipodi:open="true"
+ transform="scale(-1,1)" />
+ <rect
+ style="fill:#cccccc;fill-opacity:1;stroke:none;stroke-width:0.816447;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect24456"
+ width="40"
+ height="50.35051"
+ x="112.26804"
+ y="51.711357" />
+ <rect
+ style="fill:#ff0000;fill-opacity:1;stroke:none;stroke-width:1.00283;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect24480"
+ width="40"
+ height="60.340206"
+ x="112.26804"
+ y="102.06187" />
+ <rect
+ style="fill:#0000ff;fill-opacity:1;stroke:none;stroke-width:1.00563;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1"
+ id="rect24580"
+ width="39.829895"
+ height="60.93557"
+ x="0.17010537"
+ y="102.06187" />
+ </g>
+</svg>
diff --git a/examples/sensors/sensorsshowcase/images/qt_logo.png b/examples/sensors/sensorsshowcase/images/qt_logo.png
new file mode 100644
index 00000000..3a75e10c
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/images/qt_logo.png
Binary files differ
diff --git a/examples/sensors/sensorsshowcase/main.cpp b/examples/sensors/sensorsshowcase/main.cpp
new file mode 100644
index 00000000..4a7bd285
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/main.cpp
@@ -0,0 +1,18 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+#include <QGuiApplication>
+#include <QQmlApplicationEngine>
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication app(argc,argv);
+ QGuiApplication::setOrganizationName("QtProject");
+ QGuiApplication::setApplicationName("Sensors Showcase");
+
+ QQmlApplicationEngine engine;
+ engine.loadFromModule("SensorShowcaseModule", "Main");
+ if (engine.rootObjects().isEmpty())
+ return -1;
+
+ return app.exec();
+}
diff --git a/examples/sensors/sensorsshowcase/qmldir b/examples/sensors/sensorsshowcase/qmldir
new file mode 100644
index 00000000..76e61cdf
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/qmldir
@@ -0,0 +1,9 @@
+module SensorShowcaseModule
+prefer :/qt/qml/SensorShowcaseModule/
+Main 1.0 Main.qml
+Accelerometer 1.0 Accelerometer.qml
+Compass 1.0 Compass.qml
+Gyroscope 1.0 Gyroscope.qml
+Magnetometer 1.0 Magnetometer.qml
+Proximity 1.0 Proximity.qml
+ProgressXYZBar 1.0 ProgressXYZBar.qml
diff --git a/examples/sensors/sensorsshowcase/qtquickcontrols2.conf b/examples/sensors/sensorsshowcase/qtquickcontrols2.conf
new file mode 100644
index 00000000..76439328
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/qtquickcontrols2.conf
@@ -0,0 +1,6 @@
+[Controls]
+Style=Material
+
+[Material]
+Background=#eafcf3
+Accent=#28c878
diff --git a/examples/sensors/sensorsshowcase/sensorsshowcase.pro b/examples/sensors/sensorsshowcase/sensorsshowcase.pro
new file mode 100644
index 00000000..cded9071
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/sensorsshowcase.pro
@@ -0,0 +1,46 @@
+# Copyright (C) 2023 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+QT += quick sensors svg
+
+TARGET = sensorsshowcase
+TEMPLATE = app
+
+SOURCES = main.cpp
+
+qml_resources.files = \
+ qmldir \
+ Main.qml \
+ Accelerometer.qml \
+ Compass.qml \
+ Gyroscope.qml \
+ Magnetometer.qml \
+ Proximity.qml \
+ ProgressXYZBar.qml \
+ images/compass.svg \
+ images/magnet.svg \
+ images/qt_logo.png
+
+qml_resources.prefix = /qt/qml/SensorShowcaseModule
+
+data_resources.files = \
+ qtquickcontrols2.conf
+
+data_resources.prefix = /
+
+RESOURCES += \
+ qml_resources \
+ data_resources
+
+android {
+ OTHER_FILES = android/AndroidManifest.xml
+ ANDROID_PACKAGE_SOURCE_DIR = $$PWD/android
+}
+
+ios {
+ QMAKE_INFO_PLIST = Info.plist
+ EXAMPLE_FILES += Info.plist
+}
+
+target.path = $$[QT_INSTALL_EXAMPLES]/sensors/sensorsshowcase
+INSTALLS += target
diff --git a/examples/sensors/sensorsshowcase/sensorsupport.h b/examples/sensors/sensorsshowcase/sensorsupport.h
new file mode 100644
index 00000000..915157f8
--- /dev/null
+++ b/examples/sensors/sensorsshowcase/sensorsupport.h
@@ -0,0 +1,41 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+#ifndef SENSORSUPPORT_H
+#define SENSORSUPPORT_H
+
+#include <QObject>
+#include <QtQmlIntegration>
+#include <QtSensors/QtSensors>
+
+class SensorSupport : public QObject
+{
+ Q_OBJECT
+ QML_ELEMENT
+ QML_SINGLETON
+ QML_UNCREATABLE("SensorSupport is a utility class")
+public:
+ explicit SensorSupport(QObject *parent = nullptr) : QObject(parent) { }
+
+ Q_INVOKABLE static bool hasAccelerometer()
+ {
+ return !QSensor::sensorsForType(QAccelerometer::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasCompass()
+ {
+ return !QSensor::sensorsForType(QCompass::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasGyroscope()
+ {
+ return !QSensor::sensorsForType(QGyroscope::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasMagnetometer()
+ {
+ return !QSensor::sensorsForType(QMagnetometer::sensorType).empty();
+ }
+ Q_INVOKABLE static bool hasProximity()
+ {
+ return !QSensor::sensorsForType(QProximitySensor::sensorType).empty();
+ }
+};
+
+#endif // SENSORSUPPORT_H
diff --git a/examples/sensors/shakeit/audio/loopy2a_mono.wav b/examples/sensors/shakeit/audio/loopy2a_mono.wav
deleted file mode 100644
index 7d76cb65..00000000
--- a/examples/sensors/shakeit/audio/loopy2a_mono.wav
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/shakeit/audio/phone.wav b/examples/sensors/shakeit/audio/phone.wav
deleted file mode 100644
index 884e9ac2..00000000
--- a/examples/sensors/shakeit/audio/phone.wav
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/shakeit/content/triangle.png b/examples/sensors/shakeit/content/triangle.png
deleted file mode 100644
index f366537e..00000000
--- a/examples/sensors/shakeit/content/triangle.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/shakeit/content/triangle2.png b/examples/sensors/shakeit/content/triangle2.png
deleted file mode 100644
index 9318d5a3..00000000
--- a/examples/sensors/shakeit/content/triangle2.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/shakeit/content/triangle3.png b/examples/sensors/shakeit/content/triangle3.png
deleted file mode 100644
index 4cc5ccda..00000000
--- a/examples/sensors/shakeit/content/triangle3.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/shakeit/doc/images/shakeit.png b/examples/sensors/shakeit/doc/images/shakeit.png
deleted file mode 100644
index 5ca1b58c..00000000
--- a/examples/sensors/shakeit/doc/images/shakeit.png
+++ /dev/null
Binary files differ
diff --git a/examples/sensors/shakeit/doc/src/shakeit.qdoc b/examples/sensors/shakeit/doc/src/shakeit.qdoc
deleted file mode 100644
index 6a42388b..00000000
--- a/examples/sensors/shakeit/doc/src/shakeit.qdoc
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \example shakeit
- \title Qt Sensors - ShakeIt QML Example
- \ingroup qtsensors-examples
- \image shakeit.png
-
- \section2 ShakeIt in QML
- \brief The sensor gesture example demonstrates the steps for creating a QML application
- that uses sensor gestures and the included shake sensor.
-
- Writing a QML application that uses the Shake QML sensorgestures type requires the following steps:
-
- Import the Sensors Declarative module.
-
- \snippet shakeit/shakeit.qml 0
-
- Add a SensorGesture QML type.
-
- \snippet shakeit/shakeit.qml 1
-
- In the SensorGesture type, specify which gesture to be used.
- Note that this can be a comma separated list. Here we are only interested in one
- gesture recognizer.
-
- \snippet shakeit/shakeit.qml 2
-
- Use the 'enabled' property to start the sensor gesture.
-
- \snippet shakeit/shakeit.qml 3
-
- Use the onDetected signal to do stuff.
-
- \snippet shakeit/shakeit.qml 4
-
- There are additional gestures to shake which are supported:
- whip, twistRight, hover, cover, turnover and pickup.
-*/
diff --git a/examples/sensors/shakeit/main.cpp b/examples/sensors/shakeit/main.cpp
deleted file mode 100644
index 44b1f278..00000000
--- a/examples/sensors/shakeit/main.cpp
+++ /dev/null
@@ -1,52 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "../stub.h"
-SENSORS_EXAMPLE_MAIN(shakeit)
diff --git a/examples/sensors/shakeit/shakeit.pro b/examples/sensors/shakeit/shakeit.pro
deleted file mode 100644
index 00eb1ab3..00000000
--- a/examples/sensors/shakeit/shakeit.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-TEMPLATE = app
-TARGET = shakeit
-QT += quick
-SOURCES = main.cpp
-
-RESOURCES += \
- shakeit.qrc
-
-OTHER_FILES = \
- $$files(*.qml) \
- audio \
- content
-
-target.path = $$[QT_INSTALL_EXAMPLES]/sensors/shakeit
-INSTALLS += target
diff --git a/examples/sensors/shakeit/shakeit.qml b/examples/sensors/shakeit/shakeit.qml
deleted file mode 100644
index b5d5b499..00000000
--- a/examples/sensors/shakeit/shakeit.qml
+++ /dev/null
@@ -1,334 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-//! [0]
-import QtSensors 5.0
-//! [0]
-import QtMultimedia 5.0
-
-
-
-Rectangle {
- id: window
- width: 320
- height: 480
-
- state: "default"
-
- Audio {
- id :phone
- source: "audio/phone.wav" //mono
- }
- Audio {
- id :loopy2a_mono
- source: "audio/loopy2a_mono.wav" //mono
- }
-
- Text {
- id: label
- text: qsTr("Shake to rotate triangles")
- y: parent.height / 4
- anchors.horizontalCenter: parent.horizontalCenter
- }
- Image {
- id: triangle1
- smooth: true
- source: "content/triangle.png"
- x: parent.width / 2 - (triangle1.width / 2)
- y: parent.height / 2 - (triangle1.height);
- Behavior on x { SmoothedAnimation { velocity: 200 } }
- Behavior on y { SmoothedAnimation { velocity: 200 } }
- transform: Rotation {
- id: myRot
- }
- }
- Image {
- id: triangle2
- smooth: true
- source: "content/triangle2.png"
- x: parent.width / 2 - (triangle1.width + triangle2.width / 2)
- y: parent.height / 2 + (triangle2.height / 2);
- Behavior on x { SmoothedAnimation { velocity: 200 } }
- Behavior on y { SmoothedAnimation { velocity: 200 } }
- }
- Image {
- id: triangle3
- smooth: true
- source: "content/triangle3.png"
- x: parent.width / 2 + (triangle1.width / 2)
- y: parent.height / 2 + (triangle3.height / 2);
-
- Behavior on x { SmoothedAnimation { velocity: 200 } }
- Behavior on y { SmoothedAnimation { velocity: 200 } }
- }
-
- states: [
- State {
- name: "rotated"
- PropertyChanges { target: triangle1; rotation: 180 }
- PropertyChanges { target: triangle2; rotation: 90 }
- PropertyChanges { target: triangle3; rotation: 270 }
- },
- State {
- name: "default"
- PropertyChanges { target: triangle1; rotation: 0;
- x: parent.width / 2 - (triangle1.width / 2)
- y: parent.height / 2 - (triangle1.height);
- }
- PropertyChanges { target: triangle2; rotation: 0;
- x: parent.width / 2 - (triangle1.width + triangle2.width / 2)
- y: parent.height / 2 + (triangle2.height / 2);
- }
- PropertyChanges { target: triangle3; rotation: 0;
- x: parent.width / 2 + (triangle1.width / 2)
- y: parent.height / 2 + (triangle3.height / 2);
- }
- },
- State {
- name: "whipped"
- PropertyChanges { target: triangle1; rotation: 0; x:0; }
- PropertyChanges { target: triangle2; rotation: 0; x:0; y:triangle1.x + triangle1.height; }
- PropertyChanges { target: triangle3; rotation: 0; x:0;
- y: triangle2.y + triangle2.height; }
- },
- State {
- name: "twistedR"
- PropertyChanges { target: triangle1; rotation: 270;
- x:window.width - triangle1.width;
- }
- PropertyChanges { target: triangle2; rotation: 180;
- x:window.width - triangle2.width;
- }
- PropertyChanges { target: triangle3; rotation: 90;
- x:window.width - triangle3.width;
- y:triangle2.y + triangle2.height;
- }
- },
- State {
- name: "twistedL"
- PropertyChanges { target: triangle1; rotation: 270;
- x:0;
- }
- PropertyChanges { target: triangle2; rotation: 180;
- x:0;
- }
- PropertyChanges { target: triangle3; rotation: 90;
- x:0;
- y:triangle2.y + triangle2.height;
- }
- },
- State {
- name: "covered"
- PropertyChanges { target: triangle1; rotation: 0;
- x: window.width / 3 - triangle1.width / 2;
- y: window.height - triangle1.height;
- }
- PropertyChanges { target: triangle2; rotation: 0;
- x: window.width / 2 - triangle2.width / 2; // middle
- y: window.height - triangle2.height;
- }
- PropertyChanges { target: triangle3; rotation: 0;
- x: (window.width / 3 + window.width / 3) - triangle3.width / 2;
- y: window.height - triangle3.height;
- }
- },
- State {
- name: "hovered"
- PropertyChanges { target: triangle1; rotation: 90;
- x: window.width / 3 - triangle1.width / 2;
- y: triangle1.height;
- }
- PropertyChanges { target: triangle2; rotation: 270;
- x: window.width / 2 - triangle2.width / 2; // middle
- y: triangle2.height;
- }
- PropertyChanges { target: triangle3; rotation: 195;
- x: (window.width / 3 + window.width / 3) - triangle3.width / 2;
- y: triangle3.height
- }
- },
- State {
- name :"slammed"
- PropertyChanges { target: triangle1; rotation: 0;
- x: 0;
- y: 0 + 30
- }
- PropertyChanges { target: triangle2; rotation: 0;
- x: window.width - triangle2.width;
- y: 0 + 30
- ;}
- PropertyChanges { target: triangle3; rotation: 0;
- x: window.width / 2 - triangle3.width / 2;
- y:window.height - triangle3.height;
- }
- },
- State {
- name: "doubletapped"
- PropertyChanges { target: triangle1; rotation: 114;
- transformOrigin: Item.BottomLeft
- }
- PropertyChanges { target: triangle2; rotation: 120;
- transformOrigin: Item.BottomLeft
- }
- }
- ]
-
-
- transitions: [
- Transition {
-
- ParallelAnimation {
- NumberAnimation { properties: "x,y"; easing.type: Easing.OutBounce;duration: 2000; }
- RotationAnimation { id: t1Rotation; target: triangle1; duration: 1000;
- direction: RotationAnimation.Clockwise }
- RotationAnimation { id: t2Rotation; target: triangle2; duration: 2000;
- direction: RotationAnimation.Counterclockwise }
- RotationAnimation { id: t3Rotation; target: triangle3; duration: 2000;
- direction: RotationAnimation.Clockwise }
- }
-
- }, Transition {
- to: "slammed"
- SequentialAnimation {
- NumberAnimation { properties: "x"; easing.type: Easing.OutBounce;duration: 500; }
-
- }
- }, Transition {
- to: "doubletapped"
- SequentialAnimation {
- PropertyAction { target: triangle1; property: "transformOrigin" }
- PropertyAction { target: triangle2; property: "transformOrigin" }
- NumberAnimation { target: triangle1; properties: "rotation"; easing.type: Easing.OutBounce;duration: 500; }
- NumberAnimation { target: triangle2; properties: "rotation"; easing.type: Easing.OutBounce;duration: 1500; }
- }
- }, Transition {
- from: "doubletapped"
- SequentialAnimation {
- NumberAnimation { properties: "rotation"; easing.type: Easing.OutBounce;duration: 1500; }
- PropertyAction { target: triangle1; property: "transformOrigin" }
- PropertyAction { target: triangle2; property: "transformOrigin" }
- }
- }
- ]
-
-//! [1]
- SensorGesture {
-//! [1]
- id: sensorGesture
-//! [3]
- enabled: true
-//! [3]
-//! [2]
- gestures : ["QtSensors.shake", "QtSensors.whip", "QtSensors.twist", "QtSensors.cover",
- "QtSensors.hover", "QtSensors.turnover", "QtSensors.pickup", "QtSensors.slam" , "QtSensors.doubletap"]
-//! [2]
-//! [4]
- onDetected:{
- console.debug(gesture)
- label.text = gesture
-
- if (gesture == "shake") {
- window.state == "rotated" ? window.state = "default" : window.state = "rotated"
- timer.start()
- }
- if (gesture == "whip") {
- window.state == "whipped" ? window.state = "default" : window.state = "whipped"
- timer.start()
- }
- if (gesture == "twistRight") {
- window.state == "twistedR" ? window.state = "default" : window.state = "twistedR"
- timer.start()
- }
- if (gesture == "twistLeft") {
- window.state == "twistedL" ? window.state = "default" : window.state = "twistedL"
- timer.start()
- }
- if (gesture == "cover") {
- window.state == "covered" ? window.state = "default" : window.state = "covered"
- timer.start()
- }
- if (gesture == "hover") {
- window.state == "hovered" ? window.state = "default" : window.state = "hovered"
- timer.start()
- }
- if (gesture == "turnover") {
- window.state = "default"
- loopy2a_mono.play();
- timer.start()
- }
- if (gesture == "pickup") {
- window.state = "default"
- phone.play()
- timer.start()
- }
- if (gesture == "slam") {
- window.state == "slammed" ? window.state = "default" : window.state = "slammed"
- timer.start()
- }
- if (gesture == "doubletap") {
- window.state == "doubletapped" ? window.state = "default" : window.state = "doubletapped"
- timer.start()
- }
- }
-//! [4]
- }
- Timer {
- id: timer
- running: false
- repeat: false
- interval: 3000
- onTriggered: {
- console.log("timer triggered")
- window.state = "default"
- label.text = "Try another gesture"
- }
- }
-}
diff --git a/examples/sensors/shakeit/shakeit.qrc b/examples/sensors/shakeit/shakeit.qrc
deleted file mode 100644
index 1a2c75d8..00000000
--- a/examples/sensors/shakeit/shakeit.qrc
+++ /dev/null
@@ -1,10 +0,0 @@
-<RCC>
- <qresource prefix="/">
- <file>shakeit.qml</file>
- <file>audio/loopy2a_mono.wav</file>
- <file>audio/phone.wav</file>
- <file>content/triangle.png</file>
- <file>content/triangle2.png</file>
- <file>content/triangle3.png</file>
- </qresource>
-</RCC>
diff --git a/examples/sensors/stub.h b/examples/sensors/stub.h
deleted file mode 100644
index 3f198bb1..00000000
--- a/examples/sensors/stub.h
+++ /dev/null
@@ -1,61 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:BSD$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** BSD License Usage
-** Alternatively, you may use this file under the terms of the BSD license
-** as follows:
-**
-** "Redistribution and use in source and binary forms, with or without
-** modification, are permitted provided that the following conditions are
-** met:
-** * Redistributions of source code must retain the above copyright
-** notice, this list of conditions and the following disclaimer.
-** * Redistributions in binary form must reproduce the above copyright
-** notice, this list of conditions and the following disclaimer in
-** the documentation and/or other materials provided with the
-** distribution.
-** * Neither the name of The Qt Company Ltd nor the names of its
-** contributors may be used to endorse or promote products derived
-** from this software without specific prior written permission.
-**
-**
-** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
-** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
-** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
-** A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
-** OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-** SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
-** LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
-** DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
-** THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-** (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
-** OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE."
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QGuiApplication>
-#include <QQuickView>
-
-#define SENSORS_EXAMPLE_MAIN(NAME) int main(int argc, char **argv) \
-{\
- QGuiApplication app(argc,argv);\
- QQuickView view;\
- view.setSource(QUrl("qrc:///" #NAME ".qml"));\
- view.show();\
- return app.exec();\
-}
diff --git a/licenseRule.json b/licenseRule.json
new file mode 100644
index 00000000..d68d5838
--- /dev/null
+++ b/licenseRule.json
@@ -0,0 +1,89 @@
+[
+ {
+ "comment" : ["file_pattern_ending: strings matched against the end of a file name.",
+ "location keys: regular expression matched against the beginning of",
+ "the file path (relative to the git submodule root).",
+ "spdx: list of SPDX-License-Expression's allowed in the matching files.",
+ "-------------------------------------------------------",
+ "Files with the following endings are Build System licensed,",
+ "unless they are examples",
+ "Files with other endings can also be build system files"
+ ],
+ "file_pattern_ending" : ["CMakeLists.txt", ".cmake", ".pro", ".pri", ".prf",
+ "configure", "configure.bat", "cmake.in", "plist.in", "CMakeLists.txt.in"],
+ "location" : {
+ "" : {
+ "comment" : "Default",
+ "file type" : "build system",
+ "spdx" : ["BSD-3-Clause"]
+ },
+ "(.*)(examples/|snippets/)" : {
+ "comment" : "Example takes precedence",
+ "file type" : "examples and snippets",
+ "spdx" : ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+ }
+ }
+ },
+ {
+ "comments" : ["Files with the following endings are Tool licensed,",
+ "unless they are examples.",
+ "Files with other endings can also be tool files."],
+ "file_pattern_ending" : [".sh", ".py", ".pl", ".bat", ".ps1"],
+ "location" :{
+ "" : {
+ "comment" : "Default",
+ "file type" : "tools and utils",
+ "spdx" : ["LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0"]
+ },
+ "(.*)(examples/|snippets/)" : {
+ "comment" : "Example takes precedence",
+ "file type" : "examples and snippets",
+ "spdx" : ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+ }
+ }
+ },
+ {
+ "comment" : "Files with the following endings are Documentation licensed.",
+ "file_pattern_ending" : [".qdoc", ".qdocinc" , ".qdocconf", ".txt", "README", "qt_attribution.json"],
+ "location" :{
+ "" : {
+ "comment" : "",
+ "file type" : "documentation",
+ "spdx" : ["LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only"]
+ }
+ }
+ },
+ {
+ "comment" : ["All other files",
+ "The licensing is defined only by the file location in the Qt module repository.",
+ "NO <file_pattern_ending> key for this case!",
+ "This needs to be the last entry of the file."],
+ "location" : {
+ "" : {
+ "comment" : "Default",
+ "file type" : "module and plugin",
+ "spdx" : ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"]
+ },
+ "src/" : {
+ "comment" : "Default",
+ "file type" : "module and plugin",
+ "spdx" : ["LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only"]
+ },
+ "tests/" : {
+ "comment" : "Default",
+ "file type" : "test",
+ "spdx" : ["LicenseRef-Qt-Commercial OR GPL-3.0-only"]
+ },
+ "(.*)(examples/|snippets/)" : {
+ "comment" : "Default",
+ "file type" : "examples and snippets",
+ "spdx" : ["LicenseRef-Qt-Commercial OR BSD-3-Clause"]
+ },
+ "config.tests/" : {
+ "comment" : "Default",
+ "file type" : "build system",
+ "spdx" : ["BSD-3-Clause"]
+ }
+ }
+ }
+]
diff --git a/qt_cmdline.cmake b/qt_cmdline.cmake
new file mode 100644
index 00000000..0527bc84
--- /dev/null
+++ b/qt_cmdline.cmake
@@ -0,0 +1 @@
+qt_commandline_subconfig(src/sensors)
diff --git a/qtsensors.pro b/qtsensors.pro
deleted file mode 100644
index 2e29e906..00000000
--- a/qtsensors.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-load(configure)
-
-load(qt_parts)
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100644
index 00000000..97b75b56
--- /dev/null
+++ b/src/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+add_subdirectory(sensors)
+add_subdirectory(plugins)
+if(TARGET Qt::Quick)
+ add_subdirectory(sensorsquick)
+endif()
diff --git a/src/imports/imports.pro b/src/imports/imports.pro
deleted file mode 100644
index a68f6a5e..00000000
--- a/src/imports/imports.pro
+++ /dev/null
@@ -1,4 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += sensors
-
diff --git a/src/imports/sensors/plugin.json b/src/imports/sensors/plugin.json
deleted file mode 100644
index 0967ef42..00000000
--- a/src/imports/sensors/plugin.json
+++ /dev/null
@@ -1 +0,0 @@
-{}
diff --git a/src/imports/sensors/plugins.qmltypes b/src/imports/sensors/plugins.qmltypes
deleted file mode 100644
index d16b2be6..00000000
--- a/src/imports/sensors/plugins.qmltypes
+++ /dev/null
@@ -1,613 +0,0 @@
-import QtQuick.tooling 1.2
-
-// This file describes the plugin-supplied types contained in the library.
-// It is used for QML tooling purposes only.
-//
-// This file was auto-generated by:
-// 'qmlplugindump -nonrelocatable QtSensors 5.12'
-
-Module {
- dependencies: ["QtQuick 2.12"]
- Component {
- name: "QmlAccelerometer"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/Accelerometer 5.0",
- "QtSensors/Accelerometer 5.1",
- "QtSensors/Accelerometer 5.2"
- ]
- exportMetaObjectRevisions: [0, 1, 1]
- Enum {
- name: "AccelerationMode"
- values: {
- "Combined": 0,
- "Gravity": 1,
- "User": 2
- }
- }
- Property { name: "accelerationMode"; revision: 1; type: "AccelerationMode" }
- Signal {
- name: "accelerationModeChanged"
- revision: 1
- Parameter { name: "accelerationMode"; type: "AccelerationMode" }
- }
- }
- Component {
- name: "QmlAccelerometerReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/AccelerometerReading 5.0",
- "QtSensors/AccelerometerReading 5.1",
- "QtSensors/AccelerometerReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "x"; type: "double"; isReadonly: true }
- Property { name: "y"; type: "double"; isReadonly: true }
- Property { name: "z"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlAltimeter"
- prototype: "QmlSensor"
- exports: ["QtSensors/Altimeter 5.1", "QtSensors/Altimeter 5.2"]
- exportMetaObjectRevisions: [0, 0]
- }
- Component {
- name: "QmlAltimeterReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/AltimeterReading 5.1",
- "QtSensors/AltimeterReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0]
- Property { name: "altitude"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlAmbientLightSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/AmbientLightSensor 5.0",
- "QtSensors/AmbientLightSensor 5.1",
- "QtSensors/AmbientLightSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- }
- Component {
- name: "QmlAmbientLightSensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/AmbientLightReading 5.0",
- "QtSensors/AmbientLightReading 5.1",
- "QtSensors/AmbientLightReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "lightLevel"; type: "QAmbientLightReading::LightLevel"; isReadonly: true }
- }
- Component {
- name: "QmlAmbientTemperatureReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/AmbientTemperatureReading 5.1",
- "QtSensors/AmbientTemperatureReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0]
- Property { name: "temperature"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlAmbientTemperatureSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/AmbientTemperatureSensor 5.1",
- "QtSensors/AmbientTemperatureSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0]
- }
- Component {
- name: "QmlCompass"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/Compass 5.0",
- "QtSensors/Compass 5.1",
- "QtSensors/Compass 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- }
- Component {
- name: "QmlCompassReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/CompassReading 5.0",
- "QtSensors/CompassReading 5.1",
- "QtSensors/CompassReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "azimuth"; type: "double"; isReadonly: true }
- Property { name: "calibrationLevel"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlDistanceReading"
- prototype: "QmlSensorReading"
- exports: ["QtSensors/DistanceReading 5.4"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "distance"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlDistanceSensor"
- prototype: "QmlSensor"
- exports: ["QtSensors/DistanceSensor 5.4"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QmlGyroscope"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/Gyroscope 5.0",
- "QtSensors/Gyroscope 5.1",
- "QtSensors/Gyroscope 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- }
- Component {
- name: "QmlGyroscopeReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/GyroscopeReading 5.0",
- "QtSensors/GyroscopeReading 5.1",
- "QtSensors/GyroscopeReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "x"; type: "double"; isReadonly: true }
- Property { name: "y"; type: "double"; isReadonly: true }
- Property { name: "z"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlHolsterReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/HolsterReading 5.1",
- "QtSensors/HolsterReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0]
- Property { name: "holstered"; type: "bool"; isReadonly: true }
- }
- Component {
- name: "QmlHolsterSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/HolsterSensor 5.1",
- "QtSensors/HolsterSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0]
- }
- Component {
- name: "QmlHumidityReading"
- prototype: "QmlSensorReading"
- exports: ["QtSensors/HumidityReading 5.9"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "relativeHumidity"; type: "double"; isReadonly: true }
- Property { name: "absoluteHumidity"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlHumiditySensor"
- prototype: "QmlSensor"
- exports: ["QtSensors/HumiditySensor 5.9"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QmlIRProximitySensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/IRProximitySensor 5.0",
- "QtSensors/IRProximitySensor 5.1",
- "QtSensors/IRProximitySensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- }
- Component {
- name: "QmlIRProximitySensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/IRProximityReading 5.0",
- "QtSensors/IRProximityReading 5.1",
- "QtSensors/IRProximityReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "reflectance"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlLidReading"
- prototype: "QmlSensorReading"
- exports: ["QtSensors/LidReading 5.9"]
- isCreatable: false
- exportMetaObjectRevisions: [0]
- Property { name: "backLidChanged"; type: "bool"; isReadonly: true }
- Property { name: "frontLidClosed"; type: "bool"; isReadonly: true }
- Signal {
- name: "backLidChanged"
- Parameter { name: "closed"; type: "bool" }
- }
- Signal {
- name: "frontLidChanged"
- type: "bool"
- Parameter { name: "closed"; type: "bool" }
- }
- }
- Component {
- name: "QmlLidSensor"
- prototype: "QmlSensor"
- exports: ["QtSensors/LidSensor 5.9"]
- exportMetaObjectRevisions: [0]
- }
- Component {
- name: "QmlLightSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/LightSensor 5.0",
- "QtSensors/LightSensor 5.1",
- "QtSensors/LightSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "fieldOfView"; type: "double"; isReadonly: true }
- Signal {
- name: "fieldOfViewChanged"
- Parameter { name: "fieldOfView"; type: "double" }
- }
- }
- Component {
- name: "QmlLightSensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/LightReading 5.0",
- "QtSensors/LightReading 5.1",
- "QtSensors/LightReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "illuminance"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlMagnetometer"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/Magnetometer 5.0",
- "QtSensors/Magnetometer 5.1",
- "QtSensors/Magnetometer 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "returnGeoValues"; type: "bool" }
- Signal {
- name: "returnGeoValuesChanged"
- Parameter { name: "returnGeoValues"; type: "bool" }
- }
- }
- Component {
- name: "QmlMagnetometerReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/MagnetometerReading 5.0",
- "QtSensors/MagnetometerReading 5.1",
- "QtSensors/MagnetometerReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "x"; type: "double"; isReadonly: true }
- Property { name: "y"; type: "double"; isReadonly: true }
- Property { name: "z"; type: "double"; isReadonly: true }
- Property { name: "calibrationLevel"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlOrientationSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/OrientationSensor 5.0",
- "QtSensors/OrientationSensor 5.1",
- "QtSensors/OrientationSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- }
- Component {
- name: "QmlOrientationSensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/OrientationReading 5.0",
- "QtSensors/OrientationReading 5.1",
- "QtSensors/OrientationReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "orientation"; type: "QOrientationReading::Orientation"; isReadonly: true }
- }
- Component {
- name: "QmlPressureReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/PressureReading 5.1",
- "QtSensors/PressureReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 1]
- Property { name: "pressure"; type: "double"; isReadonly: true }
- Property { name: "temperature"; revision: 1; type: "double"; isReadonly: true }
- Signal { name: "temperatureChanged"; revision: 1 }
- }
- Component {
- name: "QmlPressureSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/PressureSensor 5.1",
- "QtSensors/PressureSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0]
- }
- Component {
- name: "QmlProximitySensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/ProximitySensor 5.0",
- "QtSensors/ProximitySensor 5.1",
- "QtSensors/ProximitySensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- }
- Component {
- name: "QmlProximitySensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/ProximityReading 5.0",
- "QtSensors/ProximityReading 5.1",
- "QtSensors/ProximityReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "near"; type: "bool"; isReadonly: true }
- }
- Component {
- name: "QmlRotationSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/RotationSensor 5.0",
- "QtSensors/RotationSensor 5.1",
- "QtSensors/RotationSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "hasZ"; type: "bool"; isReadonly: true }
- Signal {
- name: "hasZChanged"
- Parameter { name: "hasZ"; type: "bool" }
- }
- }
- Component {
- name: "QmlRotationSensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/RotationReading 5.0",
- "QtSensors/RotationReading 5.1",
- "QtSensors/RotationReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "x"; type: "double"; isReadonly: true }
- Property { name: "y"; type: "double"; isReadonly: true }
- Property { name: "z"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlSensor"
- prototype: "QObject"
- exports: [
- "QtSensors/Sensor 5.0",
- "QtSensors/Sensor 5.1",
- "QtSensors/Sensor 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 1, 1]
- Enum {
- name: "AxesOrientationMode"
- values: {
- "FixedOrientation": 0,
- "AutomaticOrientation": 1,
- "UserOrientation": 2
- }
- }
- Property { name: "identifier"; type: "string" }
- Property { name: "type"; type: "string"; isReadonly: true }
- Property { name: "connectedToBackend"; type: "bool"; isReadonly: true }
- Property { name: "availableDataRates"; type: "QmlSensorRange"; isList: true; isReadonly: true }
- Property { name: "dataRate"; type: "int" }
- Property { name: "reading"; type: "QmlSensorReading"; isReadonly: true; isPointer: true }
- Property { name: "busy"; type: "bool"; isReadonly: true }
- Property { name: "active"; type: "bool" }
- Property { name: "outputRanges"; type: "QmlSensorOutputRange"; isList: true; isReadonly: true }
- Property { name: "outputRange"; type: "int" }
- Property { name: "description"; type: "string"; isReadonly: true }
- Property { name: "error"; type: "int"; isReadonly: true }
- Property { name: "alwaysOn"; type: "bool" }
- Property { name: "skipDuplicates"; revision: 1; type: "bool" }
- Property { name: "axesOrientationMode"; revision: 1; type: "AxesOrientationMode" }
- Property { name: "currentOrientation"; revision: 1; type: "int"; isReadonly: true }
- Property { name: "userOrientation"; revision: 1; type: "int" }
- Property { name: "maxBufferSize"; revision: 1; type: "int"; isReadonly: true }
- Property { name: "efficientBufferSize"; revision: 1; type: "int"; isReadonly: true }
- Property { name: "bufferSize"; revision: 1; type: "int" }
- Signal {
- name: "skipDuplicatesChanged"
- revision: 1
- Parameter { name: "skipDuplicates"; type: "bool" }
- }
- Signal {
- name: "axesOrientationModeChanged"
- revision: 1
- Parameter { name: "axesOrientationMode"; type: "AxesOrientationMode" }
- }
- Signal {
- name: "currentOrientationChanged"
- revision: 1
- Parameter { name: "currentOrientation"; type: "int" }
- }
- Signal {
- name: "userOrientationChanged"
- revision: 1
- Parameter { name: "userOrientation"; type: "int" }
- }
- Signal {
- name: "maxBufferSizeChanged"
- revision: 1
- Parameter { name: "maxBufferSize"; type: "int" }
- }
- Signal {
- name: "efficientBufferSizeChanged"
- revision: 1
- Parameter { name: "efficientBufferSize"; type: "int" }
- }
- Signal {
- name: "bufferSizeChanged"
- revision: 1
- Parameter { name: "bufferSize"; type: "int" }
- }
- Method { name: "start"; type: "bool" }
- Method { name: "stop" }
- }
- Component {
- name: "QmlSensorGesture"
- prototype: "QObject"
- exports: [
- "QtSensors/SensorGesture 5.0",
- "QtSensors/SensorGesture 5.1",
- "QtSensors/SensorGesture 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "availableGestures"; type: "QStringList"; isReadonly: true }
- Property { name: "gestures"; type: "QStringList" }
- Property { name: "validGestures"; type: "QStringList"; isReadonly: true }
- Property { name: "invalidGestures"; type: "QStringList"; isReadonly: true }
- Property { name: "enabled"; type: "bool" }
- Signal {
- name: "detected"
- Parameter { name: "gesture"; type: "string" }
- }
- }
- Component {
- name: "QmlSensorGlobal"
- prototype: "QObject"
- exports: [
- "QtSensors/QmlSensors 5.0",
- "QtSensors/QmlSensors 5.1",
- "QtSensors/QmlSensors 5.2"
- ]
- isCreatable: false
- isSingleton: true
- exportMetaObjectRevisions: [0, 0, 0]
- Signal { name: "availableSensorsChanged" }
- Method { name: "sensorTypes"; type: "QStringList" }
- Method {
- name: "sensorsForType"
- type: "QStringList"
- Parameter { name: "type"; type: "string" }
- }
- Method {
- name: "defaultSensorForType"
- type: "string"
- Parameter { name: "type"; type: "string" }
- }
- }
- Component {
- name: "QmlSensorOutputRange"
- prototype: "QObject"
- exports: [
- "QtSensors/OutputRange 5.0",
- "QtSensors/OutputRange 5.1",
- "QtSensors/OutputRange 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "minimum"; type: "double"; isReadonly: true }
- Property { name: "maximum"; type: "double"; isReadonly: true }
- Property { name: "accuracy"; type: "double"; isReadonly: true }
- }
- Component {
- name: "QmlSensorRange"
- prototype: "QObject"
- exports: [
- "QtSensors/Range 5.0",
- "QtSensors/Range 5.1",
- "QtSensors/Range 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "minimum"; type: "int"; isReadonly: true }
- Property { name: "maximum"; type: "int"; isReadonly: true }
- }
- Component {
- name: "QmlSensorReading"
- prototype: "QObject"
- exports: [
- "QtSensors/SensorReading 5.0",
- "QtSensors/SensorReading 5.1",
- "QtSensors/SensorReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "timestamp"; type: "qulonglong"; isReadonly: true }
- }
- Component {
- name: "QmlTapSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/TapSensor 5.0",
- "QtSensors/TapSensor 5.1",
- "QtSensors/TapSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "returnDoubleTapEvents"; type: "bool" }
- Signal {
- name: "returnDoubleTapEventsChanged"
- Parameter { name: "returnDoubleTapEvents"; type: "bool" }
- }
- }
- Component {
- name: "QmlTapSensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/TapReading 5.0",
- "QtSensors/TapReading 5.1",
- "QtSensors/TapReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "tapDirection"; type: "QTapReading::TapDirection"; isReadonly: true }
- Property { name: "doubleTap"; type: "bool"; isReadonly: true }
- Signal { name: "isDoubleTapChanged" }
- }
- Component {
- name: "QmlTiltSensor"
- prototype: "QmlSensor"
- exports: [
- "QtSensors/TiltSensor 5.0",
- "QtSensors/TiltSensor 5.1",
- "QtSensors/TiltSensor 5.2"
- ]
- exportMetaObjectRevisions: [0, 0, 0]
- Method { name: "calibrate" }
- }
- Component {
- name: "QmlTiltSensorReading"
- prototype: "QmlSensorReading"
- exports: [
- "QtSensors/TiltReading 5.0",
- "QtSensors/TiltReading 5.1",
- "QtSensors/TiltReading 5.2"
- ]
- isCreatable: false
- exportMetaObjectRevisions: [0, 0, 0]
- Property { name: "yRotation"; type: "double"; isReadonly: true }
- Property { name: "xRotation"; type: "double"; isReadonly: true }
- }
-}
diff --git a/src/imports/sensors/qmlaccelerometer.h b/src/imports/sensors/qmlaccelerometer.h
deleted file mode 100644
index e04b9712..00000000
--- a/src/imports/sensors/qmlaccelerometer.h
+++ /dev/null
@@ -1,107 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLACCELEROMETER_H
-#define QMLACCELEROMETER_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QAccelerometer;
-
-class QmlAccelerometer : public QmlSensor
-{
- Q_OBJECT
- Q_ENUMS(AccelerationMode)
- Q_PROPERTY(AccelerationMode accelerationMode READ accelerationMode WRITE setAccelerationMode
- NOTIFY accelerationModeChanged REVISION 1)
-public:
- explicit QmlAccelerometer(QObject *parent = 0);
- ~QmlAccelerometer();
-
- // Keep this enum in sync with QAccelerometer::AccelerationMode
- enum AccelerationMode {
- Combined,
- Gravity,
- User
- };
-
- AccelerationMode accelerationMode() const;
- void setAccelerationMode(AccelerationMode accelerationMode);
-
-signals:
- Q_REVISION(1) void accelerationModeChanged(AccelerationMode accelerationMode);
-
-private:
- QSensor *sensor() const override;
- QAccelerometer *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlAccelerometerReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal x READ x NOTIFY xChanged)
- Q_PROPERTY(qreal y READ y NOTIFY yChanged)
- Q_PROPERTY(qreal z READ z NOTIFY zChanged)
-public:
- explicit QmlAccelerometerReading(QAccelerometer *sensor);
- ~QmlAccelerometerReading();
-
- qreal x() const;
- qreal y() const;
- qreal z() const;
-
-Q_SIGNALS:
- void xChanged();
- void yChanged();
- void zChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QAccelerometer *m_sensor;
- qreal m_x;
- qreal m_y;
- qreal m_z;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlaltimeter.cpp b/src/imports/sensors/qmlaltimeter.cpp
deleted file mode 100644
index 63c979d3..00000000
--- a/src/imports/sensors/qmlaltimeter.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmlaltimeter.h"
-#include <QtSensors/QAltimeter>
-
-/*!
- \qmltype Altimeter
- \instantiates QmlAltimeter
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits Sensor
- \brief The Altimeter element reports on altitude.
-
- The Altimeter element reports on altitude.
-
- This element wraps the QAltimeter class. Please see the documentation for
- QAltimeter for details.
-
- \sa AltimeterReading
-*/
-
-QmlAltimeter::QmlAltimeter(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QAltimeter(this))
-{
-}
-
-QmlAltimeter::~QmlAltimeter()
-{
-}
-
-QmlSensorReading *QmlAltimeter::createReading() const
-{
- return new QmlAltimeterReading(m_sensor);
-}
-
-QSensor *QmlAltimeter::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype AltimeterReading
- \instantiates QmlAltimeterReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits SensorReading
- \brief The AltimeterReading element holds the most recent Altimeter reading.
-
- The AltimeterReading element holds the most recent Altimeter reading.
-
- This element wraps the QAltimeterReading class. Please see the documentation for
- QAltimeterReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlAltimeterReading::QmlAltimeterReading(QAltimeter *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_altitude(0)
-{
-}
-
-QmlAltimeterReading::~QmlAltimeterReading()
-{
-}
-
-/*!
- \qmlproperty qreal AltimeterReading::altitude
- This property holds the altitude of the device.
-
- Please see QAltimeterReading::altitude for information about this property.
-*/
-
-qreal QmlAltimeterReading::altitude() const
-{
- return m_altitude;
-}
-
-QSensorReading *QmlAltimeterReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlAltimeterReading::readingUpdate()
-{
- qreal altitude = m_sensor->reading()->altitude();
- if (m_altitude != altitude) {
- m_altitude = altitude;
- Q_EMIT altitudeChanged();
- }
-}
diff --git a/src/imports/sensors/qmlaltimeter.h b/src/imports/sensors/qmlaltimeter.h
deleted file mode 100644
index 04938b53..00000000
--- a/src/imports/sensors/qmlaltimeter.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QMLALTIMETER_H
-#define QMLALTIMETER_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QAltimeter;
-
-class QmlAltimeter : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlAltimeter(QObject *parent = 0);
- ~QmlAltimeter();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QAltimeter *m_sensor;
-};
-
-class QmlAltimeterReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal altitude READ altitude NOTIFY altitudeChanged)
-public:
- explicit QmlAltimeterReading(QAltimeter *sensor);
- ~QmlAltimeterReading();
-
- qreal altitude() const;
-
-Q_SIGNALS:
- void altitudeChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QAltimeter *m_sensor;
- qreal m_altitude;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlambientlightsensor.h b/src/imports/sensors/qmlambientlightsensor.h
deleted file mode 100644
index 4de42f31..00000000
--- a/src/imports/sensors/qmlambientlightsensor.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLAMBIENTLIGHTSENSOR_H
-#define QMLAMBIENTLIGHTSENSOR_H
-
-#include "qmlsensor.h"
-#include <QtSensors/QAmbientLightSensor>
-
-QT_BEGIN_NAMESPACE
-
-class QAmbientLightSensor;
-
-class QmlAmbientLightSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlAmbientLightSensor(QObject *parent = 0);
- ~QmlAmbientLightSensor();
-
-private:
- QSensor *sensor() const override;
- QAmbientLightSensor *m_sensor;
- QmlSensorReading *createReading() const override;
-
-};
-
-class QmlAmbientLightSensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(QAmbientLightReading::LightLevel lightLevel READ lightLevel NOTIFY lightLevelChanged)
-public:
-
- explicit QmlAmbientLightSensorReading(QAmbientLightSensor *sensor);
- ~QmlAmbientLightSensorReading();
-
- QAmbientLightReading::LightLevel lightLevel() const;
-
-Q_SIGNALS:
- void lightLevelChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QAmbientLightSensor *m_sensor;
- QAmbientLightReading::LightLevel m_lightLevel;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlambienttemperaturesensor.cpp b/src/imports/sensors/qmlambienttemperaturesensor.cpp
deleted file mode 100644
index 1958f6d8..00000000
--- a/src/imports/sensors/qmlambienttemperaturesensor.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmlambienttemperaturesensor.h"
-#include <QtSensors/QAmbientTemperatureSensor>
-
-/*!
- \qmltype AmbientTemperatureSensor
- \instantiates QmlAmbientTemperatureSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits Sensor
- \brief The AmbientTemperatureSensor element reports on the ambient temperature.
-
- The AmbientTemperatureSensor element reports on the ambient temperature.
-
- This element wraps the QAmbientTemperatureSensor class. Please see the documentation for
- QAmbientTemperatureSensor for details.
-
- \sa AmbientTemperatureReading
-*/
-
-QmlAmbientTemperatureSensor::QmlAmbientTemperatureSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QAmbientTemperatureSensor(this))
-{
-}
-
-QmlAmbientTemperatureSensor::~QmlAmbientTemperatureSensor()
-{
-}
-
-QmlSensorReading *QmlAmbientTemperatureSensor::createReading() const
-{
- return new QmlAmbientTemperatureReading(m_sensor);
-}
-
-QSensor *QmlAmbientTemperatureSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype AmbientTemperatureReading
- \instantiates QmlAmbientTemperatureReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits SensorReading
- \brief The AmbientTemperatureReading element holds the most recent temperature reading.
-
- The AmbientTemperatureReading element holds the most recent temperature reading.
-
- This element wraps the QAmbientTemperatureReading class. Please see the documentation for
- QAmbientTemperatureReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlAmbientTemperatureReading::QmlAmbientTemperatureReading(QAmbientTemperatureSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_temperature(0)
-{
-}
-
-QmlAmbientTemperatureReading::~QmlAmbientTemperatureReading()
-{
-}
-
-/*!
- \qmlproperty qreal AmbientTemperatureReading::temperature
- This property holds the ambient temperature in degree Celsius.
-
- Please see QAmbientTemperatureReading::temperature for information about this property.
-*/
-
-qreal QmlAmbientTemperatureReading::temperature() const
-{
- return m_temperature;
-}
-
-QSensorReading *QmlAmbientTemperatureReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlAmbientTemperatureReading::readingUpdate()
-{
- const qreal temperature = m_sensor->reading()->temperature();
- if (m_temperature != temperature) {
- m_temperature = temperature;
- Q_EMIT temperatureChanged();
- }
-}
diff --git a/src/imports/sensors/qmlambienttemperaturesensor.h b/src/imports/sensors/qmlambienttemperaturesensor.h
deleted file mode 100644
index 31ec72fa..00000000
--- a/src/imports/sensors/qmlambienttemperaturesensor.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QMLAMBIENTTEMPERATURESENSOR_H
-#define QMLAMBIENTTEMPERATURESENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QAmbientTemperatureSensor;
-
-class QmlAmbientTemperatureSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlAmbientTemperatureSensor(QObject *parent = 0);
- ~QmlAmbientTemperatureSensor();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QAmbientTemperatureSensor *m_sensor;
-};
-
-class QmlAmbientTemperatureReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal temperature READ temperature NOTIFY temperatureChanged)
-public:
- explicit QmlAmbientTemperatureReading(QAmbientTemperatureSensor *sensor);
- ~QmlAmbientTemperatureReading();
-
- qreal temperature() const;
-
-Q_SIGNALS:
- void temperatureChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QAmbientTemperatureSensor *m_sensor;
- qreal m_temperature;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlcompass.cpp b/src/imports/sensors/qmlcompass.cpp
deleted file mode 100644
index 38fc388e..00000000
--- a/src/imports/sensors/qmlcompass.cpp
+++ /dev/null
@@ -1,148 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlcompass.h"
-#include <QtSensors/QCompass>
-
-/*!
- \qmltype Compass
- \instantiates QmlCompass
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits Sensor
- \brief The Compass element reports on heading using magnetic north as a reference.
-
- The Compass element reports on heading using magnetic north as a reference.
-
- This element wraps the QCompass class. Please see the documentation for
- QCompass for details.
-
- \sa CompassReading
-*/
-
-QmlCompass::QmlCompass(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QCompass(this))
-{
-}
-
-QmlCompass::~QmlCompass()
-{
-}
-
-QmlSensorReading *QmlCompass::createReading() const
-{
- return new QmlCompassReading(m_sensor);
-}
-
-QSensor *QmlCompass::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype CompassReading
- \instantiates QmlCompassReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits SensorReading
- \brief The CompassReading element holds the most recent Compass reading.
-
- The CompassReading element holds the most recent Compass reading.
-
- This element wraps the QCompassReading class. Please see the documentation for
- QCompassReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlCompassReading::QmlCompassReading(QCompass *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
-{
-}
-
-QmlCompassReading::~QmlCompassReading()
-{
-}
-
-/*!
- \qmlproperty qreal CompassReading::azimuth
- This property holds the azimuth of the device.
-
- Please see QCompassReading::azimuth for information about this property.
-*/
-
-qreal QmlCompassReading::azimuth() const
-{
- return m_azimuth;
-}
-
-/*!
- \qmlproperty qreal CompassReading::calibrationLevel
- This property holds the calibration level of the reading.
-
- Please see QCompassReading::calibrationLevel for information about this property.
-*/
-
-qreal QmlCompassReading::calibrationLevel() const
-{
- return m_calibrationLevel;
-}
-
-QSensorReading *QmlCompassReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlCompassReading::readingUpdate()
-{
- qreal azm = m_sensor->reading()->azimuth();
- if (m_azimuth != azm) {
- m_azimuth = azm;
- Q_EMIT azimuthChanged();
- }
- qreal calLevel = m_sensor->reading()->calibrationLevel();
- if (m_calibrationLevel != calLevel) {
- m_calibrationLevel = calLevel;
- Q_EMIT calibrationLevelChanged();
- }
-}
diff --git a/src/imports/sensors/qmlcompass.h b/src/imports/sensors/qmlcompass.h
deleted file mode 100644
index ef4fd22f..00000000
--- a/src/imports/sensors/qmlcompass.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLCOMPASS_H
-#define QMLCOMPASS_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QCompass;
-
-class QmlCompass : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlCompass(QObject *parent = 0);
- ~QmlCompass();
-
-
-private:
- QSensor *sensor() const override;
- QCompass *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlCompassReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal azimuth READ azimuth NOTIFY azimuthChanged)
- Q_PROPERTY(qreal calibrationLevel READ calibrationLevel NOTIFY calibrationLevelChanged)
-public:
- explicit QmlCompassReading(QCompass *sensor);
- ~QmlCompassReading();
-
- qreal azimuth() const;
- qreal calibrationLevel() const;
-
-Q_SIGNALS:
- void azimuthChanged();
- void calibrationLevelChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QCompass *m_sensor;
- qreal m_azimuth;
- qreal m_calibrationLevel;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmldir b/src/imports/sensors/qmldir
deleted file mode 100644
index 8ce4a5aa..00000000
--- a/src/imports/sensors/qmldir
+++ /dev/null
@@ -1,4 +0,0 @@
-module QtSensors
-plugin declarative_sensors
-classname QtSensorsDeclarativeModule
-typeinfo plugins.qmltypes
diff --git a/src/imports/sensors/qmldistancesensor.cpp b/src/imports/sensors/qmldistancesensor.cpp
deleted file mode 100644
index f715ae0d..00000000
--- a/src/imports/sensors/qmldistancesensor.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BlackBerry Limited. All rights reserved.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmldistancesensor.h"
-#include <QDistanceSensor>
-
-/*!
- \qmltype DistanceSensor
- \instantiates QmlDistanceSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.4
- \inherits Sensor
- \brief The DistanceSensor element reports the distance in cm from an object to the device.
-
- The DistanceSensor element reports the distance in cm from an object to the device.
-
- This element wraps the QDistanceSensor class. Please see the documentation for
- QDistanceSensor for details.
-
- \sa DistanceReading
-*/
-
-QmlDistanceSensor::QmlDistanceSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QDistanceSensor(this))
-{
-}
-
-QmlDistanceSensor::~QmlDistanceSensor()
-{
-}
-
-QmlSensorReading *QmlDistanceSensor::createReading() const
-{
- return new QmlDistanceReading(m_sensor);
-}
-
-QSensor *QmlDistanceSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype DistanceReading
- \instantiates QmlDistanceReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.4
- \inherits SensorReading
- \brief The DistanceReading element holds the most recent DistanceSensor reading.
-
- The DistanceReading element holds the most recent DistanceSensor reading.
-
- This element wraps the QDistanceReading class. Please see the documentation for
- QDistanceReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlDistanceReading::QmlDistanceReading(QDistanceSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_distance(0.0)
-{
-}
-
-QmlDistanceReading::~QmlDistanceReading()
-{
-}
-
-/*!
- \qmlproperty qreal DistanceReading::distance
- This property holds the distance measurement
-
- Please see QDistanceReading::distance for information about this property.
-*/
-
-qreal QmlDistanceReading::distance() const
-{
- return m_distance;
-}
-
-QSensorReading *QmlDistanceReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlDistanceReading::readingUpdate()
-{
- qreal distance = m_sensor->reading()->distance();
- if (m_distance != distance) {
- m_distance = distance;
- Q_EMIT distanceChanged();
- }
-}
diff --git a/src/imports/sensors/qmldistancesensor.h b/src/imports/sensors/qmldistancesensor.h
deleted file mode 100644
index e60e0e7e..00000000
--- a/src/imports/sensors/qmldistancesensor.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BlackBerry Limited. All rights reserved.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLDISTANCESENSOR_H
-#define QMLDISTANCESENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QDistanceSensor;
-
-class QmlDistanceSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlDistanceSensor(QObject *parent = 0);
- ~QmlDistanceSensor();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QDistanceSensor *m_sensor;
-};
-
-class QmlDistanceReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal distance READ distance NOTIFY distanceChanged)
-public:
- explicit QmlDistanceReading(QDistanceSensor *sensor);
- ~QmlDistanceReading();
-
- qreal distance() const;
-
-Q_SIGNALS:
- void distanceChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QDistanceSensor *m_sensor;
- qreal m_distance;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlgyroscope.cpp b/src/imports/sensors/qmlgyroscope.cpp
deleted file mode 100644
index 3f61b8d7..00000000
--- a/src/imports/sensors/qmlgyroscope.cpp
+++ /dev/null
@@ -1,164 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlgyroscope.h"
-#include <QtSensors/QGyroscope>
-
-/*!
- \qmltype Gyroscope
- \instantiates QmlGyroscope
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits Sensor
- \brief The Gyroscope element reports on rotational acceleration
- around the X, Y and Z axes.
-
- This element wraps the QGyroscope class. Please see the documentation for
- QGyroscope for details.
-
- \sa GyroscopeReading
-*/
-
-QmlGyroscope::QmlGyroscope(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QGyroscope(this))
-{
-}
-
-QmlGyroscope::~QmlGyroscope()
-{
-}
-
-QmlSensorReading *QmlGyroscope::createReading() const
-{
- return new QmlGyroscopeReading(m_sensor);
-}
-
-QSensor *QmlGyroscope::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype GyroscopeReading
- \instantiates QmlGyroscopeReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits SensorReading
- \brief The GyroscopeReading element holds the most recent Gyroscope reading.
-
- The GyroscopeReading element holds the most recent Gyroscope reading.
-
- This element wraps the QGyroscopeReading class. Please see the documentation for
- QGyroscopeReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlGyroscopeReading::QmlGyroscopeReading(QGyroscope *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
-{
-}
-
-QmlGyroscopeReading::~QmlGyroscopeReading()
-{
-}
-
-/*!
- \qmlproperty qreal GyroscopeReading::x
- This property holds the angular velocity around the x axis.
-
- Please see QGyroscopeReading::x for information about this property.
-*/
-
-qreal QmlGyroscopeReading::x() const
-{
- return m_x;
-}
-
-/*!
- \qmlproperty qreal GyroscopeReading::y
- This property holds the angular velocity around the y axis.
-
- Please see QGyroscopeReading::y for information about this property.
-*/
-
-qreal QmlGyroscopeReading::y() const
-{
- return m_y;
-}
-
-/*!
- \qmlproperty qreal GyroscopeReading::z
- This property holds the angular velocity around the z axis.
-
- Please see QGyroscopeReading::z for information about this property.
-*/
-
-qreal QmlGyroscopeReading::z() const
-{
- return m_z;
-}
-
-QSensorReading *QmlGyroscopeReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlGyroscopeReading::readingUpdate()
-{
- qreal gx = m_sensor->reading()->x();
- if (m_x != gx) {
- m_x = gx;
- Q_EMIT xChanged();
- }
- qreal gy = m_sensor->reading()->y();
- if (m_y != gy) {
- m_y = gy;
- Q_EMIT yChanged();
- }
- qreal gz = m_sensor->reading()->z();
- if (m_z != gz) {
- m_z = gz;
- Q_EMIT zChanged();
- }
-}
diff --git a/src/imports/sensors/qmlgyroscope.h b/src/imports/sensors/qmlgyroscope.h
deleted file mode 100644
index 010e4f04..00000000
--- a/src/imports/sensors/qmlgyroscope.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLGYROSCOPE_H
-#define QMLGYROSCOPE_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QGyroscope;
-
-class QmlGyroscope : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlGyroscope(QObject *parent = 0);
- ~QmlGyroscope();
-
-
-private:
- QSensor *sensor() const override;
- QGyroscope *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlGyroscopeReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal x READ x NOTIFY xChanged)
- Q_PROPERTY(qreal y READ y NOTIFY yChanged)
- Q_PROPERTY(qreal z READ z NOTIFY zChanged)
-public:
- explicit QmlGyroscopeReading(QGyroscope *sensor);
- ~QmlGyroscopeReading();
-
- qreal x() const;
- qreal y() const;
- qreal z() const;
-
-Q_SIGNALS:
- void xChanged();
- void yChanged();
- void zChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QGyroscope *m_sensor;
- qreal m_x;
- qreal m_y;
- qreal m_z;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlholstersensor.cpp b/src/imports/sensors/qmlholstersensor.cpp
deleted file mode 100644
index 704e2e97..00000000
--- a/src/imports/sensors/qmlholstersensor.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmlholstersensor.h"
-#include <QtSensors/QHolsterSensor>
-
-/*!
- \qmltype HolsterSensor
- \instantiates QmlHolsterSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits Sensor
- \brief The HolsterSensor element reports on whether a device is holstered.
-
- The HolsterSensor element reports on whether a device is holstered.
-
- This element wraps the QHolsterSensor class. Please see the documentation for
- QHolsterSensor for details.
-
- \sa HolsterReading
-*/
-
-QmlHolsterSensor::QmlHolsterSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QHolsterSensor(this))
-{
-}
-
-QmlHolsterSensor::~QmlHolsterSensor()
-{
-}
-
-QmlSensorReading *QmlHolsterSensor::createReading() const
-{
- return new QmlHolsterReading(m_sensor);
-}
-
-QSensor *QmlHolsterSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype HolsterReading
- \instantiates QmlHolsterReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits SensorReading
- \brief The HolsterReading element holds the most recent HolsterSensor reading.
-
- The HolsterReading element holds the most recent HolsterSensor reading.
-
- This element wraps the QHolsterReading class. Please see the documentation for
- QHolsterReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlHolsterReading::QmlHolsterReading(QHolsterSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_holstered(false)
-{
-}
-
-QmlHolsterReading::~QmlHolsterReading()
-{
-}
-
-/*!
- \qmlproperty qreal HolsterReading::holstered
- This property holds whether the device is holstered.
-
- Please see QHolsterReading::holstered for information about this property.
-*/
-
-bool QmlHolsterReading::holstered() const
-{
- return m_holstered;
-}
-
-QSensorReading *QmlHolsterReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlHolsterReading::readingUpdate()
-{
- const bool holstered = m_sensor->reading()->holstered();
- if (m_holstered != holstered) {
- m_holstered = holstered;
- Q_EMIT holsteredChanged();
- }
-}
diff --git a/src/imports/sensors/qmlholstersensor.h b/src/imports/sensors/qmlholstersensor.h
deleted file mode 100644
index 630d1d85..00000000
--- a/src/imports/sensors/qmlholstersensor.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QMLHOLSTERSENSOR_H
-#define QMLHOLSTERSENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QHolsterSensor;
-
-class QmlHolsterSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlHolsterSensor(QObject *parent = 0);
- ~QmlHolsterSensor();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QHolsterSensor *m_sensor;
-};
-
-class QmlHolsterReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(bool holstered READ holstered NOTIFY holsteredChanged)
-public:
- explicit QmlHolsterReading(QHolsterSensor *sensor);
- ~QmlHolsterReading();
-
- bool holstered() const;
-
-Q_SIGNALS:
- void holsteredChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QHolsterSensor *m_sensor;
- bool m_holstered;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlhumiditysensor.cpp b/src/imports/sensors/qmlhumiditysensor.cpp
deleted file mode 100644
index 3b30e972..00000000
--- a/src/imports/sensors/qmlhumiditysensor.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlhumiditysensor.h"
-#include <QtSensors/QHumiditySensor>
-
-/*!
- \qmltype HumiditySensor
- \instantiates QmlHumiditySensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.9
- \inherits Sensor
- \brief The HumiditySensor element reports on humidity.
-
- The HumiditySensor element reports on humidity.
-
- This element wraps the QHumiditySensor class. Please see the documentation for
- QHumiditySensor for details.
-
- \sa HumidityReading
-*/
-
-QmlHumiditySensor::QmlHumiditySensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QHumiditySensor(this))
-{
-}
-
-QmlHumiditySensor::~QmlHumiditySensor()
-{
-}
-
-QmlSensorReading *QmlHumiditySensor::createReading() const
-{
- return new QmlHumidityReading(m_sensor);
-}
-
-QSensor *QmlHumiditySensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype HumidityReading
- \instantiates QmlHumidityReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.9
- \inherits SensorReading
- \brief The HumidityReading element holds the most recent HumiditySensor reading.
-
- The HumidityReading element holds the most recent HumiditySensor reading.
-
- This element wraps the QHumidityReading class. Please see the documentation for
- QHumidityReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlHumidityReading::QmlHumidityReading(QHumiditySensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_relativeHumidity(0)
- , m_absoluteHumidity(0)
-{
-}
-
-QmlHumidityReading::~QmlHumidityReading()
-{
-}
-
-/*!
- \qmlproperty qreal HumidityReading::relativeHumidity
- This property holds the relative humidity as a percentage.
-
- Please see QHumidityReading::relativeHumidity for information about this property.
-*/
-
-qreal QmlHumidityReading::relativeHumidity() const
-{
- return m_relativeHumidity;
-}
-
-/*!
- \qmlproperty qreal HumidityReading::absoluteHumidity
- This property holds the absolute humidity in grams per cubic meter (g/m3).
-
- Please see QHumidityReading::absoluteHumidity for information about this property.
-*/
-
-qreal QmlHumidityReading::absoluteHumidity() const
-{
- return m_absoluteHumidity;
-}
-
-QSensorReading *QmlHumidityReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlHumidityReading::readingUpdate()
-{
- qreal humidity = m_sensor->reading()->relativeHumidity();
- if (m_relativeHumidity != humidity) {
- m_relativeHumidity = humidity;
- Q_EMIT relativeHumidityChanged();
- }
- qreal abs = m_sensor->reading()->absoluteHumidity();
- if (m_absoluteHumidity != abs) {
- m_absoluteHumidity = abs;
- Q_EMIT absoluteHumidityChanged();
- }
-}
diff --git a/src/imports/sensors/qmlhumiditysensor.h b/src/imports/sensors/qmlhumiditysensor.h
deleted file mode 100644
index a84a428e..00000000
--- a/src/imports/sensors/qmlhumiditysensor.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLHUMIDITYSENSOR_H
-#define QMLHUMIDITYSENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QHumiditySensor;
-
-class QmlHumiditySensor : public QmlSensor
-{
- Q_OBJECT
-
-public:
- explicit QmlHumiditySensor(QObject *parent = Q_NULLPTR);
- ~QmlHumiditySensor();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QHumiditySensor *m_sensor;
-};
-
-class QmlHumidityReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal relativeHumidity READ relativeHumidity NOTIFY relativeHumidityChanged)
- Q_PROPERTY(qreal absoluteHumidity READ absoluteHumidity NOTIFY absoluteHumidityChanged)
-public:
- explicit QmlHumidityReading(QHumiditySensor *sensor);
- ~QmlHumidityReading();
-
- qreal relativeHumidity() const;
- qreal absoluteHumidity() const;
-
-Q_SIGNALS:
- void relativeHumidityChanged();
- void absoluteHumidityChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QHumiditySensor *m_sensor;
- qreal m_relativeHumidity;
- qreal m_absoluteHumidity;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlirproximitysensor.cpp b/src/imports/sensors/qmlirproximitysensor.cpp
deleted file mode 100644
index 9b1e72ac..00000000
--- a/src/imports/sensors/qmlirproximitysensor.cpp
+++ /dev/null
@@ -1,129 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlirproximitysensor.h"
-#include <QtSensors/QIRProximitySensor>
-
-/*!
- \qmltype IRProximitySensor
- \instantiates QmlIRProximitySensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits Sensor
- \brief The IRProximitySensor element reports on infra-red reflectance values.
-
- This element wraps the QIRProximitySensor class. Please see the documentation for
- QIRProximitySensor for details.
-
- \sa IRProximityReading
-*/
-
-QmlIRProximitySensor::QmlIRProximitySensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QIRProximitySensor(this))
-{
-}
-
-QmlIRProximitySensor::~QmlIRProximitySensor()
-{
-}
-
-QmlSensorReading *QmlIRProximitySensor::createReading() const
-{
- return new QmlIRProximitySensorReading(m_sensor);
-}
-
-QSensor *QmlIRProximitySensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype IRProximityReading
- \instantiates QmlIRProximitySensorReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits SensorReading
- \brief The IRProximityReading element holds the most recent IR proximity reading.
-
- The IRProximityReading element holds the most recent IR proximity reading.
-
- This element wraps the QIRProximityReading class. Please see the documentation for
- QIRProximityReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlIRProximitySensorReading::QmlIRProximitySensorReading(QIRProximitySensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
-{
-}
-
-QmlIRProximitySensorReading::~QmlIRProximitySensorReading()
-{
-}
-
-/*!
- \qmlproperty qreal IRProximityReading::reflectance
- This property holds the reflectance value.
-
- Please see QIRProximityReading::reflectance for information about this property.
-*/
-
-qreal QmlIRProximitySensorReading::reflectance() const
-{
- return m_reflectance;
-}
-
-QSensorReading *QmlIRProximitySensorReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlIRProximitySensorReading::readingUpdate()
-{
- qreal fl = m_sensor->reading()->reflectance();
- if (m_reflectance != fl) {
- m_reflectance = fl;
- Q_EMIT reflectanceChanged();
- }
-}
diff --git a/src/imports/sensors/qmlirproximitysensor.h b/src/imports/sensors/qmlirproximitysensor.h
deleted file mode 100644
index 8ba1d489..00000000
--- a/src/imports/sensors/qmlirproximitysensor.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLIRPROXIMITYSENSOR_H
-#define QMLIRPROXIMITYSENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QIRProximitySensor;
-
-class QmlIRProximitySensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlIRProximitySensor(QObject *parent = 0);
- ~QmlIRProximitySensor();
-
-private:
- QSensor *sensor() const override;
- QIRProximitySensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlIRProximitySensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal reflectance READ reflectance NOTIFY reflectanceChanged)
-public:
- explicit QmlIRProximitySensorReading(QIRProximitySensor *sensor);
- ~QmlIRProximitySensorReading();
-
- qreal reflectance() const;
-
-Q_SIGNALS:
- void reflectanceChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QIRProximitySensor *m_sensor;
- qreal m_reflectance;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmllidsensor.cpp b/src/imports/sensors/qmllidsensor.cpp
deleted file mode 100644
index e6dfa4cb..00000000
--- a/src/imports/sensors/qmllidsensor.cpp
+++ /dev/null
@@ -1,149 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmllidsensor.h"
-#include <QtSensors/QLidSensor>
-
-/*!
- \qmltype LidSensor
- \instantiates QmlLidSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.9
- \inherits Sensor
- \brief The LidSensor element reports on whether a device is closed.
-
- The LidSensor element reports on whether a device is closed.
-
- This element wraps the QLidSensor class. Please see the documentation for
- QLidSensor for details.
-
- \sa LidReading
-*/
-
-QmlLidSensor::QmlLidSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QLidSensor(this))
-{
-}
-
-QmlLidSensor::~QmlLidSensor()
-{
-}
-
-QmlSensorReading *QmlLidSensor::createReading() const
-{
- return new QmlLidReading(m_sensor);
-}
-
-QSensor *QmlLidSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype LidReading
- \instantiates QmlLidReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.9
- \inherits SensorReading
- \brief The LidReading element holds the most recent LidSensor reading.
-
- The LidReading element holds the most recent LidSensor reading.
-
- This element wraps the QLidReading class. Please see the documentation for
- QLidReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlLidReading::QmlLidReading(QLidSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_backClosed(false)
- , m_frontClosed(true)
-{
-}
-
-QmlLidReading::~QmlLidReading()
-{
-}
-
-/*!
- \qmlproperty qreal LidReading::backLidClosed
- This property holds whether the back lid is closed.
-
- Please see QLidReading::backLidClosed for information about this property.
-*/
-
-bool QmlLidReading::backLidChanged() const
-{
- return m_backClosed;
-}
-
-/*!
- \qmlproperty qreal LidReading::frontLidClosed
- This property holds whether the front lid is closed.
-
- Please see QLidReading::frontLidClosed for information about this property.
-*/
-
-bool QmlLidReading::frontLidClosed() const
-{
- return m_frontClosed;
-}
-
-QSensorReading *QmlLidReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlLidReading::readingUpdate()
-{
- const bool backClosed = m_sensor->reading()->backLidClosed();
- if (m_backClosed != backClosed) {
- m_backClosed = backClosed;
- Q_EMIT backLidChanged(m_backClosed);
- }
- const bool frontClosed = m_sensor->reading()->frontLidClosed();
- if (m_frontClosed != frontClosed) {
- m_frontClosed = frontClosed;
- Q_EMIT frontLidChanged(m_frontClosed);
- }
-}
diff --git a/src/imports/sensors/qmllidsensor.h b/src/imports/sensors/qmllidsensor.h
deleted file mode 100644
index 37c2faeb..00000000
--- a/src/imports/sensors/qmllidsensor.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QMLLIDSENSOR_H
-#define QMLLIDSENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QLidSensor;
-
-class QmlLidSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlLidSensor(QObject *parent = 0);
- ~QmlLidSensor();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QLidSensor *m_sensor;
-};
-
-class QmlLidReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(bool backLidChanged READ backLidChanged NOTIFY backLidChanged)
- Q_PROPERTY(bool frontLidClosed READ frontLidClosed NOTIFY frontLidChanged)
-public:
- explicit QmlLidReading(QLidSensor *sensor);
- ~QmlLidReading();
-
- bool backLidChanged() const;
- bool frontLidClosed() const;
-
-Q_SIGNALS:
- void backLidChanged(bool closed);
- bool frontLidChanged(bool closed);
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QLidSensor *m_sensor;
- bool m_backClosed;
- bool m_frontClosed;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmllightsensor.cpp b/src/imports/sensors/qmllightsensor.cpp
deleted file mode 100644
index 2c1eb860..00000000
--- a/src/imports/sensors/qmllightsensor.cpp
+++ /dev/null
@@ -1,145 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmllightsensor.h"
-#include <QtSensors/QLightSensor>
-
-/*!
- \qmltype LightSensor
- \instantiates QmlLightSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits Sensor
- \brief The LightSensor element reports on light levels using LUX.
-
- The LightSensor element reports on light levels using LUX.
-
- This element wraps the QLightSensor class. Please see the documentation for
- QLightSensor for details.
-
- \sa LightReading
-*/
-
-QmlLightSensor::QmlLightSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QLightSensor(this))
-{
- connect(m_sensor, SIGNAL(fieldOfViewChanged(qreal)),
- this, SIGNAL(fieldOfViewChanged(qreal)));
-}
-
-QmlLightSensor::~QmlLightSensor()
-{
-}
-
-QmlSensorReading *QmlLightSensor::createReading() const
-{
- return new QmlLightSensorReading(m_sensor);
-}
-
-QSensor *QmlLightSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmlproperty qreal LightSensor::fieldOfView
- This property holds a value indicating the field of view.
-
- Please see QLightSensor::fieldOfView for information about this property.
-*/
-
-qreal QmlLightSensor::fieldOfView() const
-{
- return m_sensor->fieldOfView();
-}
-
-/*!
- \qmltype LightReading
- \instantiates QmlLightSensorReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits SensorReading
- \brief The LightReading element holds the most recent LightSensor reading.
-
- The LightReading element holds the most recent LightSensor reading.
-
- This element wraps the QLightReading class. Please see the documentation for
- QLightReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlLightSensorReading::QmlLightSensorReading(QLightSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
-{
-}
-
-QmlLightSensorReading::~QmlLightSensorReading()
-{
-}
-
-/*!
- \qmlproperty qreal LightReading::illuminance
- This property holds the light level.
-
- Please see QLightReading::illuminance for information about this property.
-*/
-
-qreal QmlLightSensorReading::illuminance() const
-{
- return m_illuminance;
-}
-
-QSensorReading *QmlLightSensorReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlLightSensorReading::readingUpdate()
-{
- qreal ill = m_sensor->reading()->lux();
- if (m_illuminance != ill) {
- m_illuminance = ill;
- Q_EMIT illuminanceChanged();
- }
-}
diff --git a/src/imports/sensors/qmllightsensor.h b/src/imports/sensors/qmllightsensor.h
deleted file mode 100644
index c77b4bfe..00000000
--- a/src/imports/sensors/qmllightsensor.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLLightSensor_H
-#define QMLLightSensor_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QLightSensor;
-
-class QmlLightSensor : public QmlSensor
-{
- Q_OBJECT
- Q_PROPERTY(qreal fieldOfView READ fieldOfView NOTIFY fieldOfViewChanged)
-public:
- explicit QmlLightSensor(QObject *parent = 0);
- ~QmlLightSensor();
-
- qreal fieldOfView() const;
-
-Q_SIGNALS:
- void fieldOfViewChanged(qreal fieldOfView);
-
-private:
- QSensor *sensor() const override;
- QLightSensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlLightSensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal illuminance READ illuminance NOTIFY illuminanceChanged)
-public:
- explicit QmlLightSensorReading(QLightSensor *sensor);
- ~QmlLightSensorReading();
-
- qreal illuminance() const;
-
-Q_SIGNALS:
- void illuminanceChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QLightSensor *m_sensor;
- qreal m_illuminance;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlmagnetometer.h b/src/imports/sensors/qmlmagnetometer.h
deleted file mode 100644
index 3c3c2bae..00000000
--- a/src/imports/sensors/qmlmagnetometer.h
+++ /dev/null
@@ -1,102 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLMAGNETOMETER_H
-#define QMLMAGNETOMETER_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QMagnetometer;
-
-class QmlMagnetometer : public QmlSensor
-{
- Q_OBJECT
- Q_PROPERTY(bool returnGeoValues READ returnGeoValues WRITE setReturnGeoValues NOTIFY returnGeoValuesChanged)
-public:
- explicit QmlMagnetometer(QObject *parent = 0);
- ~QmlMagnetometer();
-
- bool returnGeoValues() const;
- void setReturnGeoValues(bool geo);
-
-Q_SIGNALS:
- void returnGeoValuesChanged(bool returnGeoValues);
-
-private:
- QSensor *sensor() const override;
- QMagnetometer *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlMagnetometerReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal x READ x NOTIFY xChanged)
- Q_PROPERTY(qreal y READ y NOTIFY yChanged)
- Q_PROPERTY(qreal z READ z NOTIFY zChanged)
- Q_PROPERTY(qreal calibrationLevel READ calibrationLevel NOTIFY calibrationLevelChanged)
-public:
- explicit QmlMagnetometerReading(QMagnetometer *sensor);
- ~QmlMagnetometerReading();
-
- qreal x() const;
- qreal y() const;
- qreal z() const;
- qreal calibrationLevel() const;
-
-Q_SIGNALS:
- void xChanged();
- void yChanged();
- void zChanged();
- void calibrationLevelChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QMagnetometer *m_sensor;
- qreal m_x;
- qreal m_y;
- qreal m_z;
- qreal m_calibrationLevel;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlorientationsensor.h b/src/imports/sensors/qmlorientationsensor.h
deleted file mode 100644
index bdb1b1e4..00000000
--- a/src/imports/sensors/qmlorientationsensor.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLORIENTATIONSENSOR_H
-#define QMLORIENTATIONSENSOR_H
-
-#include "qmlsensor.h"
-#include <QtSensors/QOrientationSensor>
-
-QT_BEGIN_NAMESPACE
-
-class QOrientationSensor;
-
-class QmlOrientationSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlOrientationSensor(QObject *parent = 0);
- ~QmlOrientationSensor();
-
-
-private:
- QSensor *sensor() const override;
- QOrientationSensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlOrientationSensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(QOrientationReading::Orientation orientation READ orientation NOTIFY orientationChanged)
-public:
-
- explicit QmlOrientationSensorReading(QOrientationSensor *sensor);
- ~QmlOrientationSensorReading();
-
- QOrientationReading::Orientation orientation() const;
-
-Q_SIGNALS:
- void orientationChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QOrientationSensor *m_sensor;
- QOrientationReading::Orientation m_orientation;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlpressuresensor.cpp b/src/imports/sensors/qmlpressuresensor.cpp
deleted file mode 100644
index 4ef27ba7..00000000
--- a/src/imports/sensors/qmlpressuresensor.cpp
+++ /dev/null
@@ -1,151 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "qmlpressuresensor.h"
-#include <QtSensors/QPressureSensor>
-
-/*!
- \qmltype PressureSensor
- \instantiates QmlPressureSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits Sensor
- \brief The PressureSensor element reports on atmospheric pressure values.
-
- The PressureSensor element reports on atmospheric pressure values.
-
- This element wraps the QPressureSensor class. Please see the documentation for
- QPressureSensor for details.
-
- \sa PressureReading
-*/
-
-QmlPressureSensor::QmlPressureSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QPressureSensor(this))
-{
-}
-
-QmlPressureSensor::~QmlPressureSensor()
-{
-}
-
-QmlSensorReading *QmlPressureSensor::createReading() const
-{
- return new QmlPressureReading(m_sensor);
-}
-
-QSensor *QmlPressureSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype PressureReading
- \instantiates QmlPressureReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.1
- \inherits SensorReading
- \brief The PressureReading element holds the most recent PressureSensor reading.
-
- The PressureReading element holds the most recent PressureSensor reading.
-
- This element wraps the QPressureReading class. Please see the documentation for
- QPressureReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlPressureReading::QmlPressureReading(QPressureSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_pressure(0)
- , m_temperature(0)
-{
-}
-
-QmlPressureReading::~QmlPressureReading()
-{
-}
-
-/*!
- \qmlproperty qreal PressureReading::pressure
- This property holds the atmospheric pressure value in Pascals.
-
- Please see QPressureReading::pressure for information about this property.
-*/
-
-qreal QmlPressureReading::pressure() const
-{
- return m_pressure;
-}
-
-/*!
- \qmlproperty qreal PressureReading::temperature
- This property holds the pressure sensor's temperature value in degrees Celsius.
-
- Please see QPressureReading::temperature for information about this property.
- \since QtSensors 5.2
-*/
-
-qreal QmlPressureReading::temperature() const
-{
- return m_temperature;
-}
-
-QSensorReading *QmlPressureReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlPressureReading::readingUpdate()
-{
- qreal pressure = m_sensor->reading()->pressure();
- if (m_pressure != pressure) {
- m_pressure = pressure;
- Q_EMIT pressureChanged();
- }
-
- qreal temperature = m_sensor->reading()->temperature();
- if (m_temperature != temperature) {
- m_temperature = temperature;
- Q_EMIT temperatureChanged();
- }
-}
diff --git a/src/imports/sensors/qmlpressuresensor.h b/src/imports/sensors/qmlpressuresensor.h
deleted file mode 100644
index 6304d69c..00000000
--- a/src/imports/sensors/qmlpressuresensor.h
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QMLPRESSURESENSOR_H
-#define QMLPRESSURESENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QPressureSensor;
-
-class QmlPressureSensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlPressureSensor(QObject *parent = 0);
- ~QmlPressureSensor();
-
-private:
- QSensor *sensor() const override;
- QmlSensorReading *createReading() const override;
-
- QPressureSensor *m_sensor;
-};
-
-class QmlPressureReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal pressure READ pressure NOTIFY pressureChanged)
- Q_PROPERTY(qreal temperature READ temperature NOTIFY temperatureChanged REVISION 1)
-public:
- explicit QmlPressureReading(QPressureSensor *sensor);
- ~QmlPressureReading();
-
- qreal pressure() const;
- qreal temperature() const;
-
-Q_SIGNALS:
- void pressureChanged();
- Q_REVISION(1) void temperatureChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
-
- QPressureSensor *m_sensor;
- qreal m_pressure;
- qreal m_temperature;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlproximitysensor.cpp b/src/imports/sensors/qmlproximitysensor.cpp
deleted file mode 100644
index 84993574..00000000
--- a/src/imports/sensors/qmlproximitysensor.cpp
+++ /dev/null
@@ -1,131 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlproximitysensor.h"
-#include <QtSensors/QProximitySensor>
-
-/*!
- \qmltype ProximitySensor
- \instantiates QmlProximitySensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits Sensor
- \brief The ProximitySensor element reports on object proximity.
-
- The ProximitySensor element reports on object proximity.
-
- This element wraps the QProximitySensor class. Please see the documentation for
- QProximitySensor for details.
-
- \sa ProximityReading
-*/
-
-QmlProximitySensor::QmlProximitySensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QProximitySensor(this))
-{
-}
-
-QmlProximitySensor::~QmlProximitySensor()
-{
-}
-
-QmlSensorReading *QmlProximitySensor::createReading() const
-{
- return new QmlProximitySensorReading(m_sensor);
-}
-
-QSensor *QmlProximitySensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmltype ProximityReading
- \instantiates QmlProximitySensorReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits SensorReading
- \brief The ProximityReading element holds the most recent ProximitySensor reading.
-
- The ProximityReading element holds the most recent ProximitySensor reading.
-
- This element wraps the QProximityReading class. Please see the documentation for
- QProximityReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlProximitySensorReading::QmlProximitySensorReading(QProximitySensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
-{
-}
-
-QmlProximitySensorReading::~QmlProximitySensorReading()
-{
-}
-
-/*!
- \qmlproperty bool ProximityReading::near
- This property holds a value indicating if something is near.
-
- Please see QProximityReading::near for information about this property.
-*/
-
-bool QmlProximitySensorReading::near() const
-{
- return m_near;
-}
-
-QSensorReading *QmlProximitySensorReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlProximitySensorReading::readingUpdate()
-{
- bool pNear = m_sensor->reading()->close();
- if (m_near != pNear) {
- m_near = pNear;
- Q_EMIT nearChanged();
- }
-}
diff --git a/src/imports/sensors/qmlproximitysensor.h b/src/imports/sensors/qmlproximitysensor.h
deleted file mode 100644
index 8bab8cfa..00000000
--- a/src/imports/sensors/qmlproximitysensor.h
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLPROXIMITYSENSOR_H
-#define QMLPROXIMITYSENSOR_H
-
-#include "qmlsensor.h"
-#ifdef near
-#undef near
-#endif
-QT_BEGIN_NAMESPACE
-
-class QProximitySensor;
-
-class QmlProximitySensor : public QmlSensor
-{
- Q_OBJECT
-public:
- explicit QmlProximitySensor(QObject *parent = 0);
- ~QmlProximitySensor();
-
-
-private:
- QSensor *sensor() const override;
- QProximitySensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlProximitySensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(bool near READ near NOTIFY nearChanged)
-public:
- explicit QmlProximitySensorReading(QProximitySensor *sensor);
- ~QmlProximitySensorReading();
-
- bool near() const;
-
-Q_SIGNALS:
- void nearChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QProximitySensor *m_sensor;
- bool m_near;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlrotationsensor.h b/src/imports/sensors/qmlrotationsensor.h
deleted file mode 100644
index c0760ac9..00000000
--- a/src/imports/sensors/qmlrotationsensor.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLROTATIONSENSOR_H
-#define QMLROTATIONSENSOR_H
-
-#include "qmlsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-class QRotationSensor;
-
-class QmlRotationSensor : public QmlSensor
-{
- Q_OBJECT
- Q_PROPERTY(bool hasZ READ hasZ NOTIFY hasZChanged)
-public:
- explicit QmlRotationSensor(QObject *parent = 0);
- ~QmlRotationSensor();
-
- bool hasZ() const;
-
-Q_SIGNALS:
- void hasZChanged(bool hasZ);
-
-private:
- QSensor *sensor() const override;
- void _update() override;
- QRotationSensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlRotationSensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal x READ x NOTIFY xChanged)
- Q_PROPERTY(qreal y READ y NOTIFY yChanged)
- Q_PROPERTY(qreal z READ z NOTIFY zChanged)
-public:
- explicit QmlRotationSensorReading(QRotationSensor *sensor);
- ~QmlRotationSensorReading();
-
- qreal x() const;
- qreal y() const;
- qreal z() const;
-
-Q_SIGNALS:
- void xChanged();
- void yChanged();
- void zChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QRotationSensor *m_sensor;
- qreal m_x;
- qreal m_y;
- qreal m_z;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmlsensorgesture.cpp b/src/imports/sensors/qmlsensorgesture.cpp
deleted file mode 100644
index d9a51873..00000000
--- a/src/imports/sensors/qmlsensorgesture.cpp
+++ /dev/null
@@ -1,262 +0,0 @@
- /****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlsensorgesture.h"
-#include <QtSensors/qsensorgesture.h>
-#include <QtSensors/qsensorgesturemanager.h>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype SensorGesture
- \instantiates QmlSensorGesture
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \brief Provides notifications when sensor-based gestures are detected.
-
- This type provides notification when sensor gestures are triggered.
-
- The following QML code creates a "shake" and "SecondCounter" SensorGesture QML type, and
- displays the detected gesture in a text type.
-
- QtSensors.shake gesture is available with the Qt Sensors API, but the QtSensors.SecondCounter
- sensor gesture is provided as example code for the \l {Qt Sensors - SensorGesture QML Type example}
-
- \qml
- Item {
- SensorGesture {
- id: sensorGesture
- enabled: false
- gestures : ["QtSensors.shake", "QtSensors.SecondCounter"]
- onDetected:{
- detectedText.text = gesture
- }
- }
- Text {
- id: detectedText
- x:5
- y:160
- }
- }
- \endqml
-
- \l {Qt Sensor Gestures} contains a list of currently supported sensor gestures and their
- descriptions.
-
-
-*/
-QmlSensorGesture::QmlSensorGesture(QObject* parent)
- : QObject(parent)
- , isEnabled(false)
- , initDone(false)
- , sensorGesture(0)
- , sensorGestureManager(new QSensorGestureManager(this))
-{
- connect(sensorGestureManager, SIGNAL(newSensorGestureAvailable()), SIGNAL(availableGesturesChanged()));
-}
-
-QmlSensorGesture::~QmlSensorGesture()
-{
-}
-
-/*
- QQmlParserStatus interface implementation
-*/
-void QmlSensorGesture::classBegin()
-{
-}
-
-void QmlSensorGesture::componentComplete()
-{
- /*
- this is needed in the case the customer defines the type(s) and set it enabled = true
- */
- initDone = true;
- setEnabled(isEnabled);
-}
-/*
- End of QQmlParserStatus interface implementation
-*/
-
-/*!
- \qmlproperty stringlist SensorGesture::availableGestures
- This property can be used to determine all available gestures on the system.
-*/
-QStringList QmlSensorGesture::availableGestures()
-{
- return sensorGestureManager->gestureIds();
-}
-
-/*!
- \qmlproperty stringlist SensorGesture::gestures
- Set this property to a list of the gestures that the application is interested in detecting.
- This property cannot be changed while the type is enabled.
-
- The properties validGestures and invalidGestures will be set as appropriate immediately.
- To determine all available getures on the system please use the
- \l {SensorGesture::availableGestures} {availableGestures} property.
-
- \sa {QtSensorGestures Plugins}
-*/
-QStringList QmlSensorGesture::gestures() const
-{
- return gestureList;
-}
-
-void QmlSensorGesture::setGestures(const QStringList& value)
-{
- if (gestureList == value)
- return;
-
- if (initDone && enabled()) {
- qWarning() << "Cannot change gestures while running.";
- return;
- }
- gestureList = value;
- createGesture();
- Q_EMIT gesturesChanged();
-}
-
-
-/*!
- \qmlproperty stringlist SensorGesture::validGestures
- This property holds the requested gestures that were found on the system.
-*/
-QStringList QmlSensorGesture::validGestures() const
-{
- if (sensorGesture)
- return sensorGesture->validIds();
- return QStringList();
-}
-
-/*!
- \qmlproperty stringlist SensorGesture::invalidGestures
- This property holds the requested gestures that were not found on the system.
-*/
-QStringList QmlSensorGesture::invalidGestures() const
-{
- if (sensorGesture)
- return sensorGesture->invalidIds();
- return QStringList();
-}
-
-/*!
- \qmlproperty bool SensorGesture::enabled
- This property can be used to activate or deactivate the sensor gesture.
- Default value is false;
- \sa {SensorGesture::detected}, {detected}
-*/
-bool QmlSensorGesture::enabled() const
-{
- return isEnabled;
-}
-
-void QmlSensorGesture::setEnabled(bool value)
-{
- bool hasChanged = false;
- if (isEnabled != value) {
- isEnabled = value;
- hasChanged = true;
- }
- if (!initDone)
- return;
-
- if (sensorGesture) {
- if (value) {
- sensorGesture->startDetection();
- } else {
- sensorGesture->stopDetection();
- }
- }
- if (hasChanged)
- Q_EMIT enabledChanged();
-}
-
-/*!
- \qmlsignal SensorGesture::detected(string gesture)
- This signal is emitted whenever a gesture is detected.
- The gesture parameter contains the gesture that was detected.
-
- The corresponding handler is \c onDetected.
-*/
-
-/*
- private function implementation
-*/
-void QmlSensorGesture::deleteGesture()
-{
- if (sensorGesture) {
- bool emitInvalidChange = !invalidGestures().isEmpty();
- bool emitValidChange = !validGestures().isEmpty();
-
- if (sensorGesture->isActive()) {
- sensorGesture->stopDetection();
- }
- delete sensorGesture;
- sensorGesture = 0;
-
- if (emitInvalidChange) {
- Q_EMIT invalidGesturesChanged();
- }
- if (emitValidChange) {
- Q_EMIT validGesturesChanged();
- }
- }
-}
-
-void QmlSensorGesture::createGesture()
-{
- deleteGesture();
- sensorGesture = new QSensorGesture(gestureList, this);
- if (!validGestures().isEmpty()) {
- QObject::connect(sensorGesture
- , SIGNAL(detected(QString))
- , this
- , SIGNAL(detected(QString)));
- Q_EMIT validGesturesChanged();
- }
- if (!invalidGestures().isEmpty())
- Q_EMIT invalidGesturesChanged();
-}
-
-/*
- End of private function implementation
-*/
-
-QT_END_NAMESPACE
diff --git a/src/imports/sensors/qmlsensorgesture.h b/src/imports/sensors/qmlsensorgesture.h
deleted file mode 100644
index 7cd4acaa..00000000
--- a/src/imports/sensors/qmlsensorgesture.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLSENSORGESTURE_H
-#define QMLSENSORGESTURE_H
-
-#include <QQmlParserStatus>
-#include <QStringList>
-
-QT_BEGIN_NAMESPACE
-
-class QSensorGesture;
-class QSensorGestureManager;
-
-class QmlSensorGesture : public QObject, public QQmlParserStatus
-{
- Q_OBJECT
- Q_PROPERTY(QStringList availableGestures READ availableGestures NOTIFY availableGesturesChanged)
- Q_PROPERTY(QStringList gestures READ gestures WRITE setGestures NOTIFY gesturesChanged)
- Q_PROPERTY(QStringList validGestures READ validGestures NOTIFY validGesturesChanged)
- Q_PROPERTY(QStringList invalidGestures READ invalidGestures NOTIFY invalidGesturesChanged)
- Q_PROPERTY(bool enabled READ enabled WRITE setEnabled NOTIFY enabledChanged)
- Q_INTERFACES(QQmlParserStatus)
-
-public:
- explicit QmlSensorGesture(QObject* parent = 0);
- ~QmlSensorGesture();
- void classBegin() override;
- void componentComplete() override;
-
-Q_SIGNALS:
- void detected(const QString &gesture);
- void availableGesturesChanged();
- void gesturesChanged();
- void validGesturesChanged();
- void invalidGesturesChanged();
- void enabledChanged();
-
-public:
- QStringList availableGestures();
- QStringList gestures() const;
- void setGestures(const QStringList& value);
- bool enabled() const;
- void setEnabled(bool value);
- QStringList validGestures() const;
- QStringList invalidGestures() const;
-
-private:
- void deleteGesture();
- void createGesture();
-
-private:
- QStringList gestureIds;
- bool isEnabled;
- bool initDone;
- QStringList gestureList;
-
- QSensorGesture* sensorGesture;
- QSensorGestureManager* sensorGestureManager;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/imports/sensors/qmlsensorglobal.cpp b/src/imports/sensors/qmlsensorglobal.cpp
deleted file mode 100644
index c2a67e85..00000000
--- a/src/imports/sensors/qmlsensorglobal.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlsensorglobal.h"
-#include <QtSensors/QSensor>
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \qmltype QmlSensors
- \instantiates QmlSensorGlobal
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \brief The QmlSensors singleton provides the module API.
-
- The QmlSensors singleton provides the module API.
-
- This element cannot be directly created. It can only be accessed via a namespace import.
-
- \code
- import QtSensors 5.11
- import QtSensors 5.11 as Sensors
- ...
- Component.onCompleted: {
- var types = Sensors.QmlSensors.sensorTypes();
- console.log(types.join(", "));
- }
- \endcode
-*/
-
-QmlSensorGlobal::QmlSensorGlobal(QObject *parent)
- : QObject(parent)
- , m_sensor(new QSensor(QByteArray(), this))
-{
- connect(m_sensor, SIGNAL(availableSensorsChanged()), this, SIGNAL(availableSensorsChanged()));
-}
-
-QmlSensorGlobal::~QmlSensorGlobal()
-{
-}
-
-/*!
- \qmlmethod list<string> QmlSensors::sensorTypes()
- Returns a list of the sensor types that have been registered.
-
- Please see QSensor::sensorTypes() for information.
-*/
-QStringList QmlSensorGlobal::sensorTypes() const
-{
- QStringList ret;
- const QList<QByteArray> sensorTypes = QSensor::sensorTypes();
- ret.reserve(sensorTypes.count());
- foreach (const QByteArray &type, sensorTypes)
- ret << QString::fromLocal8Bit(type);
- return ret;
-}
-
-/*!
- \qmlmethod list<string> QmlSensors::sensorsForType(type)
- Returns a list of the sensor identifiers that have been registered for \a type.
-
- Please see QSensor::sensorsForType() for information.
-*/
-QStringList QmlSensorGlobal::sensorsForType(const QString &type) const
-{
- QStringList ret;
- const QList<QByteArray> sensors = QSensor::sensorsForType(type.toLocal8Bit());
- ret.reserve(sensors.count());
- foreach (const QByteArray &identifier, sensors)
- ret << QString::fromLocal8Bit(identifier);
- return ret;
-}
-
-/*!
- \qmlmethod string QmlSensors::defaultSensorForType(type)
- Returns the default sensor identifier that has been registered for \a type.
-
- Please see QSensor::defaultSensorForType() for information.
-*/
-QString QmlSensorGlobal::defaultSensorForType(const QString &type) const
-{
- return QString::fromLocal8Bit(QSensor::defaultSensorForType(type.toLocal8Bit()));
-}
-
-QT_END_NAMESPACE
diff --git a/src/imports/sensors/qmlsensorglobal.h b/src/imports/sensors/qmlsensorglobal.h
deleted file mode 100644
index b6524cd2..00000000
--- a/src/imports/sensors/qmlsensorglobal.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLSENSORGLOBAL_H
-#define QMLSENSORGLOBAL_H
-
-#include <QObject>
-#include <QStringList>
-
-QT_BEGIN_NAMESPACE
-
-class QSensor;
-
-class QmlSensorGlobal : public QObject
-{
- Q_OBJECT
-public:
- explicit QmlSensorGlobal(QObject *parent = 0);
- ~QmlSensorGlobal();
-
- Q_INVOKABLE QStringList sensorTypes() const;
- Q_INVOKABLE QStringList sensorsForType(const QString &type) const;
- Q_INVOKABLE QString defaultSensorForType(const QString &type) const;
-
-Q_SIGNALS:
- void availableSensorsChanged();
-
-private:
- QSensor *m_sensor;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/imports/sensors/qmlsensorrange.cpp b/src/imports/sensors/qmlsensorrange.cpp
deleted file mode 100644
index 128f4a65..00000000
--- a/src/imports/sensors/qmlsensorrange.cpp
+++ /dev/null
@@ -1,88 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlsensorrange.h"
-
-QmlSensorRange::QmlSensorRange(QObject *parent)
- : QObject(parent),
- min(0),
- max(0)
-{
-}
-
-QmlSensorRange::~QmlSensorRange()
-{
-}
-
-int QmlSensorRange::minimum() const
-{
- return min;
-}
-
-int QmlSensorRange::maximum() const
-{
- return max;
-}
-
-QmlSensorOutputRange::QmlSensorOutputRange(QObject *parent)
- : QObject(parent),
- min(0),
- max(0),
- acc(0)
-{
-}
-
-QmlSensorOutputRange::~QmlSensorOutputRange()
-{
-}
-
-qreal QmlSensorOutputRange::minimum() const
-{
- return min;
-}
-
-qreal QmlSensorOutputRange::maximum() const
-{
- return max;
-}
-
-qreal QmlSensorOutputRange::accuracy() const
-{
- return acc;
-}
diff --git a/src/imports/sensors/qmlsensorrange.h b/src/imports/sensors/qmlsensorrange.h
deleted file mode 100644
index 4c638f6f..00000000
--- a/src/imports/sensors/qmlsensorrange.h
+++ /dev/null
@@ -1,94 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLSENSORRANGE_H
-#define QMLSENSORRANGE_H
-
-#include <QObject>
-
-QT_BEGIN_NAMESPACE
-
-class QmlSensorRange : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(int minimum READ minimum)
- Q_PROPERTY(int maximum READ maximum)
-public:
- explicit QmlSensorRange(QObject *parent = 0);
- ~QmlSensorRange();
-
- int minimum() const;
- void setMinumum(int mini) { min = mini; }
-
- int maximum() const;
- void setMaximum(int maxi) { max = maxi; }
-
-private:
-
- int min;
- int max;
-};
-
-class QmlSensorOutputRange : public QObject
-{
- Q_OBJECT
- Q_PROPERTY(qreal minimum READ minimum)
- Q_PROPERTY(qreal maximum READ maximum)
- Q_PROPERTY(qreal accuracy READ accuracy)
-public:
- explicit QmlSensorOutputRange(QObject *parent = 0);
- ~QmlSensorOutputRange();
-
- qreal minimum() const;
- void setMinimum(int mini) { min = mini; }
-
- qreal maximum() const;
- void setMaximum(int maxi) { max = maxi; }
-
- qreal accuracy() const;
- void setAccuracy(int accu) { acc = accu; }
-
-private:
- qreal min;
- qreal max;
- qreal acc;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmltapsensor.h b/src/imports/sensors/qmltapsensor.h
deleted file mode 100644
index 260cb2c2..00000000
--- a/src/imports/sensors/qmltapsensor.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLTAPSENSOR_H
-#define QMLTAPSENSOR_H
-
-#include "qmlsensor.h"
-#include <QtSensors/QTapSensor>
-
-QT_BEGIN_NAMESPACE
-
-class QTapSensor;
-
-class QmlTapSensor : public QmlSensor
-{
- Q_OBJECT
- Q_PROPERTY(bool returnDoubleTapEvents READ returnDoubleTapEvents WRITE setReturnDoubleTapEvents NOTIFY returnDoubleTapEventsChanged)
-public:
- explicit QmlTapSensor(QObject *parent = 0);
- ~QmlTapSensor();
-
- bool returnDoubleTapEvents() const;
- void setReturnDoubleTapEvents(bool ret);
-
-Q_SIGNALS:
- void returnDoubleTapEventsChanged(bool returnDoubleTapEvents);
-
-private:
- QSensor *sensor() const override;
- QTapSensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlTapSensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(QTapReading::TapDirection tapDirection READ tapDirection NOTIFY tapDirectionChanged)
- Q_PROPERTY(bool doubleTap READ isDoubleTap NOTIFY isDoubleTapChanged)
-public:
-
- explicit QmlTapSensorReading(QTapSensor *sensor);
- ~QmlTapSensorReading();
-
- QTapReading::TapDirection tapDirection() const;
- bool isDoubleTap() const;
-
-Q_SIGNALS:
- void tapDirectionChanged();
- void isDoubleTapChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QTapSensor *m_sensor;
- QTapReading::TapDirection m_tapDirection;
- bool m_isDoubleTap;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/qmltiltsensor.cpp b/src/imports/sensors/qmltiltsensor.cpp
deleted file mode 100644
index 6129a5c9..00000000
--- a/src/imports/sensors/qmltiltsensor.cpp
+++ /dev/null
@@ -1,163 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmltiltsensor.h"
-#include <QtSensors/qtiltsensor.h>
-
-QT_BEGIN_NAMESPACE
-QT_END_NAMESPACE
-
-/*!
- \qmltype TiltSensor
- \instantiates QmlTiltSensor
- \ingroup qml-sensors_type
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits Sensor
- \brief The TiltSensor element reports tilt events
- along the X and Y axes.
-
- The TiltSensor element reports tilt events along the X and Y axes.
-
- This element wraps the QTiltSensor class. Please see the documentation for
- QTiltSensor for details.
-
- \sa TiltReading
-*/
-
-QmlTiltSensor::QmlTiltSensor(QObject *parent)
- : QmlSensor(parent)
- , m_sensor(new QTiltSensor(this))
-{
-}
-
-QmlTiltSensor::~QmlTiltSensor()
-{
-}
-
-QmlSensorReading *QmlTiltSensor::createReading() const
-{
- return new QmlTiltSensorReading(m_sensor);
-}
-
-QSensor *QmlTiltSensor::sensor() const
-{
- return m_sensor;
-}
-
-/*!
- \qmlmethod TiltSensor::calibrate()
- Calibrate the tilt sensor.
-
- Please see QTiltSensor::calibrate() for information about this property.
-*/
-void QmlTiltSensor::calibrate()
-{
- m_sensor->calibrate();
-}
-
-/*!
- \qmltype TiltReading
- \instantiates QmlTiltSensorReading
- \ingroup qml-sensors_reading
- \inqmlmodule QtSensors
- \since QtSensors 5.0
- \inherits SensorReading
- \brief The TiltReading element holds the most recent TiltSensor reading.
-
- The TiltReading element holds the most recent TiltSensor reading.
-
- This element wraps the QTiltReading class. Please see the documentation for
- QTiltReading for details.
-
- This element cannot be directly created.
-*/
-
-QmlTiltSensorReading::QmlTiltSensorReading(QTiltSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
-{
-}
-
-QmlTiltSensorReading::~QmlTiltSensorReading()
-{
-}
-
-/*!
- \qmlproperty qreal TiltReading::yRotation
- This property holds the amount of tilt on the Y axis.
-
- Please see QTiltReading::yRotation for information about this property.
-*/
-
-qreal QmlTiltSensorReading::yRotation() const
-{
- return m_yRotation;
-}
-
-/*!
- \qmlproperty qreal TiltReading::xRotation
- This property holds the amount of tilt on the X axis.
-
- Please see QTiltReading::xRotation for information about this property.
-*/
-
-qreal QmlTiltSensorReading::xRotation() const
-{
- return m_xRotation;
-}
-
-QSensorReading *QmlTiltSensorReading::reading() const
-{
- return m_sensor->reading();
-}
-
-void QmlTiltSensorReading::readingUpdate()
-{
- qreal tiltY = m_sensor->reading()->yRotation();
- if (m_yRotation != tiltY) {
- m_yRotation = tiltY;
- Q_EMIT yRotationChanged();
- }
- qreal tiltX = m_sensor->reading()->xRotation();
- if (m_xRotation != tiltX) {
- m_xRotation = tiltX;
- Q_EMIT xRotationChanged();
- }
-}
diff --git a/src/imports/sensors/qmltiltsensor.h b/src/imports/sensors/qmltiltsensor.h
deleted file mode 100644
index c922cb8c..00000000
--- a/src/imports/sensors/qmltiltsensor.h
+++ /dev/null
@@ -1,90 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLTILTSENSOR_H
-#define QMLTILTSENSOR_H
-
-#include "qmlsensor.h"
-#include <QtSensors/QTiltSensor>
-
-QT_BEGIN_NAMESPACE
-
-class QTiltSensor;
-
-class QmlTiltSensor : public QmlSensor
-{
- Q_OBJECT
-public:
-
- explicit QmlTiltSensor(QObject *parent = 0);
- ~QmlTiltSensor();
- Q_INVOKABLE void calibrate();
-
-private:
- QSensor *sensor() const override;
- QTiltSensor *m_sensor;
- QmlSensorReading *createReading() const override;
-};
-
-class QmlTiltSensorReading : public QmlSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal yRotation READ yRotation NOTIFY yRotationChanged)
- Q_PROPERTY(qreal xRotation READ xRotation NOTIFY xRotationChanged)
-public:
- explicit QmlTiltSensorReading(QTiltSensor *sensor);
- ~QmlTiltSensorReading();
-
- qreal yRotation() const;
- qreal xRotation() const;
-
-Q_SIGNALS:
- void yRotationChanged();
- void xRotationChanged();
-
-private:
- QSensorReading *reading() const override;
- void readingUpdate() override;
- QTiltSensor *m_sensor;
- qreal m_yRotation;
- qreal m_xRotation;
-};
-
-QT_END_NAMESPACE
-#endif
diff --git a/src/imports/sensors/sensors.cpp b/src/imports/sensors/sensors.cpp
deleted file mode 100644
index ce80a45c..00000000
--- a/src/imports/sensors/sensors.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtQml/qqmlextensionplugin.h>
-#include <QtQml/qqml.h>
-#include <QtSensors/QSensorManager>
-
-#include <QtSensors/qaccelerometer.h>
-#include <QtSensors/qaltimeter.h>
-#include <QtSensors/qambientlightsensor.h>
-#include <QtSensors/qambienttemperaturesensor.h>
-#include <QtSensors/qcompass.h>
-#include <QtSensors/qdistancesensor.h>
-#include <QtSensors/qhumiditysensor.h>
-#include <QtSensors/qmagnetometer.h>
-#include <QtSensors/qorientationsensor.h>
-#include <QtSensors/qproximitysensor.h>
-#include <QtSensors/qrotationsensor.h>
-#include <QtSensors/qtapsensor.h>
-#include <QtSensors/qlightsensor.h>
-#include <QtSensors/qgyroscope.h>
-#include <QtSensors/qirproximitysensor.h>
-#include <QtSensors/qtiltsensor.h>
-#include <QtSensors/qlidsensor.h>
-
-#include "qmlsensorglobal.h"
-#include "qmlsensor.h"
-#include "qmlaccelerometer.h"
-#include "qmlaltimeter.h"
-#include "qmlambientlightsensor.h"
-#include "qmlambienttemperaturesensor.h"
-#include "qmlcompass.h"
-#include "qmldistancesensor.h"
-#include "qmlgyroscope.h"
-#include "qmlholstersensor.h"
-#include "qmlhumiditysensor.h"
-#include "qmlirproximitysensor.h"
-#include "qmllightsensor.h"
-#include "qmlmagnetometer.h"
-#include "qmlorientationsensor.h"
-#include "qmlpressuresensor.h"
-#include "qmlproximitysensor.h"
-#include "qmlrotationsensor.h"
-#include "qmltapsensor.h"
-#include "qmltiltsensor.h"
-#include "qmlsensorgesture.h"
-#include "qmllidsensor.h"
-
-QT_BEGIN_NAMESPACE
-
-static QObject *global_object_50(QQmlEngine *, QJSEngine *)
-{
- return new QmlSensorGlobal;
-}
-
-class QtSensorsDeclarativeModule : public QQmlExtensionPlugin
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID QQmlExtensionInterface_iid FILE "plugin.json")
-public:
- QtSensorsDeclarativeModule(QObject *parent = 0) : QQmlExtensionPlugin(parent) { }
- void registerTypes(const char *uri) override
- {
- char const * const package = "QtSensors";
- if (QLatin1String(uri) != QLatin1String(package)) return;
- int major;
- int minor;
-
- // Register the 5.0 interfaces
- major = 5;
- minor = 0;
- qmlRegisterSingletonType <QmlSensorGlobal >(package, major, minor, "QmlSensors", global_object_50);
- qmlRegisterUncreatableType<QmlSensorRange >(package, major, minor, "Range", QLatin1String("Cannot create Range"));
- qmlRegisterUncreatableType<QmlSensorOutputRange >(package, major, minor, "OutputRange", QLatin1String("Cannot create OutputRange"));
- qmlRegisterUncreatableType<QmlSensor >(package, major, minor, "Sensor", QLatin1String("Cannot create Sensor"));
- qmlRegisterUncreatableType<QmlSensorReading >(package, major, minor, "SensorReading", QLatin1String("Cannot create SensorReading"));
- qmlRegisterType <QmlAccelerometer >(package, major, minor, "Accelerometer");
- qmlRegisterUncreatableType<QmlAccelerometerReading >(package, major, minor, "AccelerometerReading", QLatin1String("Cannot create AccelerometerReading"));
- qmlRegisterType <QmlAmbientLightSensor >(package, major, minor, "AmbientLightSensor");
- qmlRegisterUncreatableType<QmlAmbientLightSensorReading>(package, major, minor, "AmbientLightReading", QLatin1String("Cannot create AmbientLightReading"));
- qmlRegisterType <QmlCompass >(package, major, minor, "Compass");
- qmlRegisterUncreatableType<QmlCompassReading >(package, major, minor, "CompassReading", QLatin1String("Cannot create CompassReading"));
- qmlRegisterType <QmlGyroscope >(package, major, minor, "Gyroscope");
- qmlRegisterUncreatableType<QmlGyroscopeReading >(package, major, minor, "GyroscopeReading", QLatin1String("Cannot create GyroscopeReading"));
- qmlRegisterType <QmlIRProximitySensor >(package, major, minor, "IRProximitySensor");
- qmlRegisterUncreatableType<QmlIRProximitySensorReading >(package, major, minor, "IRProximityReading", QLatin1String("Cannot create IRProximityReading"));
- qmlRegisterType <QmlLightSensor >(package, major, minor, "LightSensor");
- qmlRegisterUncreatableType<QmlLightSensorReading >(package, major, minor, "LightReading", QLatin1String("Cannot create LightReading"));
- qmlRegisterType <QmlMagnetometer >(package, major, minor, "Magnetometer");
- qmlRegisterUncreatableType<QmlMagnetometerReading >(package, major, minor, "MagnetometerReading", QLatin1String("Cannot create MagnetometerReading"));
- qmlRegisterType <QmlOrientationSensor >(package, major, minor, "OrientationSensor");
- qmlRegisterUncreatableType<QmlOrientationSensorReading >(package, major, minor, "OrientationReading", QLatin1String("Cannot create OrientationReading"));
- qmlRegisterType <QmlProximitySensor >(package, major, minor, "ProximitySensor");
- qmlRegisterUncreatableType<QmlProximitySensorReading >(package, major, minor, "ProximityReading", QLatin1String("Cannot create ProximityReading"));
- qmlRegisterType <QmlRotationSensor >(package, major, minor, "RotationSensor");
- qmlRegisterUncreatableType<QmlRotationSensorReading >(package, major, minor, "RotationReading", QLatin1String("Cannot create RotationReading"));
- qmlRegisterType <QmlTapSensor >(package, major, minor, "TapSensor");
- qmlRegisterUncreatableType<QmlTapSensorReading >(package, major, minor, "TapReading", QLatin1String("Cannot create TapReading"));
- qmlRegisterType <QmlTiltSensor >(package, major, minor, "TiltSensor");
- qmlRegisterUncreatableType<QmlTiltSensorReading >(package, major, minor, "TiltReading", QLatin1String("Cannot create TiltReading"));
-
- qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture");
-
- // Register the 5.1 interfaces
- minor = 1;
- qmlRegisterSingletonType <QmlSensorGlobal >(package, major, minor, "QmlSensors", global_object_50);
- qmlRegisterUncreatableType<QmlSensorRange >(package, major, minor, "Range", QLatin1String("Cannot create Range"));
- qmlRegisterUncreatableType<QmlSensorOutputRange >(package, major, minor, "OutputRange", QLatin1String("Cannot create OutputRange"));
- qmlRegisterUncreatableType<QmlSensor,1 >(package, major, minor, "Sensor", QLatin1String("Cannot create Sensor"));
- qmlRegisterUncreatableType<QmlSensorReading >(package, major, minor, "SensorReading", QLatin1String("Cannot create SensorReading"));
- qmlRegisterType <QmlAccelerometer,1 >(package, major, minor, "Accelerometer");
- qmlRegisterUncreatableType<QmlAccelerometerReading >(package, major, minor, "AccelerometerReading", QLatin1String("Cannot create AccelerometerReading"));
- qmlRegisterType <QmlAltimeter >(package, major, minor, "Altimeter");
- qmlRegisterUncreatableType<QmlAltimeterReading >(package, major, minor, "AltimeterReading", QLatin1String("Cannot create AltimeterReading"));
- qmlRegisterType <QmlAmbientLightSensor >(package, major, minor, "AmbientLightSensor");
- qmlRegisterUncreatableType<QmlAmbientLightSensorReading>(package, major, minor, "AmbientLightReading", QLatin1String("Cannot create AmbientLightReading"));
- qmlRegisterType <QmlAmbientTemperatureSensor >(package, major, minor, "AmbientTemperatureSensor");
- qmlRegisterUncreatableType<QmlAmbientTemperatureReading>(package, major, minor, "AmbientTemperatureReading", QLatin1String("Cannot create AmbientTemperatureReading"));
- qmlRegisterType <QmlCompass >(package, major, minor, "Compass");
- qmlRegisterUncreatableType<QmlCompassReading >(package, major, minor, "CompassReading", QLatin1String("Cannot create CompassReading"));
- qmlRegisterType <QmlGyroscope >(package, major, minor, "Gyroscope");
- qmlRegisterUncreatableType<QmlGyroscopeReading >(package, major, minor, "GyroscopeReading", QLatin1String("Cannot create GyroscopeReading"));
- qmlRegisterType <QmlHolsterSensor >(package, major, minor, "HolsterSensor");
- qmlRegisterUncreatableType<QmlHolsterReading >(package, major, minor, "HolsterReading", QLatin1String("Cannot create HolsterReading"));
- qmlRegisterType <QmlIRProximitySensor >(package, major, minor, "IRProximitySensor");
- qmlRegisterUncreatableType<QmlIRProximitySensorReading >(package, major, minor, "IRProximityReading", QLatin1String("Cannot create IRProximityReading"));
- qmlRegisterType <QmlLightSensor >(package, major, minor, "LightSensor");
- qmlRegisterUncreatableType<QmlLightSensorReading >(package, major, minor, "LightReading", QLatin1String("Cannot create LightReading"));
- qmlRegisterType <QmlMagnetometer >(package, major, minor, "Magnetometer");
- qmlRegisterUncreatableType<QmlMagnetometerReading >(package, major, minor, "MagnetometerReading", QLatin1String("Cannot create MagnetometerReading"));
- qmlRegisterType <QmlOrientationSensor >(package, major, minor, "OrientationSensor");
- qmlRegisterUncreatableType<QmlOrientationSensorReading >(package, major, minor, "OrientationReading", QLatin1String("Cannot create OrientationReading"));
- qmlRegisterType <QmlPressureSensor >(package, major, minor, "PressureSensor");
- qmlRegisterUncreatableType<QmlPressureReading >(package, major, minor, "PressureReading", QLatin1String("Cannot create PressureReading"));
- qmlRegisterType <QmlProximitySensor >(package, major, minor, "ProximitySensor");
- qmlRegisterUncreatableType<QmlProximitySensorReading >(package, major, minor, "ProximityReading", QLatin1String("Cannot create ProximityReading"));
- qmlRegisterType <QmlRotationSensor >(package, major, minor, "RotationSensor");
- qmlRegisterUncreatableType<QmlRotationSensorReading >(package, major, minor, "RotationReading", QLatin1String("Cannot create RotationReading"));
- qmlRegisterType <QmlTapSensor >(package, major, minor, "TapSensor");
- qmlRegisterUncreatableType<QmlTapSensorReading >(package, major, minor, "TapReading", QLatin1String("Cannot create TapReading"));
- qmlRegisterType <QmlTiltSensor >(package, major, minor, "TiltSensor");
- qmlRegisterUncreatableType<QmlTiltSensorReading >(package, major, minor, "TiltReading", QLatin1String("Cannot create TiltReading"));
-
- qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture");
-
- // Register the 5.2 interfaces
- minor = 2;
- qmlRegisterSingletonType <QmlSensorGlobal >(package, major, minor, "QmlSensors", global_object_50);
- qmlRegisterUncreatableType<QmlSensorRange >(package, major, minor, "Range", QLatin1String("Cannot create Range"));
- qmlRegisterUncreatableType<QmlSensorOutputRange >(package, major, minor, "OutputRange", QLatin1String("Cannot create OutputRange"));
- qmlRegisterUncreatableType<QmlSensor,1 >(package, major, minor, "Sensor", QLatin1String("Cannot create Sensor"));
- qmlRegisterUncreatableType<QmlSensorReading >(package, major, minor, "SensorReading", QLatin1String("Cannot create SensorReading"));
- qmlRegisterType <QmlAccelerometer,1 >(package, major, minor, "Accelerometer");
- qmlRegisterUncreatableType<QmlAccelerometerReading >(package, major, minor, "AccelerometerReading", QLatin1String("Cannot create AccelerometerReading"));
- qmlRegisterType <QmlAltimeter >(package, major, minor, "Altimeter");
- qmlRegisterUncreatableType<QmlAltimeterReading >(package, major, minor, "AltimeterReading", QLatin1String("Cannot create AltimeterReading"));
- qmlRegisterType <QmlAmbientLightSensor >(package, major, minor, "AmbientLightSensor");
- qmlRegisterUncreatableType<QmlAmbientLightSensorReading>(package, major, minor, "AmbientLightReading", QLatin1String("Cannot create AmbientLightReading"));
- qmlRegisterType <QmlAmbientTemperatureSensor >(package, major, minor, "AmbientTemperatureSensor");
- qmlRegisterUncreatableType<QmlAmbientTemperatureReading>(package, major, minor, "AmbientTemperatureReading", QLatin1String("Cannot create AmbientTemperatureReading"));
- qmlRegisterType <QmlCompass >(package, major, minor, "Compass");
- qmlRegisterUncreatableType<QmlCompassReading >(package, major, minor, "CompassReading", QLatin1String("Cannot create CompassReading"));
- qmlRegisterType <QmlGyroscope >(package, major, minor, "Gyroscope");
- qmlRegisterUncreatableType<QmlGyroscopeReading >(package, major, minor, "GyroscopeReading", QLatin1String("Cannot create GyroscopeReading"));
- qmlRegisterType <QmlHolsterSensor >(package, major, minor, "HolsterSensor");
- qmlRegisterUncreatableType<QmlHolsterReading >(package, major, minor, "HolsterReading", QLatin1String("Cannot create HolsterReading"));
- qmlRegisterType <QmlIRProximitySensor >(package, major, minor, "IRProximitySensor");
- qmlRegisterUncreatableType<QmlIRProximitySensorReading >(package, major, minor, "IRProximityReading", QLatin1String("Cannot create IRProximityReading"));
- qmlRegisterType <QmlLightSensor >(package, major, minor, "LightSensor");
- qmlRegisterUncreatableType<QmlLightSensorReading >(package, major, minor, "LightReading", QLatin1String("Cannot create LightReading"));
- qmlRegisterType <QmlMagnetometer >(package, major, minor, "Magnetometer");
- qmlRegisterUncreatableType<QmlMagnetometerReading >(package, major, minor, "MagnetometerReading", QLatin1String("Cannot create MagnetometerReading"));
- qmlRegisterType <QmlOrientationSensor >(package, major, minor, "OrientationSensor");
- qmlRegisterUncreatableType<QmlOrientationSensorReading >(package, major, minor, "OrientationReading", QLatin1String("Cannot create OrientationReading"));
- qmlRegisterType <QmlPressureSensor >(package, major, minor, "PressureSensor");
- qmlRegisterUncreatableType<QmlPressureReading,1 >(package, major, minor, "PressureReading", QLatin1String("Cannot create PressureReading"));
- qmlRegisterType <QmlProximitySensor >(package, major, minor, "ProximitySensor");
- qmlRegisterUncreatableType<QmlProximitySensorReading >(package, major, minor, "ProximityReading", QLatin1String("Cannot create ProximityReading"));
- qmlRegisterType <QmlRotationSensor >(package, major, minor, "RotationSensor");
- qmlRegisterUncreatableType<QmlRotationSensorReading >(package, major, minor, "RotationReading", QLatin1String("Cannot create RotationReading"));
- qmlRegisterType <QmlTapSensor >(package, major, minor, "TapSensor");
- qmlRegisterUncreatableType<QmlTapSensorReading >(package, major, minor, "TapReading", QLatin1String("Cannot create TapReading"));
- qmlRegisterType <QmlTiltSensor >(package, major, minor, "TiltSensor");
- qmlRegisterUncreatableType<QmlTiltSensorReading >(package, major, minor, "TiltReading", QLatin1String("Cannot create TiltReading"));
-
- qmlRegisterType <QmlSensorGesture >(package, major, minor, "SensorGesture");
-
- // Register the 5.4 interfaces
- minor = 4;
- qmlRegisterType <QmlDistanceSensor >(package, major, minor, "DistanceSensor");
- qmlRegisterUncreatableType<QmlDistanceReading >(package, major, minor, "DistanceReading", QLatin1String("Cannot create DistanceReading"));
-
- // Register the new 5.9 interfaces
- // Implicitly registers 5.3 - 5.8 too
- minor = 9;
- qmlRegisterType <QmlLidSensor >(package, major, minor, "LidSensor");
- qmlRegisterUncreatableType<QmlLidReading >(package, major, minor, "LidReading", QLatin1String("Cannot create LidReading"));
- qmlRegisterType <QmlHumiditySensor >(package, major, minor, "HumiditySensor");
- qmlRegisterUncreatableType<QmlHumidityReading >(package, major, minor, "HumidityReading", QLatin1String("Cannot create HumidityReading"));
-
- // Register the latest Qt version as QML type version
- qmlRegisterModule(package, QT_VERSION_MAJOR, QT_VERSION_MINOR);
- }
-};
-
-QT_END_NAMESPACE
-
-#include "sensors.moc"
diff --git a/src/imports/sensors/sensors.pro b/src/imports/sensors/sensors.pro
deleted file mode 100644
index d6279168..00000000
--- a/src/imports/sensors/sensors.pro
+++ /dev/null
@@ -1,56 +0,0 @@
-QT += qml sensors sensors-private
-
-HEADERS += \
- qmlsensor.h \
- qmlsensorrange.h \
- qmlaccelerometer.h \
- qmlaltimeter.h \
- qmlambientlightsensor.h \
- qmlambienttemperaturesensor.h \
- qmlcompass.h \
- qmldistancesensor.h \
- qmlgyroscope.h \
- qmlholstersensor.h \
- qmlirproximitysensor.h \
- qmllightsensor.h \
- qmlmagnetometer.h \
- qmlorientationsensor.h \
- qmlpressuresensor.h\
- qmlproximitysensor.h \
- qmltapsensor.h \
- qmlrotationsensor.h \
- qmlsensorglobal.h \
- qmltiltsensor.h \
- qmlsensorgesture.h \
- qmlhumiditysensor.h \
- qmllidsensor.h
-
-SOURCES += sensors.cpp \
- qmlsensor.cpp \
- qmlsensorrange.cpp \
- qmlaccelerometer.cpp \
- qmlaltimeter.cpp \
- qmlambientlightsensor.cpp \
- qmlambienttemperaturesensor.cpp \
- qmlcompass.cpp \
- qmldistancesensor.cpp \
- qmlgyroscope.cpp \
- qmlholstersensor.cpp \
- qmlirproximitysensor.cpp \
- qmllightsensor.cpp \
- qmlmagnetometer.cpp \
- qmlorientationsensor.cpp \
- qmlpressuresensor.cpp\
- qmlproximitysensor.cpp \
- qmltapsensor.cpp \
- qmlrotationsensor.cpp \
- qmlsensorglobal.cpp \
- qmltiltsensor.cpp \
- qmlsensorgesture.cpp \
- qmlhumiditysensor.cpp \
- qmllidsensor.cpp
-
-load(qml_plugin)
-
-OTHER_FILES += \
- plugin.json qmldir plugins.qmltypes
diff --git a/src/plugins/CMakeLists.txt b/src/plugins/CMakeLists.txt
new file mode 100644
index 00000000..64b9584e
--- /dev/null
+++ b/src/plugins/CMakeLists.txt
@@ -0,0 +1 @@
+add_subdirectory(sensors)
diff --git a/src/plugins/plugins.pro b/src/plugins/plugins.pro
deleted file mode 100644
index c8b9e6ab..00000000
--- a/src/plugins/plugins.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS += sensors
-SUBDIRS += sensorgestures
diff --git a/src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp
deleted file mode 100644
index 6bb65e9f..00000000
--- a/src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,144 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qcoversensorgesturerecognizer.h"
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-QCoverSensorGestureRecognizer::QCoverSensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent),
- orientationReading(0),
- proximityReading(0),
- timer(0),
- active(0),
- detecting(0)
-{
-}
-
-QCoverSensorGestureRecognizer::~QCoverSensorGestureRecognizer()
-{
-}
-
-void QCoverSensorGestureRecognizer::create()
-{
- timer = new QTimer(this);
- connect(timer,SIGNAL(timeout()),this,SLOT(timeout()));
- timer->setSingleShot(true);
- timer->setInterval(750);
-}
-
-QString QCoverSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.cover");
-}
-
-bool QCoverSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Proximity)) {
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Orientation)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(proximityReadingChanged(QProximityReading*)),
- this,SLOT(proximityChanged(QProximityReading*)));
-
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Proximity);
- active = false;
- }
- } else {
- active = false;
- }
- return active;
-}
-
-bool QCoverSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Proximity);
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Orientation);
-
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(proximityReadingChanged(QProximityReading*)),
- this,SLOT(proximityChanged(QProximityReading*)));
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- active = false;
- timer->stop();
- return active;
-}
-
-bool QCoverSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-void QCoverSensorGestureRecognizer::proximityChanged(QProximityReading *reading)
-{
- if (orientationReading == 0)
- return;
-
- proximityReading = reading->close();
-
- // look at case of face up->face down->face up.
- if (orientationReading->orientation() == QOrientationReading::FaceUp
- && proximityReading) {
- if (!timer->isActive()) {
- timer->start();
- detecting = true;
- }
- }
-}
-
-void QCoverSensorGestureRecognizer::orientationReadingChanged(QOrientationReading *reading)
-{
- orientationReading = reading;
-}
-
-void QCoverSensorGestureRecognizer::timeout()
-{
- if ((orientationReading->orientation() == QOrientationReading::FaceUp)
- && proximityReading) {
- Q_EMIT cover();
- Q_EMIT detected("cover");
- detecting = false;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.h
deleted file mode 100644
index d9c57e80..00000000
--- a/src/plugins/sensorgestures/qtsensors/qcoversensorgesturerecognizer.h
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QCOVERSENSORGESTURERECOGNIZER_H
-#define QCOVERSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-#include <QTimer>
-
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-class QCoverSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QCoverSensorGestureRecognizer(QObject *parent = 0);
- ~QCoverSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void cover();
-
-private slots:
- void proximityChanged(QProximityReading *reading);
- void orientationReadingChanged(QOrientationReading *reading);
- void timeout();
-
-private:
-
- QOrientationReading *orientationReading;
- bool proximityReading;
-
- QTimer *timer;
- bool active;
- bool detecting;
-};
-
-QT_END_NAMESPACE
-#endif // QCOVERSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.cpp
deleted file mode 100644
index 6d765a1a..00000000
--- a/src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtSensors/QTapSensor>
-#include "qdoubletapsensorgesturerecognizer.h"
-QT_BEGIN_NAMESPACE
-
-QDoubleTapSensorGestureRecognizer::QDoubleTapSensorGestureRecognizer(QObject *parent) :
- QSensorGestureRecognizer(parent)
- , active(0)
-{
-}
-
-QDoubleTapSensorGestureRecognizer::~QDoubleTapSensorGestureRecognizer()
-{
-}
-
-void QDoubleTapSensorGestureRecognizer::create()
-{
-}
-
-
-QString QDoubleTapSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.doubletap");
-}
-
-bool QDoubleTapSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Tap)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(dTabReadingChanged(QTapReading*)),
- this,SLOT(tapChanged(QTapReading*)));
- } else {
- active = false;
- }
- return active;
-}
-
-bool QDoubleTapSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Tap);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(dTabReadingChanged(QTapReading*)),
- this,SLOT(tapChanged(QTapReading*)));
- active = false;
- return active;
-}
-
-bool QDoubleTapSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-void QDoubleTapSensorGestureRecognizer::tapChanged(QTapReading *reading)
-{
- if (reading->isDoubleTap()) {
- Q_EMIT doubletap();
- Q_EMIT detected("doubletap");
- }
-}
-
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.h
deleted file mode 100644
index 73d7db56..00000000
--- a/src/plugins/sensorgestures/qtsensors/qdoubletapsensorgesturerecognizer.h
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDOUBLETAPSENSORGESTURERECOGNIZER_H
-#define QDOUBLETAPSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/QSensor>
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-#include <QtSensors/QTapSensor>
-
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-class QDoubleTapSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QDoubleTapSensorGestureRecognizer(QObject *parent = 0);
- ~QDoubleTapSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void doubletap();
-
-private slots:
- void tapChanged(QTapReading *reading);
-
-private:
- QTapSensor *tapSensor;
- bool active;
-
-};
-QT_END_NAMESPACE
-#endif // QDOUBLETAPSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.cpp
deleted file mode 100644
index d158e1f0..00000000
--- a/src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Lorn Potter
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qmath.h>
-
-#include "qfreefallsensorgesturerecognizer.h"
-
-QT_BEGIN_NAMESPACE
-
-QFreefallSensorGestureRecognizer::QFreefallSensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
- , active(0)
- , detecting(0)
-{
-}
-
-QFreefallSensorGestureRecognizer::~QFreefallSensorGestureRecognizer()
-{
-}
-
-void QFreefallSensorGestureRecognizer::create()
-{
-}
-
-QString QFreefallSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.freefall");
-}
-
-bool QFreefallSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- } else {
- active = false;
- }
- return active;
-
-}
-
-bool QFreefallSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- active = false;
-
- return active;
-}
-
-bool QFreefallSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-#define FREEFALL_THRESHOLD 1.0
-#define LANDED_THRESHOLD 20.0
-#define FREEFALL_MAX 4
-
-void QFreefallSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
-{
- const qreal x = reading->x();
- const qreal y = reading->y();
- const qreal z = reading->z();
- qreal sum = qSqrt(x * x + y * y + z * z);
-
- if (qAbs(sum) < FREEFALL_THRESHOLD) {
- detecting = true;
- freefallList.append(sum);
- } else {
- if (detecting && qAbs(sum) > LANDED_THRESHOLD) {
- Q_EMIT landed();
- Q_EMIT detected("landed");
- freefallList.clear();
- }
- }
-
- if (freefallList.count() > FREEFALL_MAX) {
- Q_EMIT freefall();
- Q_EMIT detected("freefall");
- }
-}
-
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.h
deleted file mode 100644
index 124475ad..00000000
--- a/src/plugins/sensorgestures/qtsensors/qfreefallsensorgesturerecognizer.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Lorn Potter
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-
-#ifndef QFREEFALLSENSORGESTURERECOGNIZER_H
-#define QFREEFALLSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-class QFreefallSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QFreefallSensorGestureRecognizer(QObject *parent = 0);
- ~QFreefallSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void freefall();
- void landed();
-
-private slots:
- void accelChanged(QAccelerometerReading *reading);
-
-private:
-
- bool active;
- bool detecting;
- QList <qreal> freefallList;
-
-};
-QT_END_NAMESPACE
-#endif // QPICKUPSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.cpp
deleted file mode 100644
index 9a1fa1c5..00000000
--- a/src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,222 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include "qhoversensorgesturerecognizer.h"
-#include <math.h>
-
-#define TIMER2_TIMEOUT 5000
-
-QT_BEGIN_NAMESPACE
-
-QHoverSensorGestureRecognizer::QHoverSensorGestureRecognizer(QObject *parent) :
- QSensorGestureRecognizer(parent),
- orientationReading(0),reflectance(0),
- hoverOk(0), detecting(0), active(0), initialReflectance(0), useHack(0),
- lastTimestamp(0), timer2Active(0), lapsedTime2(0)
-{
-}
-
-QHoverSensorGestureRecognizer::~QHoverSensorGestureRecognizer()
-{
-}
-
-void QHoverSensorGestureRecognizer::create()
-{
-
-}
-
-QString QHoverSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.hover");
-}
-
-bool QHoverSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::IrProximity)) {
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Orientation)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(irProximityReadingChanged(QIRProximityReading*)),
- this,SLOT(irProximityReadingChanged(QIRProximityReading*)));
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::IrProximity);
- active = false;
- }
- } else {
- active = false;
- }
-
- detecting = false;
- detectedHigh = 0;
- initialReflectance = 0;
- useHack = false;
- timer2Active = false;
- lapsedTime2 = 0;
- return active;
-}
-
-bool QHoverSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::IrProximity);
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Orientation);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(irProximityReadingChanged(QIRProximityReading*)),
- this,SLOT(irProximityReadingChanged(QIRProximityReading*)));
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
- active = false;
- timer2Active = false;
- initialReflectance = 0;
- return active;
-}
-
-bool QHoverSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-
-void QHoverSensorGestureRecognizer::orientationReadingChanged(QOrientationReading *reading)
-{
- orientationReading = reading;
-}
-
-void QHoverSensorGestureRecognizer::irProximityReadingChanged(QIRProximityReading *reading)
-{
- reflectance = reading->reflectance();
- if (reflectance == 0)
- return;
-
- if (initialReflectance == 0) {
- initialReflectance = reflectance;
- }
-
- if (initialReflectance > .2) {
- useHack = true;
- initialReflectance -= .1;
- }
- if (useHack)
- reflectance -= .1;
-
- if (detecting && !hoverOk) {
- detectedHigh = qMax(detectedHigh, reflectance);
- }
-
- if (reflectance > 0.4) {
- // if close stop detecting
- hoverOk = false;
- detecting = false;
- detectedHigh = 0;
- }
-
- qreal detectedPercent = 100 - (detectedHigh / reflectance * 100);
-
- qint16 percentCheck;
- if (useHack)
- percentCheck = -60;
- else
- percentCheck = -101;
-
- quint64 timestamp = reading->timestamp();
-
- if (!detecting
- && checkForHovering()) {
- detecting = true;
- detecting = true;
- timer2Active = true;
- detectedHigh = reflectance;
- } else if (detecting
- && detectedPercent < percentCheck
- && !checkForHovering()) {
- // went light again after 1 seconds
- Q_EMIT hover();
- Q_EMIT detected("hover");
- hoverOk = false;
- detecting = false;
- detectedHigh = 0;
- timer2Active = false;;
- }
- if (detecting && reflectance < 0.2) {
- timeout();
- }
- if (timer2Active && lastTimestamp > 0)
- lapsedTime2 += (timestamp - lastTimestamp )/1000;
-
- if (timer2Active && lapsedTime2 >= TIMER2_TIMEOUT) {
- timeout2();
- }
-
- lastTimestamp = reading->timestamp();
-}
-
-bool QHoverSensorGestureRecognizer::checkForHovering()
-{
- if (orientationReading == 0) {
- return false;
- }
- if (orientationReading->orientation() != QOrientationReading::FaceUp)
- return false;
- if ( (reflectance > 0.2 && reflectance < 0.4)
- && (initialReflectance - reflectance) < -0.1)
- return true;
-
- return false;
-}
-
-
-void QHoverSensorGestureRecognizer::timeout()
-{
- if (checkForHovering()) {
- hoverOk = true;
- timer2Active = true;
- } else {
- detecting = false;
- detectedHigh = 0;
- }
-}
-
-void QHoverSensorGestureRecognizer::timeout2()
-{
- detecting = false;
- hoverOk = false;
- detectedHigh = 0;
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.h
deleted file mode 100644
index d0c8f706..00000000
--- a/src/plugins/sensorgestures/qtsensors/qhoversensorgesturerecognizer.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QHOVERSENSORGESTURERECOGNIZER_H
-#define QHOVERSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/QSensorGestureRecognizer>
-
-#include "qtsensorgesturesensorhandler.h"
-
-
-QT_BEGIN_NAMESPACE
-
-class QHoverSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QHoverSensorGestureRecognizer(QObject *parent = 0);
- ~QHoverSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void hover();
-
-private slots:
- void orientationReadingChanged(QOrientationReading *reading);
- void irProximityReadingChanged(QIRProximityReading *reading);
- void timeout();
- void timeout2();
-private:
- QOrientationReading *orientationReading;
- qreal reflectance;
- bool hoverOk;
- bool detecting;
-
- qreal detectedHigh;
- bool active;
- qreal initialReflectance;
- bool checkForHovering();
- bool useHack;
-
- quint64 lastTimestamp;
-
- bool timer2Active;
- quint64 lapsedTime2;
-
-};
-QT_END_NAMESPACE
-#endif // QHOVERSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.cpp
deleted file mode 100644
index 33688706..00000000
--- a/src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,213 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qpickupsensorgesturerecognizer.h"
-
-#include <QtCore/qmath.h>
-
-#define TIMER_TIMEOUT 250
-
-QT_BEGIN_NAMESPACE
-
-QPickupSensorGestureRecognizer::QPickupSensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
- , accelReading(0)
- , active(0)
- , pXaxis(0)
- , pYaxis(0)
- , pZaxis(0)
- , lastpitch(0)
- , detecting(0)
-{
-}
-
-QPickupSensorGestureRecognizer::~QPickupSensorGestureRecognizer()
-{
-}
-
-void QPickupSensorGestureRecognizer::create()
-{
-}
-
-QString QPickupSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.pickup");
-}
-
-bool QPickupSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- active = false;
- }
- clear();
-
- return active;
-
-}
-
-bool QPickupSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- active = false;
-
- return active;
-}
-
-bool QPickupSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-#define PICKUP_BOTTOM_THRESHOLD 25
-#define PICKUP_TOP_THRESHOLD 80
-#define PICKUP_ANGLE_THRESHOLD 25
-#define PICKUP_ROLL_THRESHOLD 13
-
-void QPickupSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
-{
- accelReading = reading;
- const qreal x = reading->x();
- const qreal y = reading->y();
- const qreal z = reading->z();
- const qreal xdiff = pXaxis - x;
- const qreal ydiff = pYaxis - y;
- const qreal zdiff = pZaxis - z;
-
- qreal pitch = qRadiansToDegrees(qAtan(y / qSqrt(x * x + z * z)));
- qreal roll = qRadiansToDegrees(qAtan(x / qSqrt(y * y + z * z)));
-
- if ((qAbs(xdiff) < 0.7 && qAbs(ydiff) < .7 && qAbs(zdiff) < .7)
- || z < 0) {
- detecting = false;
- } else if (pitch > PICKUP_BOTTOM_THRESHOLD && pitch < PICKUP_TOP_THRESHOLD) {
- detecting = true;
- }
-
- if ( pitchList.count() > 21) {
- pitchList.removeFirst();
- }
- if ( rollList.count() > 21) {
- rollList.removeFirst();
- }
-
- if (pitch > 1) {
- pitchList.append(pitch);
- }
- if (roll > 1) {
- rollList.append(roll);
- }
-
- if (detecting && pitchList.count() > 5 ) {
- timeout();
- }
-
- lastpitch = pitch;
- pXaxis = x;
- pYaxis = y;
- pZaxis = z;
-}
-
-void QPickupSensorGestureRecognizer::timeout()
-{
- qreal averageRoll = 0;
- for (int r = 0; r < rollList.count(); r++) {
- averageRoll += rollList.at(r);
- }
- averageRoll /= rollList.count();
-
- if (averageRoll > PICKUP_ROLL_THRESHOLD) {
- clear();
- return;
- }
- if (pitchList.isEmpty()
- || pitchList.at(0) > PICKUP_BOTTOM_THRESHOLD) {
- clear();
- return;
- }
-
- qreal previousPitch = 0;
- qreal startPitch = -1.0;
- int goodCount = 0;
-
- qreal averagePitch = 0;
- for (int i = 0; i < pitchList.count(); i++) {
- averagePitch += pitchList.at(i);
- if (previousPitch < pitchList.at(i)
- && qAbs(pitchList.at(i)) - qAbs(previousPitch) < 20) {
- if (goodCount == 1 && previousPitch != 0) {
- startPitch = previousPitch;
- }
- goodCount++;
- }
-
- previousPitch = pitchList.at(i);
- }
- averagePitch /= pitchList.count();
-
- if (averagePitch < 5) {
- clear();
- return;
- }
-
- if (goodCount >= 3 &&
- (pitchList.last() < PICKUP_TOP_THRESHOLD
- && pitchList.last() > PICKUP_BOTTOM_THRESHOLD)
- && startPitch > 0
- && (pitchList.last() - startPitch) > PICKUP_ANGLE_THRESHOLD) {
- Q_EMIT pickup();
- Q_EMIT detected("pickup");
- }
- clear();
-}
-
-void QPickupSensorGestureRecognizer::clear()
-{
- pitchList.clear();
- detecting = false;
-}
-
-QT_END_NAMESPACE
-
diff --git a/src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.h
deleted file mode 100644
index fdc0a6fe..00000000
--- a/src/plugins/sensorgestures/qtsensors/qpickupsensorgesturerecognizer.h
+++ /dev/null
@@ -1,87 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QPICKUPSENSORGESTURERECOGNIZER_H
-#define QPICKUPSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-class QPickupSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QPickupSensorGestureRecognizer(QObject *parent = 0);
- ~QPickupSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void pickup();
-
-private slots:
- void accelChanged(QAccelerometerReading *reading);
-
- void timeout();
-private:
- QAccelerometerReading *accelReading;
-
- bool active;
- qreal pXaxis;
- qreal pYaxis;
- qreal pZaxis;
-
- qreal lastpitch;
- bool detecting;
-
- QList <qreal> pitchList;
- QList <qreal> rollList;
-
- void clear();
-};
-QT_END_NAMESPACE
-#endif // QPICKUPSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
deleted file mode 100644
index 16313b41..00000000
--- a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.cpp
+++ /dev/null
@@ -1,231 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDebug>
-
-#include "qshake2recognizer.h"
-#include <math.h>
-
-
-QT_BEGIN_NAMESPACE
-
-QShake2SensorGestureRecognizer::QShake2SensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
- , active(0)
- , shakeDirection(QShake2SensorGestureRecognizer::ShakeUndefined)
- , shaking(0)
- , shakeCount(0)
- , lapsedTime(0)
- , lastTimestamp(0),
- timerActive(0)
-{
- timerTimeout = 250;
-}
-
-QShake2SensorGestureRecognizer::~QShake2SensorGestureRecognizer()
-{
-}
-
-void QShake2SensorGestureRecognizer::create()
-{
-}
-
-bool QShake2SensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- } else {
- active = false;
- }
- prevData.x = 0;
- prevData.y = 0;
- prevData.z = 0;
- shakeCount = 0;
- shaking = false;
- shakeDirection = QShake2SensorGestureRecognizer::ShakeUndefined;
-
- return active;
-}
-
-bool QShake2SensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- active = false;
- return active;
-}
-
-bool QShake2SensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-QString QShake2SensorGestureRecognizer::id() const
-{
- return QString("QtSensors.shake2");
-}
-
-#define NUMBER_SHAKES 3
-#define THRESHOLD 25
-
-void QShake2SensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
-{
- const qreal x = reading->x();
- const qreal y = reading->y();
- const qreal z = reading->z();
-
- const quint64 timestamp = reading->timestamp();
-
- currentData.x = x;
- currentData.y = y;
- currentData.z = z;
-
- if (qAbs(prevData.x - currentData.x) < 1
- && qAbs(prevData.y - currentData.y) < 1
- && qAbs(prevData.z - currentData.z) < 1) {
-
- prevData.x = currentData.x;
- prevData.y = currentData.y;
- prevData.z = currentData.z;
- return;
- }
-
- bool wasShake;
- wasShake = checkForShake(prevData, currentData, THRESHOLD);
-
- if (!shaking && wasShake &&
- shakeCount == NUMBER_SHAKES) {
- shaking = true;
- shakeCount = 0;
- lapsedTime = 0;
- timerActive = false;
- switch (shakeDirection) {
- case QShake2SensorGestureRecognizer::ShakeLeft:
- Q_EMIT shakeLeft();
- Q_EMIT detected("shakeLeft");
- break;
- case QShake2SensorGestureRecognizer::ShakeRight:
- Q_EMIT shakeRight();
- Q_EMIT detected("shakeRight");
- break;
- case QShake2SensorGestureRecognizer::ShakeUp:
- Q_EMIT shakeUp();
- Q_EMIT detected("shakeUp");
- break;
- case QShake2SensorGestureRecognizer::ShakeDown:
- Q_EMIT shakeDown();
- Q_EMIT detected("shakeDown");
- break;
- default:
- break;
- };
-
- } else if (wasShake) {
-
- if (shakeCount == 0 && shakeDirection == QShake2SensorGestureRecognizer::ShakeUndefined) {
-
- const int xdiff = prevData.x - currentData.x;
- const int ydiff = prevData.x - currentData.y;
-
- const int max = qMax(qAbs(ydiff), qAbs(xdiff));
- if (max == qAbs(xdiff)) {
- if (isNegative(xdiff))
- shakeDirection = QShake2SensorGestureRecognizer::ShakeLeft;
- else
- shakeDirection = QShake2SensorGestureRecognizer::ShakeRight;
-
- } else if (max == qAbs(ydiff)) {
- if (isNegative(ydiff))
- shakeDirection = QShake2SensorGestureRecognizer::ShakeDown;
- else
- shakeDirection = QShake2SensorGestureRecognizer::ShakeUp;
- }
- }
- shakeCount++;
- if (shakeCount == NUMBER_SHAKES) {
- timerActive = true;
- }
- }
-
- if (timerActive && lastTimestamp > 0)
- lapsedTime += (timestamp - lastTimestamp )/1000;
-
- if (timerActive && lapsedTime >= timerTimeout) {
- timeout();
- }
- prevData.x = currentData.x;
- prevData.y = currentData.y;
- prevData.z = currentData.z;
- lastTimestamp = timestamp;
-}
-
-void QShake2SensorGestureRecognizer::timeout()
-{
- shakeCount = 0;
- shaking = false;
- shakeDirection = QShake2SensorGestureRecognizer::ShakeUndefined;
- timerActive = false;
- lapsedTime = 0;
- lastTimestamp = 0;
-}
-
-bool QShake2SensorGestureRecognizer::checkForShake(ShakeData prevSensorData, ShakeData currentSensorData, qreal threshold)
-{
- const double deltaX = qAbs(prevSensorData.x - currentSensorData.x);
- const double deltaY = qAbs(prevSensorData.y - currentSensorData.y);
- const double deltaZ = qAbs(prevSensorData.z - currentSensorData.z);
-
- return (deltaX > threshold
- || deltaY > threshold
- || deltaZ > threshold);
-}
-
-bool QShake2SensorGestureRecognizer::isNegative(qreal num)
-{
- if (num < 0)
- return true;
- return false;
-}
-
-
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h b/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h
deleted file mode 100644
index 9e402cf6..00000000
--- a/src/plugins/sensorgestures/qtsensors/qshake2recognizer.h
+++ /dev/null
@@ -1,116 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSHAKERECOGNIZER_H
-#define QSHAKERECOGNIZER_H
-
-#include <QDebug>
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-struct ShakeData {
- qreal x;
- qreal y;
- qreal z;
-};
-
-class QShake2SensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-
-public:
-
- enum ShakeDirection {
- ShakeUndefined = 0,
- ShakeLeft,
- ShakeRight,
- ShakeUp,
- ShakeDown
- };
-
- QShake2SensorGestureRecognizer(QObject *parent = 0);
- ~QShake2SensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
- int timerTimeout;
-
-
-Q_SIGNALS:
- void shakeLeft();
- void shakeRight();
- void shakeUp();
- void shakeDown();
-
-private slots:
- void accelChanged(QAccelerometerReading *reading);
- void timeout();
-
-
-private:
- QAccelerometerReading *accelReading;
-
- bool active;
-
- ShakeDirection shakeDirection;
-
- ShakeData prevData;
- ShakeData currentData;
-
- bool checkForShake(ShakeData prevSensorData, ShakeData currentSensorData, qreal threshold);
- bool shaking;
- int shakeCount;
- int threshold;
-
- bool isNegative(qreal num);
- qreal lapsedTime;
- quint64 lastTimestamp;
- bool timerActive;
-};
-QT_END_NAMESPACE
-#endif // QSHAKERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.cpp
deleted file mode 100644
index 658f81eb..00000000
--- a/src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.cpp
+++ /dev/null
@@ -1,215 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qslamgesturerecognizer.h"
-#include "qtsensorgesturesensorhandler.h"
-
-
-#include <QtCore/qmath.h>
-
-QT_BEGIN_NAMESPACE
-
-QSlamSensorGestureRecognizer::QSlamSensorGestureRecognizer(QObject *parent) :
- QSensorGestureRecognizer(parent),
- orientationReading(0),
- accelRange(0),
- active(0),
- lastX(0),
- lastY(0),
- lastZ(0),
- detectedX(0),
- detecting(0),
- accelX(0),
- roll(0),
- resting(0),
- lastTimestamp(0),
- lapsedTime(0),
- timerActive(0)
-{
-}
-
-QSlamSensorGestureRecognizer::~QSlamSensorGestureRecognizer()
-{
-}
-
-void QSlamSensorGestureRecognizer::create()
-{
-}
-
-
-QString QSlamSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.slam");
-}
-
-bool QSlamSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Orientation)) {
- active = true;
- accelRange = QtSensorGestureSensorHandler::instance()->accelRange;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- active = false;
- }
- } else {
- active = false;
- }
- return active;
-}
-
-bool QSlamSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Orientation);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- detecting = false;
- restingList.clear();
- active = false;
- return active;
-}
-
-bool QSlamSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-void QSlamSensorGestureRecognizer::orientationReadingChanged(QOrientationReading *reading)
-{
- orientationReading = reading;
-}
-
-#define SLAM_DETECTION_FACTOR 0.3 // 11.7
-#define SLAM_RESTING_FACTOR 2.5
-#define SLAM_RESTING_COUNT 5
-#define SLAM_ZERO_FACTOR .02
-
-void QSlamSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
-{
- const qreal x = reading->x();
- const qreal y = reading->y();
- const qreal z = reading->z();
- quint64 timestamp = reading->timestamp();
-
- if (qAbs(lastX - x) < SLAM_RESTING_FACTOR
- && qAbs(lastY - y) < SLAM_RESTING_FACTOR
- && qAbs(lastZ - z) < SLAM_RESTING_FACTOR) {
- resting = true;
- } else {
- resting = false;
- }
-
- if (restingList.count() > SLAM_RESTING_COUNT)
- restingList.removeLast();
- restingList.insert(0, resting);
-
-
- if (timerActive && lastTimestamp > 0)
- lapsedTime += (timestamp - lastTimestamp )/1000;
-
- if (timerActive && lapsedTime >= 250) {
- doSlam();
- }
- lastTimestamp = timestamp;
-
- if (orientationReading == 0) {
- return;
- }
-
- const qreal difference = lastX - x;
-
- if (!detecting
- && orientationReading->orientation() == QOrientationReading::TopUp
- && resting
- && hasBeenResting()) {
- detectedX = x;
- // start of gesture
- detecting = true;
- if (difference > 0)
- wasNegative = false;
- else
- wasNegative = true;
- restingList.clear();
- }
- if (detecting
- && qAbs(difference) > (accelRange * SLAM_DETECTION_FACTOR)) {
- timerActive = true;
- }
- if (detecting &&
- (qAbs(difference) < SLAM_ZERO_FACTOR && qAbs(difference) > 0)) {
- detecting = false;
- }
- lastX = x;
- lastY = y;
- lastZ = z;
-}
-
-bool QSlamSensorGestureRecognizer::hasBeenResting()
-{
- for (int i = 0; i < restingList.count() - 1; i++) {
- if (!restingList.at(i)) {
- return false;
- }
- }
- return true;
-}
-
-void QSlamSensorGestureRecognizer::doSlam()
-{
- if (detecting && (orientationReading->orientation() == QOrientationReading::RightUp
- || orientationReading->orientation() == QOrientationReading::LeftUp)) {
- Q_EMIT slam();
- Q_EMIT detected("slam");
- restingList.clear();
- detecting = false;
- }
- timerActive = false;
- lapsedTime = 0;
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.h
deleted file mode 100644
index 4217eec3..00000000
--- a/src/plugins/sensorgestures/qtsensors/qslamgesturerecognizer.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QSLAMSENSORGESTURERECOGNIZER_H
-#define QSLAMSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-#include <QtSensors/QOrientationSensor>
-#include <QtSensors/QAccelerometer>
-#include <QtSensors/QAccelerometerReading>
-#include <QtSensors/QOrientationReading>
-QT_BEGIN_NAMESPACE
-
-class QSlamSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QSlamSensorGestureRecognizer(QObject *parent = 0);
- ~QSlamSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void slam();
-
-private slots:
- void accelChanged(QAccelerometerReading *reading);
- void orientationReadingChanged(QOrientationReading *reading);
- void doSlam();
-
-private:
-
- QAccelerometer *accel;
- QOrientationReading *orientationReading;
- int accelRange;
- bool active;
-
- bool wasNegative;
- qreal lastX;
- qreal lastY;
- qreal lastZ;
- qreal detectedX;
-
- bool detecting;
-
- qreal accelX;
- qreal roll;
- QList<qreal> restingList;
- bool resting;
-
- bool hasBeenResting();
- quint64 lastTimestamp;
- quint64 lapsedTime;
- bool timerActive;
-};
-
-QT_END_NAMESPACE
-#endif // QSLAMSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp b/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp
deleted file mode 100644
index 7e091479..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtPlugin>
-#include <QStringList>
-#include <QObject>
-
-#include "qtsensorgestureplugin.h"
-
-#include <QtSensors/qsensorgestureplugininterface.h>
-
-#include "qcoversensorgesturerecognizer.h"
-#include "qtwistsensorgesturerecognizer.h"
-#include "qdoubletapsensorgesturerecognizer.h"
-#include "qhoversensorgesturerecognizer.h"
-#include "qpickupsensorgesturerecognizer.h"
-#include "qshake2recognizer.h"
-#include "qslamgesturerecognizer.h"
-#include "qturnoversensorgesturerecognizer.h"
-#include "qwhipsensorgesturerecognizer.h"
-#include "qfreefallsensorgesturerecognizer.h"
-
-
-QT_BEGIN_NAMESPACE
-
-
-QtSensorGesturePlugin::QtSensorGesturePlugin()
-{
-}
-
-QtSensorGesturePlugin::~QtSensorGesturePlugin()
-{
-}
-
-QStringList QtSensorGesturePlugin::supportedIds() const
-{
- QStringList list;
- list << "QtSensors.cover";
- list << "QtSensors.doubletap";
- list << "QtSensors.hover";
- list << "QtSensors.freefall";
- list << "QtSensors.pickup";
- list << "QtSensors.shake2";
- list << "QtSensors.slam";
- list << "QtSensors.turnover";
- list << "QtSensors.twist";
- list << "QtSensors.whip";
- return list;
-}
-
-QList <QSensorGestureRecognizer *> QtSensorGesturePlugin::createRecognizers()
-{
- QList <QSensorGestureRecognizer *> recognizers;
-
- recognizers.append(new QCoverSensorGestureRecognizer(this));
-
- recognizers.append(new QDoubleTapSensorGestureRecognizer(this));
-
- recognizers.append(new QHoverSensorGestureRecognizer(this));
-
- recognizers.append(new QPickupSensorGestureRecognizer(this));
-
- recognizers.append(new QShake2SensorGestureRecognizer(this));
-
- recognizers.append(new QSlamSensorGestureRecognizer(this));
-
- recognizers.append(new QTurnoverSensorGestureRecognizer(this));
-
- recognizers.append(new QWhipSensorGestureRecognizer(this));
-
- recognizers.append(new QTwistSensorGestureRecognizer(this));
-
- recognizers.append(new QFreefallSensorGestureRecognizer(this));
- return recognizers;
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h b/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h
deleted file mode 100644
index 87a93f16..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtsensorgestureplugin.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTSENSORGESTURESPLUGIN_H
-#define QTSENSORGESTURESPLUGIN_H
-
-#include <QObject>
-#include <QStringList>
-
-#include <QtSensors/qsensorgestureplugininterface.h>
-
-QT_BEGIN_NAMESPACE
-
-class QtSensorGesturePlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.QSensorGesturePluginInterface")
- Q_INTERFACES(QSensorGesturePluginInterface)
-
-public:
- explicit QtSensorGesturePlugin();
- ~QtSensorGesturePlugin();
- QList <QSensorGestureRecognizer *> createRecognizers() override;
-
- QStringList gestureSignals() const;
- QStringList supportedIds() const override;
- QString name() const override { return "QtSensorGestures"; }
-
-};
-
-QT_END_NAMESPACE
-#endif // QTSENSORGESTURESPLUGIN_H
diff --git a/src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp b/src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp
deleted file mode 100644
index 84d9203f..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.cpp
+++ /dev/null
@@ -1,193 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDebug>
-
-#include "qtsensorgesturesensorhandler.h"
-
-QtSensorGestureSensorHandler::QtSensorGestureSensorHandler(QObject *parent) :
- QObject(parent),
- accel(0), orientation(0), proximity(0), irProx(0),tapSensor(0)
-{
-}
-
-QtSensorGestureSensorHandler* QtSensorGestureSensorHandler::instance()
-{
- static QtSensorGestureSensorHandler *instance = 0;
- if (!instance) {
- instance = new QtSensorGestureSensorHandler;
- }
- return instance;
-}
-
-void QtSensorGestureSensorHandler::accelChanged()
-{
- Q_EMIT accelReadingChanged(accel->reading());
-}
-
-void QtSensorGestureSensorHandler::orientationChanged()
-{
- Q_EMIT orientationReadingChanged(orientation->reading());
-}
-
-void QtSensorGestureSensorHandler::proximityChanged()
-{
- Q_EMIT proximityReadingChanged(proximity->reading());
-}
-
-void QtSensorGestureSensorHandler::irProximityChanged()
-{
- Q_EMIT irProximityReadingChanged(irProx->reading());
-}
-
-void QtSensorGestureSensorHandler::doubletap()
-{
- Q_EMIT dTabReadingChanged(tapSensor->reading());
-}
-
-bool QtSensorGestureSensorHandler::startSensor(SensorGestureSensors sensor)
-{
- bool ok = true;
- switch (sensor) {
- case Accel:
- //accel
- if (accel == 0x0) {
- accel = new QAccelerometer(this);
- ok = accel->connectToBackend();
- accel->setDataRate(100);
- qoutputrangelist outputranges = accel->outputRanges();
-
- if (outputranges.count() > 0)
- accelRange = (int)(outputranges.at(0).maximum);//39
- else
- accelRange = 39; //this should never happen
- connect(accel,SIGNAL(readingChanged()),this,SLOT(accelChanged()));
- }
- if (ok && !accel->isActive())
- accel->start();
- break;
- case Orientation:
- //orientation
- if (orientation == 0x0) {
- orientation = new QOrientationSensor(this);
- ok = orientation->connectToBackend();
- orientation->setDataRate(50);
- connect(orientation,SIGNAL(readingChanged()),this,SLOT(orientationChanged()));
- }
- if (ok && !orientation->isActive())
- orientation->start();
- break;
- case Proximity:
- //proximity
- if (proximity == 0x0) {
- proximity = new QProximitySensor(this);
- ok = proximity->connectToBackend();
- connect(proximity,SIGNAL(readingChanged()),this,SLOT(proximityChanged()));
- }
- if (ok && !proximity->isActive())
- proximity->start();
- break;
- case IrProximity:
- //irproximity
- if (irProx == 0x0) {
- irProx = new QIRProximitySensor(this);
- irProx->setDataRate(50);
- ok = irProx->connectToBackend();
- connect(irProx,SIGNAL(readingChanged()),this,SLOT(irProximityChanged()));
- }
- if (ok && !irProx->isActive())
- irProx->start();
- break;
- case Tap:
- //dtap
- if (tapSensor == 0x0) {
- tapSensor = new QTapSensor(this);
- ok = tapSensor->connectToBackend();
- connect(tapSensor,SIGNAL(readingChanged()),this,SLOT(doubletap()));
- }
- if (ok && !tapSensor->isActive())
- tapSensor->start();
- break;
- };
- int val = usedSensorsMap.value(sensor);
- usedSensorsMap.insert(sensor,++val);
-
- return ok;
-}
-
-void QtSensorGestureSensorHandler::stopSensor(SensorGestureSensors sensor)
-{
- // qDebug() << __FUNCTION__ << sensor;
- if (usedSensorsMap.value(sensor) == 0)
- return;
- int val = usedSensorsMap.value(sensor);
- usedSensorsMap.insert(sensor,--val);
- switch (sensor) {
- case Accel:
- //accel
- if (usedSensorsMap.value(sensor) == 0) {
- accel->stop();
- }
- break;
- case Orientation:
- if (usedSensorsMap.value(sensor) == 0) {
- orientation->stop();
- }
- //orientation
- break;
- case Proximity:
- if (usedSensorsMap.value(sensor) == 0) {
- proximity->stop();
- }
- //proximity
- break;
- case IrProximity:
- if (usedSensorsMap.value(sensor) == 0) {
- irProx->stop();
- }
- //irproximity
- break;
- case Tap:
- if (usedSensorsMap.value(sensor) == 0) {
- tapSensor->stop();
- }
- //dtap
- break;
- };
-}
diff --git a/src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.h b/src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.h
deleted file mode 100644
index e3f4960b..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtsensorgesturesensorhandler.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTSENSORGESTURESENSORHANDLER_H
-#define QTSENSORGESTURESENSORHANDLER_H
-
-#include <QObject>
-
-#include <QtSensors/QAccelerometer>
-#include <QtSensors/QAccelerometerFilter>
-#include <QtSensors/QSensor>
-#include <QtSensors/QOrientationSensor>
-#include <QtSensors/QProximitySensor>
-#include <QtSensors/QIRProximitySensor>
-#include <QtSensors/QTapSensor>
-
-class QtSensorGestureSensorHandler : public QObject
-{
- Q_OBJECT
- Q_ENUMS(SensorGestureSensors)
-public:
- explicit QtSensorGestureSensorHandler(QObject *parent = 0);
-
- enum SensorGestureSensors {
- Accel = 0,
- Orientation,
- Proximity,
- IrProximity,
- Tap
- };
- static QtSensorGestureSensorHandler *instance();
- qreal accelRange;
-
-public slots:
- void accelChanged();
- void orientationChanged();
- void proximityChanged();
- void irProximityChanged();
- void doubletap();
-
- bool startSensor(SensorGestureSensors sensor);
- void stopSensor(SensorGestureSensors sensor);
-
-Q_SIGNALS:
- void accelReadingChanged(QAccelerometerReading *reading);
- void orientationReadingChanged(QOrientationReading *reading);
- void proximityReadingChanged(QProximityReading *reading);
- void irProximityReadingChanged(QIRProximityReading *reading);
- void dTabReadingChanged(QTapReading *reading);
-
-private:
- QAccelerometer *accel;
- QOrientationSensor *orientation;
- QProximitySensor *proximity;
- QIRProximitySensor *irProx;
- QTapSensor *tapSensor;
-
- QMap<SensorGestureSensors, int> usedSensorsMap;
-
-};
-
-#endif // QTSENSORGESTURESENSORHANDLER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qtsensors.pro b/src/plugins/sensorgestures/qtsensors/qtsensors.pro
deleted file mode 100644
index 44f18ff5..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtsensors.pro
+++ /dev/null
@@ -1,37 +0,0 @@
-TARGET = qtsensorgestures_plugin
-QT = core sensors
-
-# Input
-HEADERS += qtsensorgestureplugin.h \
- qcoversensorgesturerecognizer.h \
- qdoubletapsensorgesturerecognizer.h \
- qhoversensorgesturerecognizer.h \
- qfreefallsensorgesturerecognizer.h \
- qpickupsensorgesturerecognizer.h \
- qshake2recognizer.h \
- qslamgesturerecognizer.h \
- qturnoversensorgesturerecognizer.h \
- qtwistsensorgesturerecognizer.h \
- qwhipsensorgesturerecognizer.h \
- qtsensorgesturesensorhandler.h
-
-SOURCES += qtsensorgestureplugin.cpp \
- qcoversensorgesturerecognizer.cpp \
- qdoubletapsensorgesturerecognizer.cpp \
- qhoversensorgesturerecognizer.cpp \
- qfreefallsensorgesturerecognizer.cpp \
- qpickupsensorgesturerecognizer.cpp \
- qshake2recognizer.cpp \
- qslamgesturerecognizer.cpp \
- qturnoversensorgesturerecognizer.cpp \
- qtwistsensorgesturerecognizer.cpp \
- qwhipsensorgesturerecognizer.cpp \
- qtsensorgesturesensorhandler.cpp
-
-OTHER_FILES += \
- plugin.json
-
-PLUGIN_TYPE = sensorgestures
-PLUGIN_CLASS_NAME = QtSensorGesturePlugin
-PLUGIN_EXTENDS = -
-load(qt_plugin)
diff --git a/src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.cpp
deleted file mode 100644
index e2d9bea8..00000000
--- a/src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,139 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtSensors/QSensor>
-
-#include "qturnoversensorgesturerecognizer.h"
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-// turnover and put down i.e. facedown
-
-QTurnoverSensorGestureRecognizer::QTurnoverSensorGestureRecognizer(QObject *parent) :
- QSensorGestureRecognizer(parent),
- isClose(0)
- , isFaceDown(0), active(0)
-{
-}
-
-QTurnoverSensorGestureRecognizer::~QTurnoverSensorGestureRecognizer()
-{
-}
-
-void QTurnoverSensorGestureRecognizer::create()
-{
-}
-
-bool QTurnoverSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Proximity)) {
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Orientation)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(proximityReadingChanged(QProximityReading*)),
- this,SLOT(proximityChanged(QProximityReading*)));
-
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Proximity);
- active = false;
- }
- } else {
- active = false;
- }
- return active;
-}
-
-bool QTurnoverSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Proximity);
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Orientation);
-
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(proximityReadingChanged(QProximityReading*)),
- this,SLOT(proximityChanged(QProximityReading*)));
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- active = false;
-
- return active;
-}
-
-bool QTurnoverSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-QString QTurnoverSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.turnover");
-}
-
-void QTurnoverSensorGestureRecognizer::proximityChanged(QProximityReading *reading)
-{
- isClose = reading->close();
- if (isClose)
- isRecognized();
-}
-
-void QTurnoverSensorGestureRecognizer::orientationReadingChanged(QOrientationReading *reading)
-{
- switch (reading->orientation()) {
- case QOrientationReading::FaceDown:
- {
- isFaceDown = true;
- isRecognized();
- }
- break;
- default:
- isFaceDown = false;
- break;
- };
-}
-
-void QTurnoverSensorGestureRecognizer::isRecognized()
-{
- if (isClose && isFaceDown) {
- Q_EMIT turnover();
- Q_EMIT detected("turnover");
- }
-}
-QT_END_NAMESPACE
-
diff --git a/src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.h
deleted file mode 100644
index 295cb5f7..00000000
--- a/src/plugins/sensorgestures/qtsensors/qturnoversensorgesturerecognizer.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTURNOVERSENSORGESTURERECOGNIZER_H
-#define QTURNOVERSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-class QTurnoverSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QTurnoverSensorGestureRecognizer(QObject *parent = 0);
- ~QTurnoverSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void turnover();
-
-private slots:
- void orientationReadingChanged(QOrientationReading *reading);
- void proximityChanged(QProximityReading *reading);
- void isRecognized();
-
-private:
-
- bool isClose;
- bool isFaceDown;
- bool active;
-
- QList<qreal> zList;
-
-};
-QT_END_NAMESPACE
-#endif // QTURNOVERSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp
deleted file mode 100644
index 6a1f1706..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,291 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include "qtwistsensorgesturerecognizer.h"
-
-#include <QtCore/qmath.h>
-
-QT_BEGIN_NAMESPACE
-
-#define TIMER_TIMEOUT 750
-QTwistSensorGestureRecognizer::QTwistSensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
- , orientationReading(0)
- , active(0)
- , detecting(0)
- , checking(0)
- , increaseCount(0)
- , decreaseCount(0)
- , lastAngle(0)
- , detectedAngle(0)
-{
-}
-
-QTwistSensorGestureRecognizer::~QTwistSensorGestureRecognizer()
-{
-}
-
-void QTwistSensorGestureRecognizer::create()
-{
-}
-
-QString QTwistSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.twist");
-}
-
-bool QTwistSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Orientation)) {
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- active = false;
- }
- } else {
-
- active = false;
- }
-
- return active;
-}
-
-bool QTwistSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Orientation);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
-
- reset();
- orientationList.clear();
- active = false;
- return active;
-}
-
-bool QTwistSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-void QTwistSensorGestureRecognizer::orientationReadingChanged(QOrientationReading *reading)
-{
- orientationReading = reading;
- if (orientationList.count() == 3)
- orientationList.removeFirst();
-
- orientationList.append(reading->orientation());
-
- if (orientationList.count() == 3
- && orientationList.at(2) == QOrientationReading::FaceUp
- && (orientationList.at(1) == QOrientationReading::RightUp
- || orientationList.at(1) == QOrientationReading::LeftUp)) {
- checkTwist();
- }
-
- checkOrientation();
-}
-
-bool QTwistSensorGestureRecognizer::checkOrientation()
-{
- if (orientationReading->orientation() == QOrientationReading::TopDown
- || orientationReading->orientation() == QOrientationReading::FaceDown) {
- reset();
- return false;
- }
- return true;
-}
-
-void QTwistSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
-{
- if (orientationReading == 0)
- return;
-
- const qreal x = reading->x();
- const qreal y = reading->y();
- const qreal z = reading->z();
-
- if (!detecting && !checking&& dataList.count() > 21)
- dataList.removeFirst();
-
- qreal angle = qRadiansToDegrees(qAtan(x / qSqrt(y * y + z * z)));
-
- if (qAbs(angle) > 2) {
- if (detecting) {
- if ((angle > 0 && angle < lastAngle)
- || (angle < 0 && angle > lastAngle)) {
- decreaseCount++;
- } else {
- if (decreaseCount > 0)
- decreaseCount--;
- }
- }
-
- if (!detecting && ((angle > 0 && angle > lastAngle)
- || (angle < 0 && angle < lastAngle))
- && ((angle > 0 && lastAngle > 0)
- || (angle < 0 && lastAngle < 0))) {
- increaseCount++;
- } else
- if (!detecting && increaseCount > 3 && qAbs(angle) > 30) {
- decreaseCount = 0;
- detecting = true;
- detectedAngle = qRadiansToDegrees(qAtan(y / qSqrt(x * x + z * z)));
- }
- } else {
- increaseCount = 0;
- increaseCount = 0;
- }
-
- lastAngle = angle;
- if (detecting && decreaseCount >= 4 && qAbs(angle) < 25) {
- checkTwist();
- }
-
- twistAccelData data;
- data.x = x;
- data.y = y;
- data.z = z;
-
- if (qAbs(x) > 1)
- dataList.append(data);
-
- if (qAbs(z) > 15.0) {
- reset();
- }
-
-}
-
-void QTwistSensorGestureRecognizer::checkTwist()
-{
- checking = true;
- int lastx = 0;
- bool ok = false;
- bool spinpoint = false;
-
- if (detectedAngle < 0) {
- reset();
- return;
- }
-
- //// check for orientation changes first
- if (orientationList.count() < 2)
- return;
-
- if (orientationList.count() > 2)
- if (orientationList.at(0) == orientationList.at(2)
- && (orientationList.at(1) == QOrientationReading::LeftUp
- || orientationList.at(1) == QOrientationReading::RightUp)) {
- ok = true;
- if (orientationList.at(1) == QOrientationReading::RightUp)
- detectedAngle = 1;
- else
- detectedAngle = -1;
- }
-
- // now the manual increase/decrease count
- if (!ok) {
- if (increaseCount < 1 || decreaseCount < 3)
- return;
-
- if (increaseCount > 6 && decreaseCount > 4) {
- ok = true;
- if (orientationList.at(1) == QOrientationReading::RightUp)
- detectedAngle = 1;
- else
- detectedAngle = -1;
- }
- }
- // now we're really grasping for anything
- if (!ok)
- for (int i = 0; i < dataList.count(); i++) {
- twistAccelData curData = dataList.at(i);
- if (!spinpoint && qAbs(curData.x) < 1)
- continue;
- if (curData.z >= 0 ) {
- if (!spinpoint && (curData.x > lastx || curData.x < lastx) && curData.x - lastx > 1) {
- ok = true;
- } else if (spinpoint && (curData.x < lastx || curData.x > lastx)&& lastx - curData.x > 1) {
- ok = true;
- } else {
- ok = false;
- }
- } else if (!spinpoint && curData.z < 0) {
- spinpoint = true;
- } else if (spinpoint && curData.z > 9) {
- break;
- }
-
- lastx = curData.x;
- }
- if (ok) {
- if (detectedAngle > 0) {
- Q_EMIT twistLeft();
- Q_EMIT detected("twistLeft");
- } else {
- Q_EMIT twistRight();
- Q_EMIT detected("twistRight");
- }
- }
- reset();
-}
-
-void QTwistSensorGestureRecognizer::reset()
-{
- detecting = false;
- checking = false;
- dataList.clear();
- increaseCount = 0;
- decreaseCount = 0;
- lastAngle = 0;
-}
-
-
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h
deleted file mode 100644
index 3080e2a6..00000000
--- a/src/plugins/sensorgestures/qtsensors/qtwistsensorgesturerecognizer.h
+++ /dev/null
@@ -1,96 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QWFLICKSENSORGESTURERECOGNIZER_H
-#define QWFLICKSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-#include <QtSensors/QAccelerometer>
-#include <QtSensors/QOrientationSensor>
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-struct twistAccelData {
- qreal x;
- qreal y;
- qreal z;
-};
-
-class QTwistSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QTwistSensorGestureRecognizer(QObject *parent = 0);
- ~QTwistSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void twistLeft();
- void twistRight();
-
-private slots:
- void accelChanged(QAccelerometerReading *reading);
- void orientationReadingChanged(QOrientationReading *reading);
- void checkTwist();
-
-private:
-
- QOrientationReading *orientationReading;
- bool active;
- bool detecting;
- QList <twistAccelData> dataList;
- bool checking;
- void reset();
- bool checkOrientation();
- int increaseCount;
- int decreaseCount;
- qreal lastAngle;
- QList <QOrientationReading::Orientation> orientationList;
- qreal detectedAngle;
-};
-QT_END_NAMESPACE
-#endif // QWFLICKSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp b/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp
deleted file mode 100644
index 4d9edb25..00000000
--- a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,241 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#include "qwhipsensorgesturerecognizer.h"
-#include "qtsensorgesturesensorhandler.h"
-
-#include <QtCore/qmath.h>
-
-#define TIMER_TIMEOUT 850
-
-QT_BEGIN_NAMESPACE
-
-QWhipSensorGestureRecognizer::QWhipSensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent),
- orientationReading(0),
- accelRange(0),
- active(0),
- lastX(0),
- lastY(0),
- lastZ(0),
- detecting(0),
- whipOk(0)
- , lastTimestamp(0)
- , timerActive(0)
- , lapsedTime(0)
-{
-}
-
-QWhipSensorGestureRecognizer::~QWhipSensorGestureRecognizer()
-{
-}
-
-void QWhipSensorGestureRecognizer::create()
-{
-}
-
-QString QWhipSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.whip");
-}
-
-bool QWhipSensorGestureRecognizer::start()
-{
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Accel)) {
- if (QtSensorGestureSensorHandler::instance()->startSensor(QtSensorGestureSensorHandler::Orientation)) {
- accelRange = QtSensorGestureSensorHandler::instance()->accelRange;
- active = true;
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- connect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- } else {
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- active = false;
- }
- } else {
- active = false;
- }
- lastTimestamp = 0;
- timerActive = false;
- lapsedTime = 0;
- return active;
-}
-
-bool QWhipSensorGestureRecognizer::stop()
-{
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Accel);
- QtSensorGestureSensorHandler::instance()->stopSensor(QtSensorGestureSensorHandler::Orientation);
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(orientationReadingChanged(QOrientationReading*)),
- this,SLOT(orientationReadingChanged(QOrientationReading*)));
-
- disconnect(QtSensorGestureSensorHandler::instance(),SIGNAL(accelReadingChanged(QAccelerometerReading*)),
- this,SLOT(accelChanged(QAccelerometerReading*)));
- active = false;
- return active;
-}
-
-bool QWhipSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-void QWhipSensorGestureRecognizer::orientationReadingChanged(QOrientationReading *reading)
-{
- orientationReading = reading;
-}
-
-#define WHIP_FACTOR -11.0
-#define WHIP_WIGGLE_FACTOR 0.35
-
-void QWhipSensorGestureRecognizer::accelChanged(QAccelerometerReading *reading)
-{
- const qreal x = reading->x();
- const qreal y = reading->y();
- qreal z = reading->z();
-
- quint64 timestamp = reading->timestamp();
-
- if (zList.count() > 4)
- zList.removeLast();
-
- qreal averageZ = 0;
- Q_FOREACH (qreal az, zList) {
- averageZ += az;
- }
-// averageZ += z;
- averageZ /= zList.count();
-
- zList.insert(0,z);
-
- if (orientationReading == 0)
- return;
- //// very hacky
- if (orientationReading->orientation() == QOrientationReading::FaceUp) {
- z = z - 9.8;
- }
-
- const qreal diffX = lastX - x;
- const qreal diffY = lastY - y;
-
- if (detecting && whipMap.count() > 5 && whipMap.at(5) == true) {
- checkForWhip();
- }
-
- if (whipMap.count() > 5)
- whipMap.removeLast();
-
- if (negativeList.count() > 5)
- negativeList.removeLast();
-
- if (z < WHIP_FACTOR
- && qAbs(diffX) > -(accelRange * .1285)//-5.0115
- && qAbs(lastX) < 7
- && qAbs(x) < 7) {
- whipMap.insert(0,true);
- if (!detecting && !timerActive) {
- timerActive = true;
- detecting = true;
- }
- } else {
- whipMap.insert(0,false);
- }
-
- // check if shaking
- if ((((x < 0 && lastX > 0) || (x > 0 && lastX < 0))
- && qAbs(diffX) > (accelRange * 0.7)) //27.3
- || (((y < 0 && lastY > 0) || (y > 0 && lastY < 0))
- && qAbs(diffY) > (accelRange * 0.7))) {
- negativeList.insert(0,true);
- } else {
- negativeList.insert(0,false);
- }
-
- lastX = x;
- lastY = y;
- lastZ = z;
-
- if (timerActive && lastTimestamp > 0)
- lapsedTime += (timestamp - lastTimestamp )/1000;
-
- if (timerActive && lapsedTime >= TIMER_TIMEOUT) {
- timeout();
- }
-}
-
-void QWhipSensorGestureRecognizer::timeout()
-{
- detecting = false;
-}
-
-
-void QWhipSensorGestureRecognizer::checkForWhip()
-{
- whipOk = false;
-
- int check = 0;
- Q_FOREACH (qreal az, zList) {
- if (az < -10)
- check++;
- }
- if (check >= 4)
- whipOk = true;
- else
- return;
-
- if (whipOk) {
- bool ok = true;
- for (int i = 0; i < negativeList.count() - 1; i++) {
- if (negativeList.at(i)) {
- ok = false;
- }
- }
- if (ok) {
- Q_EMIT whip();
- Q_EMIT detected("whip");
- }
- detecting = false;
- whipMap.clear();
- timerActive = false;
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h b/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h
deleted file mode 100644
index 6d674ab5..00000000
--- a/src/plugins/sensorgestures/qtsensors/qwhipsensorgesturerecognizer.h
+++ /dev/null
@@ -1,100 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-#ifndef QWHIPSENSORGESTURERECOGNIZER_H
-#define QWHIPSENSORGESTURERECOGNIZER_H
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-
-#include "qtsensorgesturesensorhandler.h"
-
-QT_BEGIN_NAMESPACE
-
-class QWhipSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
- explicit QWhipSensorGestureRecognizer(QObject *parent = 0);
- ~QWhipSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
- void whip();
-
-private slots:
- void accelChanged(QAccelerometerReading *reading);
- void orientationReadingChanged(QOrientationReading *reading);
- void timeout();
-
-private:
- QOrientationReading *orientationReading;
- qreal accelRange;
- bool active;
-
- qreal lastX;
- qreal lastY;
- qreal lastZ;
-
- bool detecting;
- bool whipOk;
-
- QList<bool> whipMap;
-
- void checkForWhip();
-
- QList <bool> negativeList;
-
- QList<qreal> zList;
-
- quint64 lastTimestamp;
-
- bool timerActive;
- quint64 lapsedTime;
-
-};
-
-QT_END_NAMESPACE
-#endif // QWHIPSENSORGESTURERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/sensorgestures.pro b/src/plugins/sensorgestures/sensorgestures.pro
deleted file mode 100644
index 162fb8eb..00000000
--- a/src/plugins/sensorgestures/sensorgestures.pro
+++ /dev/null
@@ -1,2 +0,0 @@
-TEMPLATE = subdirs
-SUBDIRS += shake qtsensors
diff --git a/src/plugins/sensorgestures/shake/qshakerecognizer.cpp b/src/plugins/sensorgestures/shake/qshakerecognizer.cpp
deleted file mode 100644
index b9ccbdbb..00000000
--- a/src/plugins/sensorgestures/shake/qshakerecognizer.cpp
+++ /dev/null
@@ -1,160 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDebug>
-#include <QTimer>
-
-#include "qshakerecognizer.h"
-
-QShakeSensorGestureRecognizer::QShakeSensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
- , timerTimeout(450)
- , active(0)
- , shaking(0)
- , shakeCount(0)
-{
-}
-
-QShakeSensorGestureRecognizer::~QShakeSensorGestureRecognizer()
-{
-}
-
-void QShakeSensorGestureRecognizer::create()
-{
- accel = new QAccelerometer(this);
- accel->connectToBackend();
- accel->setDataRate(50);
-
- qoutputrangelist outputranges = accel->outputRanges();
-
- if (outputranges.count() > 0)
- accelRange = (int)(outputranges.at(0).maximum *2) / 9.8; //approx range in g's
- else
- accelRange = 4; //this should never happen
-
- connect(accel,SIGNAL(readingChanged()),this,SLOT(accelChanged()));
- timer = new QTimer(this);
- connect(timer,SIGNAL(timeout()),this,SLOT(timeout()));
- timer->setSingleShot(true);
- timer->setInterval(timerTimeout);
-}
-
-bool QShakeSensorGestureRecognizer::start()
-{
- active = accel->start();
- return active;
-}
-
-bool QShakeSensorGestureRecognizer::stop()
-{
- accel->stop();
- active = accel->isActive();
- return !active;
-}
-
-bool QShakeSensorGestureRecognizer::isActive()
-{
- return active;
-}
-
-QString QShakeSensorGestureRecognizer::id() const
-{
- return QString("QtSensors.shake");
-}
-
-#define NUMBER_SHAKES 3
-#define THRESHOLD 25
-
-void QShakeSensorGestureRecognizer::accelChanged()
-{
- qreal x = accel->reading()->x();
- qreal y = accel->reading()->y();
- qreal z = accel->reading()->z();
-
- currentData.x = x;
- currentData.y = y;
- currentData.z = z;
-
- if (qAbs(prevData.x - currentData.x) < 1
- && qAbs(prevData.y - currentData.y) < 1
- && qAbs(prevData.z - currentData.z) < 1) {
- prevData.x = currentData.x;
- prevData.y = currentData.y;
- prevData.z = currentData.z;
- return;
- }
-
- bool wasShake = checkForShake(prevData, currentData, THRESHOLD);
- if (!shaking && wasShake &&
- shakeCount >= NUMBER_SHAKES) {
- shaking = true;
- shakeCount = 0;
- Q_EMIT shake();
- Q_EMIT detected("shake");
-
- } else if (wasShake) {
-
- shakeCount++;
- if (shakeCount > NUMBER_SHAKES) {
- timer->start();
- }
- }
-
- prevData.x = currentData.x;
- prevData.y = currentData.y;
- prevData.z = currentData.z;
-}
-
-void QShakeSensorGestureRecognizer::timeout()
-{
- shakeCount = 0;
- shaking = false;
-}
-
-bool QShakeSensorGestureRecognizer::checkForShake(AccelData prevSensorData, AccelData currentSensorData, qreal threshold)
-{
- double deltaX = qAbs(prevSensorData.x - currentSensorData.x);
- double deltaY = qAbs(prevSensorData.y - currentSensorData.y);
- double deltaZ = qAbs(prevSensorData.z - currentSensorData.z);
-
- return (deltaX > threshold
- || deltaY > threshold
- || deltaZ > threshold);
-}
-
diff --git a/src/plugins/sensorgestures/shake/qshakerecognizer.h b/src/plugins/sensorgestures/shake/qshakerecognizer.h
deleted file mode 100644
index 21c85664..00000000
--- a/src/plugins/sensorgestures/shake/qshakerecognizer.h
+++ /dev/null
@@ -1,98 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSHAKERECOGNIZER_H
-#define QSHAKERECOGNIZER_H
-
-
-#include <QtSensors/QSensor>
-#include <QtSensors/QAccelerometer>
-#include <QtSensors/QAccelerometerFilter>
-#include <QDebug>
-#include <QTimer>
-
-#include <QtSensors/qsensorgesturerecognizer.h>
-
- struct AccelData {
- qreal x;
- qreal y;
- qreal z;
-};
-
-class QShakeSensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-
-public:
-
- QShakeSensorGestureRecognizer(QObject *parent = 0);
- ~QShakeSensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
- QTimer *timer;
- int timerTimeout;
-
-Q_SIGNALS:
- void shake();
-
-private slots:
- void accelChanged();
- void timeout();
-private:
- QAccelerometer *accel;
- bool active;
- int accelRange;
-
- AccelData prevData;
- AccelData currentData;
-
- bool checkForShake(AccelData prevSensorData, AccelData currentSensorData, qreal threshold);
- bool shaking;
- int shakeCount;
- int threshold;
-
-};
-
-#endif // QSHAKERECOGNIZER_H
diff --git a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp b/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp
deleted file mode 100644
index 243b2dbf..00000000
--- a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtPlugin>
-#include <QStringList>
-#include <QObject>
-
-#include "qshakesensorgestureplugin.h"
-
-#include <QtSensors/qsensorgestureplugininterface.h>
-
-#include "qshakerecognizer.h"
-
-
-QShakeSensorGesturePlugin::QShakeSensorGesturePlugin()
-{
-}
-
-QShakeSensorGesturePlugin::~QShakeSensorGesturePlugin()
-{
-}
-
-QStringList QShakeSensorGesturePlugin::supportedIds() const
-{
- QStringList list;
- list << "QtSensors.shake";
- return list;
-}
-
-QList <QSensorGestureRecognizer *> QShakeSensorGesturePlugin::createRecognizers()
-{
- QList <QSensorGestureRecognizer *> recognizers;
-
- QSensorGestureRecognizer *sRec = new QShakeSensorGestureRecognizer(this);
- recognizers.append(sRec);
-
- return recognizers;
-}
diff --git a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h b/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h
deleted file mode 100644
index 96814eb8..00000000
--- a/src/plugins/sensorgestures/shake/qshakesensorgestureplugin.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSHAKESENSORGESTUREPLUGIN_H
-#define QSHAKESENSORGESTUREPLUGIN_H
-
-#include <QObject>
-#include <QStringList>
-
-#include <QtSensors/qsensorgestureplugininterface.h>
-
-class QShakeSensorGesturePlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.QSensorGesturePluginInterface")
- Q_INTERFACES(QSensorGesturePluginInterface)
-
-public:
- explicit QShakeSensorGesturePlugin();
- ~QShakeSensorGesturePlugin();
-
- QList <QSensorGestureRecognizer *> createRecognizers() override;
-
- QStringList gestureSignals() const;
- QStringList supportedIds() const override;
- QString name() const override { return "ShakeGestures"; }
-};
-
-#endif // QSHAKESENSORGESTUREPLUGIN_H
diff --git a/src/plugins/sensorgestures/shake/shake.pro b/src/plugins/sensorgestures/shake/shake.pro
deleted file mode 100644
index efa2a0cb..00000000
--- a/src/plugins/sensorgestures/shake/shake.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TARGET = qtsensorgestures_shakeplugin
-QT = core sensors
-
-# Input
-HEADERS += qshakesensorgestureplugin.h \
- qshakerecognizer.h
-SOURCES += qshakesensorgestureplugin.cpp \
- qshakerecognizer.cpp
-
-OTHER_FILES += \
- plugin.json
-
-PLUGIN_TYPE = sensorgestures
-PLUGIN_CLASS_NAME = QShakeSensorGesturePlugin
-PLUGIN_EXTENDS = -
-load(qt_plugin)
diff --git a/src/plugins/sensors/CMakeLists.txt b/src/plugins/sensors/CMakeLists.txt
new file mode 100644
index 00000000..e7527d8f
--- /dev/null
+++ b/src/plugins/sensors/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# all get generic sensor
+add_subdirectory(generic)
+
+if(ANDROID AND NOT SENSORS_PLUGINS OR "sensorfw" IN_LIST SENSORS_PLUGINS)
+ add_subdirectory(android)
+endif()
+
+# Currently disabled, see src/sensors/configure.cmake
+#if (QT_FEATURE_sensorfw AND NOT SENSORS_PLUGINS OR "sensorfw" IN_LIST SENSORS_PLUGINS)
+# add_subdirectory(sensorfw)
+#endif()
+
+if (QT_FEATURE_winrt_sensors AND NOT SENSORS_PLUGINS OR "winrt" IN_LIST SENSORS_PLUGINS)
+ add_subdirectory(winrt)
+endif()
+
+if (IOS AND NOT SENSORS_PLUGINS OR "ios" IN_LIST SENSORS_PLUGINS)
+ add_subdirectory(ios)
+endif()
+
+if(LINUX AND TARGET Qt::DBus AND NOT SENSORS_PLUGINS OR "iio-sensor-proxy" IN_LIST SENSORS_PLUGINS)
+ add_subdirectory(iio-sensor-proxy)
+endif()
+
+if("dummy" IN_LIST SENSORS_PLUGINS)
+ add_subdirectory(dummy)
+endif()
diff --git a/src/plugins/sensors/android/CMakeLists.txt b/src/plugins/sensors/android/CMakeLists.txt
new file mode 100644
index 00000000..9a77a9a5
--- /dev/null
+++ b/src/plugins/sensors/android/CMakeLists.txt
@@ -0,0 +1,35 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## QCounterGesturePlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(AndroidSensorPlugin
+ OUTPUT_NAME qtsensors_android
+ PLUGIN_TYPE sensors
+ SOURCES
+ androidaccelerometer.cpp androidaccelerometer.h
+ androidcompass.cpp androidcompass.h
+ androidgyroscope.cpp androidgyroscope.h
+ androidlight.cpp androidlight.h
+ androidmagnetometer.cpp androidmagnetometer.h
+ androidpressure.cpp androidpressure.h
+ androidproximity.cpp androidproximity.h
+ androidrotation.cpp androidrotation.h
+ androidtemperature.cpp androidtemperature.h
+ main.cpp
+ sensoreventqueue.h
+ sensormanager.cpp sensormanager.h
+ DEFINES
+ # STATICPLUGIN needed because there's a Q_IMPORT_PLUGIN in main.cpp
+ # Yes, the plugin imports itself statically
+ QT_STATICPLUGIN
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::Sensors
+ android
+)
+
+#### Keys ignored in scope 1:.:.:android.pro:<TRUE>:
+# OTHER_FILES = "plugin.json"
diff --git a/src/plugins/sensors/android/android.pro b/src/plugins/sensors/android/android.pro
deleted file mode 100644
index 15e26ee9..00000000
--- a/src/plugins/sensors/android/android.pro
+++ /dev/null
@@ -1,41 +0,0 @@
-TARGET = qtsensors_android
-
-QT = sensors core-private
-
-# STATICPLUGIN needed because there's a Q_IMPORT_PLUGIN in main.cpp
-# Yes, the plugin imports itself statically
-DEFINES += QT_STATICPLUGIN
-
-HEADERS = \
- androidaccelerometer.h \
- androidcompass.h \
- androidgyroscope.h \
- androidmagnetometer.h \
- androidpressure.h \
- androidproximity.h \
- androidrotation.h \
- androidtemperature.h \
- androidlight.h \
- sensoreventqueue.h \
- sensormanager.h
-
-SOURCES = \
- main.cpp \
- androidaccelerometer.cpp \
- androidcompass.cpp \
- androidgyroscope.cpp \
- androidmagnetometer.cpp \
- androidpressure.cpp \
- androidproximity.cpp \
- androidrotation.cpp \
- androidtemperature.cpp \
- androidlight.cpp \
- sensormanager.cpp
-
-OTHER_FILES = plugin.json
-
-LIBS += -landroid
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = QCounterGesturePlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/android/androidaccelerometer.cpp b/src/plugins/sensors/android/androidaccelerometer.cpp
index f38e0047..1e6004ed 100644
--- a/src/plugins/sensors/android/androidaccelerometer.cpp
+++ b/src/plugins/sensors/android/androidaccelerometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidaccelerometer.h"
#include <QDebug>
diff --git a/src/plugins/sensors/android/androidaccelerometer.h b/src/plugins/sensors/android/androidaccelerometer.h
index 04362451..32fa6410 100644
--- a/src/plugins/sensors/android/androidaccelerometer.h
+++ b/src/plugins/sensors/android/androidaccelerometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDACCELEROMETER_H
#define ANDROIDACCELEROMETER_H
diff --git a/src/plugins/sensors/android/androidcompass.cpp b/src/plugins/sensors/android/androidcompass.cpp
index 653c5e99..d6f4f0f7 100644
--- a/src/plugins/sensors/android/androidcompass.cpp
+++ b/src/plugins/sensors/android/androidcompass.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
/*
* Copyright (C) 2008 The Android Open Source Project
diff --git a/src/plugins/sensors/android/androidcompass.h b/src/plugins/sensors/android/androidcompass.h
index 1d20de72..592d641c 100644
--- a/src/plugins/sensors/android/androidcompass.h
+++ b/src/plugins/sensors/android/androidcompass.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDCOMPASS_H
#define ANDROIDCOMPASS_H
diff --git a/src/plugins/sensors/android/androidgyroscope.cpp b/src/plugins/sensors/android/androidgyroscope.cpp
index 2a38b5a0..acc4798a 100644
--- a/src/plugins/sensors/android/androidgyroscope.cpp
+++ b/src/plugins/sensors/android/androidgyroscope.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidgyroscope.h"
#include <QtCore/qmath.h>
diff --git a/src/plugins/sensors/android/androidgyroscope.h b/src/plugins/sensors/android/androidgyroscope.h
index 7d1ecec0..2dd3c8cc 100644
--- a/src/plugins/sensors/android/androidgyroscope.h
+++ b/src/plugins/sensors/android/androidgyroscope.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDGYROSCOPE_H
#define ANDROIDGYROSCOPE_H
diff --git a/src/plugins/sensors/android/androidlight.cpp b/src/plugins/sensors/android/androidlight.cpp
index 724ed970..42c8f0b7 100644
--- a/src/plugins/sensors/android/androidlight.cpp
+++ b/src/plugins/sensors/android/androidlight.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidlight.h"
diff --git a/src/plugins/sensors/android/androidlight.h b/src/plugins/sensors/android/androidlight.h
index 74c963fb..59c67981 100644
--- a/src/plugins/sensors/android/androidlight.h
+++ b/src/plugins/sensors/android/androidlight.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDLIGHT_H
#define ANDROIDLIGHT_H
diff --git a/src/plugins/sensors/android/androidmagnetometer.cpp b/src/plugins/sensors/android/androidmagnetometer.cpp
index ec663c0b..54d2225e 100644
--- a/src/plugins/sensors/android/androidmagnetometer.cpp
+++ b/src/plugins/sensors/android/androidmagnetometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidmagnetometer.h"
diff --git a/src/plugins/sensors/android/androidmagnetometer.h b/src/plugins/sensors/android/androidmagnetometer.h
index fb1f0ee7..e4e0fcbd 100644
--- a/src/plugins/sensors/android/androidmagnetometer.h
+++ b/src/plugins/sensors/android/androidmagnetometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDMAGNETOMETER_H
#define ANDROIDMAGNETOMETER_H
diff --git a/src/plugins/sensors/android/androidpressure.cpp b/src/plugins/sensors/android/androidpressure.cpp
index 46acffd6..50dd86a0 100644
--- a/src/plugins/sensors/android/androidpressure.cpp
+++ b/src/plugins/sensors/android/androidpressure.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidpressure.h"
diff --git a/src/plugins/sensors/android/androidpressure.h b/src/plugins/sensors/android/androidpressure.h
index ec682e59..7121d73c 100644
--- a/src/plugins/sensors/android/androidpressure.h
+++ b/src/plugins/sensors/android/androidpressure.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDPRESSURE_H
#define ANDROIDPRESSURE_H
diff --git a/src/plugins/sensors/android/androidproximity.cpp b/src/plugins/sensors/android/androidproximity.cpp
index 000399b0..2c134ba0 100644
--- a/src/plugins/sensors/android/androidproximity.cpp
+++ b/src/plugins/sensors/android/androidproximity.cpp
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BogDan Vatra <bogdan@kde.org>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 BogDan Vatra <bogdan@kde.org>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidproximity.h"
diff --git a/src/plugins/sensors/android/androidproximity.h b/src/plugins/sensors/android/androidproximity.h
index 22169d6f..215292e8 100644
--- a/src/plugins/sensors/android/androidproximity.h
+++ b/src/plugins/sensors/android/androidproximity.h
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BogDan Vatra <bogdan@kde.org>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 BogDan Vatra <bogdan@kde.org>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDPROXIMITY_H
#define ANDROIDPROXIMITY_H
diff --git a/src/plugins/sensors/android/androidrotation.cpp b/src/plugins/sensors/android/androidrotation.cpp
index c1d141a0..43586a0f 100644
--- a/src/plugins/sensors/android/androidrotation.cpp
+++ b/src/plugins/sensors/android/androidrotation.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidrotation.h"
@@ -48,12 +12,41 @@ AndroidRotation::AndroidRotation(int type, QSensor *sensor, QObject *parent)
void AndroidRotation::dataReceived(const ASensorEvent &event)
{
- // ### Check me, at first look it seems wrong,
- // here https://developer.android.com/reference/android/hardware/SensorEvent.html#sensor.type_rotation_vector:
- // are the Android values
- qreal rz = -qRadiansToDegrees(qreal(event.data[0])); // event.data[0] corresponds to x
- qreal rx = -qRadiansToDegrees(qreal(event.data[1])); // event.data[1] corresponds to y
- qreal ry = qRadiansToDegrees(qreal(event.data[2])); // event.data[2] corresponds to z
+ // From android documentation, the rotation sensor values are:
+ // values[0]: x*sin(θ/2)
+ // values[1]: y*sin(θ/2)
+ // values[2]: z*sin(θ/2)
+ // values[3]: cos(θ/2)
+
+ // The mathematics below is adapted from
+ // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/hardware/SensorManager.java#1644
+ // and
+ // https://android.googlesource.com/platform/frameworks/base/+/master/core/java/android/hardware/SensorManager.java#1469
+ // (getRotationMatrixFromVector() followed by getOrientation())
+ qreal angles[3];
+ qreal q1 = qreal(event.data[0]);
+ qreal q2 = qreal(event.data[1]);
+ qreal q3 = qreal(event.data[2]);
+ qreal q0 = qreal(event.data[3]);
+
+ qreal sq_q1 = 2 * q1 * q1;
+ qreal sq_q2 = 2 * q2 * q2;
+ qreal sq_q3 = 2 * q3 * q3;
+ qreal q1_q2 = 2 * q1 * q2;
+ qreal q3_q0 = 2 * q3 * q0;
+ qreal q1_q3 = 2 * q1 * q3;
+ qreal q2_q0 = 2 * q2 * q0;
+ qreal q2_q3 = 2 * q2 * q3;
+ qreal q1_q0 = 2 * q1 * q0;
+
+ angles[0] = std::atan2((q1_q2 - q3_q0), (1 - sq_q1 - sq_q3));
+ angles[1] = std::asin(-(q2_q3 + q1_q0));
+ angles[2] = std::atan2(-(q1_q3 - q2_q0), (1 - sq_q1 - sq_q2));
+
+ qreal rz = -qRadiansToDegrees(angles[0]);
+ qreal rx = -qRadiansToDegrees(angles[1]);
+ qreal ry = qRadiansToDegrees(angles[2]);
+
if (sensor()->skipDuplicates() && qFuzzyCompare(m_reader.x(), rx) &&
qFuzzyCompare(m_reader.y(), ry) &&
qFuzzyCompare(m_reader.z(), rz)) {
diff --git a/src/plugins/sensors/android/androidrotation.h b/src/plugins/sensors/android/androidrotation.h
index 9761b249..84860c11 100644
--- a/src/plugins/sensors/android/androidrotation.h
+++ b/src/plugins/sensors/android/androidrotation.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDROTATION_H
#define ANDROIDROTATION_H
diff --git a/src/plugins/sensors/android/androidtemperature.cpp b/src/plugins/sensors/android/androidtemperature.cpp
index 5f85750a..f4c6cbe2 100644
--- a/src/plugins/sensors/android/androidtemperature.cpp
+++ b/src/plugins/sensors/android/androidtemperature.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "androidtemperature.h"
diff --git a/src/plugins/sensors/android/androidtemperature.h b/src/plugins/sensors/android/androidtemperature.h
index ba626051..654a5faa 100644
--- a/src/plugins/sensors/android/androidtemperature.h
+++ b/src/plugins/sensors/android/androidtemperature.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef ANDROIDTEMPERATURE_H
#define ANDROIDTEMPERATURE_H
diff --git a/src/plugins/sensors/android/main.cpp b/src/plugins/sensors/android/main.cpp
index 85853cd2..8c2855cd 100644
--- a/src/plugins/sensors/android/main.cpp
+++ b/src/plugins/sensors/android/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qplugin.h>
#include <qsensorplugin.h>
@@ -77,7 +41,7 @@ public:
switch (sensor) {
case ASENSOR_TYPE_ACCELEROMETER:
m_accelerationModes |= AndroidAccelerometer::Accelerometer;
- QSensorManager::registerBackend(QAccelerometer::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QAccelerometer::sensorType, QByteArray::number(sensor), this);
accelerometer = true;
break;
case ASENSOR_TYPE_GRAVITY:
@@ -87,26 +51,26 @@ public:
m_accelerationModes |= AndroidAccelerometer::LinearAcceleration;
break;
case ASENSOR_TYPE_AMBIENT_TEMPERATURE:
- QSensorManager::registerBackend(QAmbientTemperatureSensor::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QAmbientTemperatureSensor::sensorType, QByteArray::number(sensor), this);
break;
case ASENSOR_TYPE_GYROSCOPE:
- QSensorManager::registerBackend(QGyroscope::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QGyroscope::sensorType, QByteArray::number(sensor), this);
break;
case ASENSOR_TYPE_LIGHT:
- QSensorManager::registerBackend(QLightSensor::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QLightSensor::sensorType, QByteArray::number(sensor), this);
break;
case ASENSOR_TYPE_MAGNETIC_FIELD:
- QSensorManager::registerBackend(QMagnetometer::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QMagnetometer::sensorType, QByteArray::number(sensor), this);
magnetometer = true;
break;
case ASENSOR_TYPE_PRESSURE:
- QSensorManager::registerBackend(QPressureSensor::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QPressureSensor::sensorType, QByteArray::number(sensor), this);
break;
case ASENSOR_TYPE_PROXIMITY:
- QSensorManager::registerBackend(QProximitySensor::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QProximitySensor::sensorType, QByteArray::number(sensor), this);
break;
case ASENSOR_TYPE_ROTATION_VECTOR:
- QSensorManager::registerBackend(QRotationSensor::type, QByteArray::number(sensor), this);
+ QSensorManager::registerBackend(QRotationSensor::sensorType, QByteArray::number(sensor), this);
break;
case ASENSOR_TYPE_RELATIVE_HUMIDITY:
@@ -128,7 +92,7 @@ public:
}
}
if (accelerometer && magnetometer)
- QSensorManager::registerBackend(QCompass::type, AndroidCompassId, this);
+ QSensorManager::registerBackend(QCompass::sensorType, AndroidCompassId, this);
}
QSensorBackend *createBackend(QSensor *sensor) override
diff --git a/src/plugins/sensors/android/sensoreventqueue.h b/src/plugins/sensors/android/sensoreventqueue.h
index 77bf05c6..b18401e9 100644
--- a/src/plugins/sensors/android/sensoreventqueue.h
+++ b/src/plugins/sensors/android/sensoreventqueue.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSOREVENTQUEUE_H
#define SENSOREVENTQUEUE_H
@@ -125,8 +89,9 @@ public:
void start() override
{
ASensorEventQueue_enableSensor(m_sensorEventQueue, m_sensor);
+ // The QSensor datarate is in Hz (frequency), whereas the setEventRate expects microseconds
if (sensor()->dataRate() > 0)
- ASensorEventQueue_setEventRate(m_sensorEventQueue, m_sensor, std::max(ASensor_getMinDelay(m_sensor), sensor()->dataRate()));
+ ASensorEventQueue_setEventRate(m_sensorEventQueue, m_sensor, std::max(ASensor_getMinDelay(m_sensor), 1000000/sensor()->dataRate()));
m_started = true;
}
void stop() override
diff --git a/src/plugins/sensors/android/sensormanager.cpp b/src/plugins/sensors/android/sensormanager.cpp
index 542e54c9..755b6109 100644
--- a/src/plugins/sensors/android/sensormanager.cpp
+++ b/src/plugins/sensors/android/sensormanager.cpp
@@ -1,48 +1,23 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensormanager.h"
+#include <QtCore/qcoreapplication.h>
+#include <QtCore/qjnitypes.h>
+
#include <dlfcn.h>
+Q_DECLARE_JNI_CLASS(AndroidContext, "android/content/Context")
+Q_DECLARE_JNI_CLASS(Sensor, "android/hardware/Sensor")
+
SensorManager::SensorManager()
{
- auto sensorService = QJNIObjectPrivate::getStaticObjectField("android.content.Context", "SENSOR_SERVICE", "Ljava/lang/String;");
- m_sensorManager = QJNIObjectPrivate{QtAndroidPrivate::context()}.callObjectMethod("getSystemService", "(Ljava/lang/String;)Ljava/lang/Object;", sensorService.object());
+ auto sensorService =
+ QJniObject::getStaticField<QtJniTypes::AndroidContext, jstring>("SENSOR_SERVICE");
+
+ QJniObject context = QNativeInterface::QAndroidApplication::context();
+ m_sensorManager = context.callMethod<jobject>("getSystemService",
+ sensorService.object<jstring>());
setObjectName("QtSensorsLooperThread");
start();
m_waitForStart.acquire();
@@ -50,13 +25,14 @@ SensorManager::SensorManager()
SensorManager::~SensorManager()
{
- m_quit.store(1);
+ m_quit.storeRelaxed(1);
wait();
}
-QJNIObjectPrivate SensorManager::javaSensor(const ASensor *sensor) const
+QJniObject SensorManager::javaSensor(const ASensor *sensor) const
{
- return m_sensorManager.callObjectMethod("getDefaultSensor", "(I)Landroid/hardware/Sensor;", ASensor_getType(sensor));
+ return m_sensorManager.callMethod<QtJniTypes::Sensor>("getDefaultSensor",
+ ASensor_getType(sensor));
}
QSharedPointer<SensorManager> &SensorManager::instance()
@@ -72,19 +48,18 @@ ALooper *SensorManager::looper() const
static inline ASensorManager* androidManager()
{
+ QJniObject context = QNativeInterface::QAndroidApplication::context();
+ auto packageName = context.callMethod<jstring>("getPackageName").toString().toUtf8();
+
#if __ANDROID_API__ >= 26
- return ASensorManager_getInstanceForPackage(QJNIObjectPrivate{QtAndroidPrivate::context()}
- .callObjectMethod("getPackageName", "()Ljava/lang/String;")
- .toString().toUtf8().constData());
+ return ASensorManager_getInstanceForPackage(packageName.constData());
#else
- if (QtAndroidPrivate::androidSdkVersion() >= 26) {
+ if (QNativeInterface::QAndroidApplication::sdkVersion() >= 26) {
using GetInstanceForPackage = ASensorManager *(*)(const char *);
auto handler = dlopen("libandroid.so", RTLD_NOW);
auto function = GetInstanceForPackage(dlsym(handler, "ASensorManager_getInstanceForPackage"));
if (function) {
- auto res = function(QJNIObjectPrivate{QtAndroidPrivate::context()}
- .callObjectMethod("getPackageName", "()Ljava/lang/String;")
- .toString().toUtf8().constData());
+ auto res = function(packageName.constData());
dlclose(handler);
return res;
}
@@ -101,7 +76,8 @@ ASensorManager *SensorManager::manager() const
QString SensorManager::description(const ASensor *sensor) const
{
- return QString::fromUtf8(ASensor_getName(sensor)) + " " + ASensor_getVendor(sensor) + " v" + QString::number(javaSensor(sensor).callMethod<jint>("getVersion"));
+ return QString::fromUtf8(ASensor_getName(sensor)) + " " + ASensor_getVendor(sensor)
+ + " v" + QString::number(javaSensor(sensor).callMethod<jint>("getVersion"));
}
double SensorManager::getMaximumRange(const ASensor *sensor) const
@@ -116,5 +92,5 @@ void SensorManager::run()
do {
if (ALooper_pollAll(5 /*ms*/, nullptr, nullptr, nullptr) == ALOOPER_POLL_TIMEOUT)
QThread::yieldCurrentThread();
- } while (!m_quit.load());
+ } while (!m_quit.loadRelaxed());
}
diff --git a/src/plugins/sensors/android/sensormanager.h b/src/plugins/sensors/android/sensormanager.h
index dc7ffe1f..1d3c274b 100644
--- a/src/plugins/sensors/android/sensormanager.h
+++ b/src/plugins/sensors/android/sensormanager.h
@@ -1,52 +1,15 @@
-/****************************************************************************
-**
-** Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// Copyright (C) 2019 BogDan Vatra <bogdan@kde.org>
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORMANAGER_H
#define SENSORMANAGER_H
-#include <QThread>
-#include <QSemaphore>
-#include <QMutex>
-#include <QWaitCondition>
-
-#include <private/qjni_p.h>
-#include <private/qjnihelpers_p.h>
+#include <QtCore/qthread.h>
+#include <QtCore/qsemaphore.h>
+#include <QtCore/qmutex.h>
+#include <QtCore/qwaitcondition.h>
+#include <QtCore/qjniobject.h>
#include <android/sensor.h>
@@ -58,7 +21,7 @@ public:
ALooper *looper() const;
ASensorManager *manager() const;
- QJNIObjectPrivate javaSensor(const ASensor *sensor) const;
+ QJniObject javaSensor(const ASensor *sensor) const;
QString description(const ASensor *sensor) const;
double getMaximumRange(const ASensor *sensor) const;
@@ -71,7 +34,7 @@ private:
QAtomicInt m_quit{0};
ALooper *m_looper = nullptr;
QSemaphore m_waitForStart;
- QJNIObjectPrivate m_sensorManager;
+ QJniObject m_sensorManager;
};
#endif // SENSORMANAGER_H
diff --git a/src/plugins/sensors/dummy/CMakeLists.txt b/src/plugins/sensors/dummy/CMakeLists.txt
new file mode 100644
index 00000000..19f93329
--- /dev/null
+++ b/src/plugins/sensors/dummy/CMakeLists.txt
@@ -0,0 +1,30 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## dummySensorPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(dummySensorPlugin
+ OUTPUT_NAME qtsensors_dummy
+ PLUGIN_TYPE sensors
+ SOURCES
+ dummyaccelerometer.cpp dummyaccelerometer.h
+ dummycommon.cpp dummycommon.h
+ dummylightsensor.cpp dummylightsensor.h
+ main.cpp
+ LIBRARIES
+ Qt::Core
+ Qt::Sensors
+)
+
+#### Keys ignored in scope 1:.:.:dummy.pro:<TRUE>:
+# OTHER_FILES = "plugin.json"
+
+## Scopes:
+#####################################################################
+
+qt_internal_extend_target(dummySensorPlugin CONDITION UNIX AND NOT ANDROID AND NOT APPLE AND NOT OPENBSD AND NOT QNX
+ LIBRARIES
+ rt
+)
diff --git a/src/plugins/sensors/dummy/dummy.pro b/src/plugins/sensors/dummy/dummy.pro
deleted file mode 100644
index 6eab4912..00000000
--- a/src/plugins/sensors/dummy/dummy.pro
+++ /dev/null
@@ -1,19 +0,0 @@
-TARGET = qtsensors_dummy
-QT = sensors core
-
-HEADERS += dummycommon.h\
- dummyaccelerometer.h\
- dummylightsensor.h
-
-SOURCES += dummycommon.cpp\
- dummyaccelerometer.cpp\
- dummylightsensor.cpp\
- main.cpp
-
-OTHER_FILES = plugin.json
-
-unix:!darwin:!qnx:!android:!openbsd: LIBS += -lrt
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = dummySensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/dummy/dummyaccelerometer.cpp b/src/plugins/sensors/dummy/dummyaccelerometer.cpp
index f0246915..c46683ef 100644
--- a/src/plugins/sensors/dummy/dummyaccelerometer.cpp
+++ b/src/plugins/sensors/dummy/dummyaccelerometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "dummyaccelerometer.h"
#include <QDebug>
diff --git a/src/plugins/sensors/dummy/dummyaccelerometer.h b/src/plugins/sensors/dummy/dummyaccelerometer.h
index 6c890f64..3d1a99cc 100644
--- a/src/plugins/sensors/dummy/dummyaccelerometer.h
+++ b/src/plugins/sensors/dummy/dummyaccelerometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef DUMMYACCELEROMETER_H
#define DUMMYACCELEROMETER_H
diff --git a/src/plugins/sensors/dummy/dummycommon.cpp b/src/plugins/sensors/dummy/dummycommon.cpp
index 4a19b13f..f5b63146 100644
--- a/src/plugins/sensors/dummy/dummycommon.cpp
+++ b/src/plugins/sensors/dummy/dummycommon.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "dummycommon.h"
@@ -54,7 +18,7 @@ void dummycommon::start()
int dataRate = sensor()->dataRate();
if (dataRate == 0) {
- if (sensor()->availableDataRates().count())
+ if (sensor()->availableDataRates().size())
// Use the first available rate when -1 is chosen
dataRate = sensor()->availableDataRates().first().first;
else
diff --git a/src/plugins/sensors/dummy/dummycommon.h b/src/plugins/sensors/dummy/dummycommon.h
index 5e775b64..8f5f9703 100644
--- a/src/plugins/sensors/dummy/dummycommon.h
+++ b/src/plugins/sensors/dummy/dummycommon.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef DUMMYCOMMON_H
#define DUMMYCOMMON_H
diff --git a/src/plugins/sensors/dummy/dummylightsensor.cpp b/src/plugins/sensors/dummy/dummylightsensor.cpp
index 8f2a9b8e..efdf360b 100644
--- a/src/plugins/sensors/dummy/dummylightsensor.cpp
+++ b/src/plugins/sensors/dummy/dummylightsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "dummylightsensor.h"
#include <QDebug>
diff --git a/src/plugins/sensors/dummy/dummylightsensor.h b/src/plugins/sensors/dummy/dummylightsensor.h
index 3bcaf413..5a4e84ec 100644
--- a/src/plugins/sensors/dummy/dummylightsensor.h
+++ b/src/plugins/sensors/dummy/dummylightsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef DUMMYLIGHTSENSOR_H
#define DUMMYLIGHTSENSOR_H
diff --git a/src/plugins/sensors/dummy/main.cpp b/src/plugins/sensors/dummy/main.cpp
index 13dd732e..79755753 100644
--- a/src/plugins/sensors/dummy/main.cpp
+++ b/src/plugins/sensors/dummy/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "dummyaccelerometer.h"
#include "dummylightsensor.h"
@@ -53,8 +17,8 @@ class dummySensorPlugin : public QObject, public QSensorPluginInterface, public
public:
void registerSensors() override
{
- QSensorManager::registerBackend(QAccelerometer::type, dummyaccelerometer::id, this);
- QSensorManager::registerBackend(QAmbientLightSensor::type, dummylightsensor::id, this);
+ QSensorManager::registerBackend(QAccelerometer::sensorType, dummyaccelerometer::id, this);
+ QSensorManager::registerBackend(QAmbientLightSensor::sensorType, dummylightsensor::id, this);
}
QSensorBackend *createBackend(QSensor *sensor) override
diff --git a/src/plugins/sensors/generic/CMakeLists.txt b/src/plugins/sensors/generic/CMakeLists.txt
new file mode 100644
index 00000000..449401ab
--- /dev/null
+++ b/src/plugins/sensors/generic/CMakeLists.txt
@@ -0,0 +1,36 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## genericSensorPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(genericSensorPlugin
+ OUTPUT_NAME qtsensors_generic
+ PLUGIN_TYPE sensors
+ SOURCES
+ genericalssensor.cpp genericalssensor.h
+ genericorientationsensor.cpp genericorientationsensor.h
+ generictiltsensor.cpp generictiltsensor.h
+ main.cpp
+ DEFINES
+ QTSENSORS_GENERICALSSENSOR
+ QTSENSORS_GENERICORIENTATIONSENSOR
+ QTSENSORS_GENERICTILTSENSOR
+ LIBRARIES
+ Qt::Core
+ Qt::Sensors
+)
+
+#### Keys ignored in scope 1:.:.:generic.pro:<TRUE>:
+# OTHER_FILES = "plugin.json"
+
+## Scopes:
+#####################################################################
+
+qt_internal_extend_target(genericSensorPlugin CONDITION NOT ANDROID
+ SOURCES
+ genericrotationsensor.cpp genericrotationsensor.h
+ DEFINES
+ QTSENSORS_GENERICROTATIONSENSOR
+)
diff --git a/src/plugins/sensors/generic/generic.pro b/src/plugins/sensors/generic/generic.pro
deleted file mode 100644
index cf87ccf3..00000000
--- a/src/plugins/sensors/generic/generic.pro
+++ /dev/null
@@ -1,29 +0,0 @@
-TARGET = qtsensors_generic
-QT = core sensors
-
-HEADERS += generictiltsensor.h
-
-SOURCES += main.cpp\
- generictiltsensor.cpp
-DEFINES += QTSENSORS_GENERICTILTSENSOR
-
-HEADERS += genericorientationsensor.h\
- genericalssensor.h
-
-SOURCES += genericorientationsensor.cpp\
- genericalssensor.cpp
-DEFINES += QTSENSORS_GENERICORIENTATIONSENSOR QTSENSORS_GENERICALSSENSOR
-
-!android {
- HEADERS += genericrotationsensor.h
-
- SOURCES += genericrotationsensor.cpp
-
- DEFINES += QTSENSORS_GENERICROTATIONSENSOR
-}
-
-OTHER_FILES = plugin.json
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = genericSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/generic/genericalssensor.cpp b/src/plugins/sensors/generic/genericalssensor.cpp
index cd20e7e8..af4441ef 100644
--- a/src/plugins/sensors/generic/genericalssensor.cpp
+++ b/src/plugins/sensors/generic/genericalssensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "genericalssensor.h"
#include <QDebug>
diff --git a/src/plugins/sensors/generic/genericalssensor.h b/src/plugins/sensors/generic/genericalssensor.h
index 3d10b9a1..544f27bb 100644
--- a/src/plugins/sensors/generic/genericalssensor.h
+++ b/src/plugins/sensors/generic/genericalssensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef GENERICALSSENSOR_H
#define GENERICALSSENSOR_H
diff --git a/src/plugins/sensors/generic/genericorientationsensor.cpp b/src/plugins/sensors/generic/genericorientationsensor.cpp
index 1bcaaa60..6f880cd8 100644
--- a/src/plugins/sensors/generic/genericorientationsensor.cpp
+++ b/src/plugins/sensors/generic/genericorientationsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "genericorientationsensor.h"
#include <QDebug>
diff --git a/src/plugins/sensors/generic/genericorientationsensor.h b/src/plugins/sensors/generic/genericorientationsensor.h
index 01265a02..c2f322a7 100644
--- a/src/plugins/sensors/generic/genericorientationsensor.h
+++ b/src/plugins/sensors/generic/genericorientationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef GENERICORIENTATIONSENSOR_H
#define GENERICORIENTATIONSENSOR_H
diff --git a/src/plugins/sensors/generic/genericrotationsensor.cpp b/src/plugins/sensors/generic/genericrotationsensor.cpp
index 40768297..2da1fbca 100644
--- a/src/plugins/sensors/generic/genericrotationsensor.cpp
+++ b/src/plugins/sensors/generic/genericrotationsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "genericrotationsensor.h"
#include <QDebug>
diff --git a/src/plugins/sensors/generic/genericrotationsensor.h b/src/plugins/sensors/generic/genericrotationsensor.h
index 98b8f974..cc642298 100644
--- a/src/plugins/sensors/generic/genericrotationsensor.h
+++ b/src/plugins/sensors/generic/genericrotationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef GENERICROTATIONSENSOR_H
#define GENERICROTATIONSENSOR_H
diff --git a/src/plugins/sensors/generic/generictiltsensor.cpp b/src/plugins/sensors/generic/generictiltsensor.cpp
index bb418893..1d17d0d2 100644
--- a/src/plugins/sensors/generic/generictiltsensor.cpp
+++ b/src/plugins/sensors/generic/generictiltsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "generictiltsensor.h"
#include <QDebug>
@@ -161,5 +125,5 @@ bool GenericTiltSensor::filter(QAccelerometerReading *reading)
bool GenericTiltSensor::isFeatureSupported(QSensor::Feature feature) const
{
- return (feature == QSensor::SkipDuplicates);
+ return (feature == QSensor::Feature::SkipDuplicates);
}
diff --git a/src/plugins/sensors/generic/generictiltsensor.h b/src/plugins/sensors/generic/generictiltsensor.h
index 71db69d3..3f7f438d 100644
--- a/src/plugins/sensors/generic/generictiltsensor.h
+++ b/src/plugins/sensors/generic/generictiltsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef GENERICTILTSENSOR_H
#define GENERICTILTSENSOR_H
diff --git a/src/plugins/sensors/generic/main.cpp b/src/plugins/sensors/generic/main.cpp
index 44bfff09..02154b2f 100644
--- a/src/plugins/sensors/generic/main.cpp
+++ b/src/plugins/sensors/generic/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifdef QTSENSORS_GENERICORIENTATIONSENSOR
#include "genericorientationsensor.h"
@@ -68,44 +32,44 @@ public:
void sensorsChanged() override
{
- if (!QSensor::defaultSensorForType(QAccelerometer::type).isEmpty()) {
+ if (!QSensor::defaultSensorForType(QAccelerometer::sensorType).isEmpty()) {
// There is an accelerometer available. Register the backends
#ifdef QTSENSORS_GENERICORIENTATIONSENSOR
- if (!QSensorManager::isBackendRegistered(QOrientationSensor::type, genericorientationsensor::id))
- QSensorManager::registerBackend(QOrientationSensor::type, genericorientationsensor::id, this);
+ if (!QSensorManager::isBackendRegistered(QOrientationSensor::sensorType, genericorientationsensor::id))
+ QSensorManager::registerBackend(QOrientationSensor::sensorType, genericorientationsensor::id, this);
#endif
#ifdef QTSENSORS_GENERICROTATIONSENSOR
- if (!QSensorManager::isBackendRegistered(QRotationSensor::type, genericrotationsensor::id))
- QSensorManager::registerBackend(QRotationSensor::type, genericrotationsensor::id, this);
+ if (!QSensorManager::isBackendRegistered(QRotationSensor::sensorType, genericrotationsensor::id))
+ QSensorManager::registerBackend(QRotationSensor::sensorType, genericrotationsensor::id, this);
#endif
#ifdef QTSENSORS_GENERICTILTSENSOR
- if (!QSensorManager::isBackendRegistered(QTiltSensor::type, GenericTiltSensor::id))
- QSensorManager::registerBackend(QTiltSensor::type, GenericTiltSensor::id, this);
+ if (!QSensorManager::isBackendRegistered(QTiltSensor::sensorType, GenericTiltSensor::id))
+ QSensorManager::registerBackend(QTiltSensor::sensorType, GenericTiltSensor::id, this);
#endif
} else {
#ifdef QTSENSORS_GENERICORIENTATIONSENSOR
- if (QSensorManager::isBackendRegistered(QOrientationSensor::type, genericorientationsensor::id))
- QSensorManager::unregisterBackend(QOrientationSensor::type, genericorientationsensor::id);
+ if (QSensorManager::isBackendRegistered(QOrientationSensor::sensorType, genericorientationsensor::id))
+ QSensorManager::unregisterBackend(QOrientationSensor::sensorType, genericorientationsensor::id);
#endif
#ifdef QTSENSORS_GENERICROTATIONSENSOR
- if (QSensorManager::isBackendRegistered(QRotationSensor::type, genericrotationsensor::id))
- QSensorManager::unregisterBackend(QRotationSensor::type, genericrotationsensor::id);
+ if (QSensorManager::isBackendRegistered(QRotationSensor::sensorType, genericrotationsensor::id))
+ QSensorManager::unregisterBackend(QRotationSensor::sensorType, genericrotationsensor::id);
#endif
#ifdef QTSENSORS_GENERICTILTSENSOR
- if (QSensorManager::isBackendRegistered(QTiltSensor::type, GenericTiltSensor::id))
- QSensorManager::unregisterBackend(QTiltSensor::type, GenericTiltSensor::id);
+ if (QSensorManager::isBackendRegistered(QTiltSensor::sensorType, GenericTiltSensor::id))
+ QSensorManager::unregisterBackend(QTiltSensor::sensorType, GenericTiltSensor::id);
#endif
}
- if (!QSensor::defaultSensorForType(QLightSensor::type).isEmpty()) {
+ if (!QSensor::defaultSensorForType(QLightSensor::sensorType).isEmpty()) {
#ifdef QTSENSORS_GENERICALSSENSOR
- if (!QSensorManager::isBackendRegistered(QAmbientLightSensor::type, genericalssensor::id))
- QSensorManager::registerBackend(QAmbientLightSensor::type, genericalssensor::id, this);
+ if (!QSensorManager::isBackendRegistered(QAmbientLightSensor::sensorType, genericalssensor::id))
+ QSensorManager::registerBackend(QAmbientLightSensor::sensorType, genericalssensor::id, this);
#endif
} else {
#ifdef QTSENSORS_GENERICALSSENSOR
- if (QSensorManager::isBackendRegistered(QAmbientLightSensor::type, genericalssensor::id))
- QSensorManager::unregisterBackend(QAmbientLightSensor::type, genericalssensor::id);
+ if (QSensorManager::isBackendRegistered(QAmbientLightSensor::sensorType, genericalssensor::id))
+ QSensorManager::unregisterBackend(QAmbientLightSensor::sensorType, genericalssensor::id);
#endif
}
}
@@ -134,4 +98,3 @@ public:
};
#include "main.moc"
-
diff --git a/src/plugins/sensors/iio-sensor-proxy/CMakeLists.txt b/src/plugins/sensors/iio-sensor-proxy/CMakeLists.txt
new file mode 100644
index 00000000..83093e11
--- /dev/null
+++ b/src/plugins/sensors/iio-sensor-proxy/CMakeLists.txt
@@ -0,0 +1,50 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## IIOSensorProxySensorPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(IIOSensorProxySensorPlugin
+ OUTPUT_NAME qtsensors_iio-sensor-proxy
+ PLUGIN_TYPE sensors
+ SOURCES
+ iiosensorproxycompass.cpp iiosensorproxycompass.h
+ iiosensorproxylightsensor.cpp iiosensorproxylightsensor.h
+ iiosensorproxyorientationsensor.cpp iiosensorproxyorientationsensor.h
+ iiosensorproxysensorbase.cpp iiosensorproxysensorbase.h
+ main.cpp
+ NO_UNITY_BUILD_SOURCES
+ # Duplicate symbol definition between, iiosensorproxycompass.cpp, and
+ # the followings
+ # TODO: dbusPath() can probably be implemented as a static data member
+ iiosensorproxylightsensor.cpp
+ iiosensorproxyorientationsensor.cpp
+ DBUS_INTERFACE_SOURCES
+ org.freedesktop.DBus.Properties.xml
+ net.hadess.SensorProxy.xml
+ net.hadess.SensorProxy.Compass.xml
+ DBUS_INTERFACE_FLAGS
+ "-N"
+ LIBRARIES
+ Qt::Core
+ Qt::DBus
+ Qt::Sensors
+)
+
+#### Keys ignored in scope 1:.:.:iio-sensor-proxy.pro:<TRUE>:
+# OTHER_FILES = "plugin.json" "$$DBUS_INTERFACES"
+# dbus_properties.files = "org.freedesktop.DBus.Properties.xml"
+# dbus_properties.header_flags = "-N"
+# sensor_proxy.files = "net.hadess.SensorProxy.xml"
+# sensor_proxy.header_flags = "-N"
+# sensor_proxy_compass.files = "net.hadess.SensorProxy.Compass.xml"
+# sensor_proxy_compass.header_flags = "-N"
+
+## Scopes:
+#####################################################################
+
+qt_internal_extend_target(IIOSensorProxySensorPlugin CONDITION NOT ANDROID
+ LIBRARIES
+ rt
+)
diff --git a/src/plugins/sensors/iio-sensor-proxy/iio-sensor-proxy.pro b/src/plugins/sensors/iio-sensor-proxy/iio-sensor-proxy.pro
deleted file mode 100644
index b68d9fbf..00000000
--- a/src/plugins/sensors/iio-sensor-proxy/iio-sensor-proxy.pro
+++ /dev/null
@@ -1,31 +0,0 @@
-TARGET = qtsensors_iio-sensor-proxy
-QT = core dbus sensors
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = IIOSensorProxySensorPlugin
-load(qt_plugin)
-
-!android:LIBS += -lrt
-HEADERS += iiosensorproxysensorbase.h \
- iiosensorproxylightsensor.h \
- iiosensorproxyorientationsensor.h \
- iiosensorproxycompass.h
-
-SOURCES += iiosensorproxysensorbase.cpp \
- iiosensorproxylightsensor.cpp \
- iiosensorproxyorientationsensor.cpp \
- iiosensorproxycompass.cpp \
- main.cpp
-
-DBUS_INTERFACES += sensor_proxy sensor_proxy_compass dbus_properties
-
-sensor_proxy.files = net.hadess.SensorProxy.xml
-sensor_proxy.header_flags = -N
-
-sensor_proxy_compass.files = net.hadess.SensorProxy.Compass.xml
-sensor_proxy_compass.header_flags = -N
-
-dbus_properties.files = org.freedesktop.DBus.Properties.xml
-dbus_properties.header_flags = -N
-
-OTHER_FILES = plugin.json $$DBUS_INTERFACES
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.cpp b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.cpp
index fd0b0f1f..f25fe574 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.cpp
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.cpp
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iiosensorproxycompass.h"
#include "compass_interface.h"
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.h b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.h
index 30d79e37..2be0408b 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.h
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxycompass.h
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IIOSENSORPROXY_COMPASS_H
#define IIOSENSORPROXY_COMPASS_H
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.cpp b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.cpp
index acd48147..b54126e4 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.cpp
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.cpp
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iiosensorproxylightsensor.h"
#include "sensorproxy_interface.h"
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.h b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.h
index 14c07d66..bf833815 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.h
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxylightsensor.h
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IIOSENSORPROXY_LIGHTSENSOR_H
#define IIOSENSORPROXY_LIGHTSENSOR_H
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.cpp b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.cpp
index 86ebb358..f589870a 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.cpp
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.cpp
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iiosensorproxyorientationsensor.h"
#include "sensorproxy_interface.h"
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.h b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.h
index 959113f1..0d81d312 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.h
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxyorientationsensor.h
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IIOSENSORPROXY_ORIENTATIONSENSOR_H
#define IIOSENSORPROXY_ORIENTATIONSENSOR_H
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.cpp b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.cpp
index 0a9f318c..9d7842f8 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.cpp
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.cpp
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iiosensorproxysensorbase.h"
#include "sensorproxy_interface.h"
diff --git a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.h b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.h
index 96e036ad..12baedcd 100644
--- a/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.h
+++ b/src/plugins/sensors/iio-sensor-proxy/iiosensorproxysensorbase.h
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IIOSENSORPROXY_SENSORBASE_H
#define IIOSENSORPROXY_SENSORBASE_H
diff --git a/src/plugins/sensors/iio-sensor-proxy/main.cpp b/src/plugins/sensors/iio-sensor-proxy/main.cpp
index 580e2c46..06b726a3 100644
--- a/src/plugins/sensors/iio-sensor-proxy/main.cpp
+++ b/src/plugins/sensors/iio-sensor-proxy/main.cpp
@@ -1,42 +1,6 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Alexander Volkov <a.volkov@rusbitech.ru>
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iiosensorproxyorientationsensor.h"
#include "iiosensorproxylightsensor.h"
@@ -61,12 +25,12 @@ public:
void registerSensors() override
{
if (QDBusConnection::systemBus().interface()->isServiceRegistered("net.hadess.SensorProxy")) {
- if (!QSensorManager::isBackendRegistered(QOrientationSensor::type, IIOSensorProxyOrientationSensor::id))
- QSensorManager::registerBackend(QOrientationSensor::type, IIOSensorProxyOrientationSensor::id, this);
- if (!QSensorManager::isBackendRegistered(QLightSensor::type, IIOSensorProxyLightSensor::id))
- QSensorManager::registerBackend(QLightSensor::type, IIOSensorProxyLightSensor::id, this);
- if (!QSensorManager::isBackendRegistered(QCompass::type, IIOSensorProxyCompass::id))
- QSensorManager::registerBackend(QCompass::type, IIOSensorProxyCompass::id, this);
+ if (!QSensorManager::isBackendRegistered(QOrientationSensor::sensorType, IIOSensorProxyOrientationSensor::id))
+ QSensorManager::registerBackend(QOrientationSensor::sensorType, IIOSensorProxyOrientationSensor::id, this);
+ if (!QSensorManager::isBackendRegistered(QLightSensor::sensorType, IIOSensorProxyLightSensor::id))
+ QSensorManager::registerBackend(QLightSensor::sensorType, IIOSensorProxyLightSensor::id, this);
+ if (!QSensorManager::isBackendRegistered(QCompass::sensorType, IIOSensorProxyCompass::id))
+ QSensorManager::registerBackend(QCompass::sensorType, IIOSensorProxyCompass::id, this);
}
}
diff --git a/src/plugins/sensors/iio-sensor-proxy/org.freedesktop.DBus.Properties.xml b/src/plugins/sensors/iio-sensor-proxy/org.freedesktop.DBus.Properties.xml
index 5dc94f5d..c7a43ca7 100644
--- a/src/plugins/sensors/iio-sensor-proxy/org.freedesktop.DBus.Properties.xml
+++ b/src/plugins/sensors/iio-sensor-proxy/org.freedesktop.DBus.Properties.xml
@@ -20,7 +20,7 @@
<signal name="PropertiesChanged">
<arg name="interface" type="s"/>
<arg name="changed_properties" type="a{sv}"/>
- <annotation name="org.qtproject.QtDBus.QtTypeName.In1" value="QVariantMap"/>
+ <annotation name="org.qtproject.QtDBus.QtTypeName.Out1" value="QVariantMap"/>
<arg name="invalidated_properties" type="as"/>
</signal>
</interface>
diff --git a/src/plugins/sensors/ios/CMakeLists.txt b/src/plugins/sensors/ios/CMakeLists.txt
new file mode 100644
index 00000000..44f61427
--- /dev/null
+++ b/src/plugins/sensors/ios/CMakeLists.txt
@@ -0,0 +1,59 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## IOSSensorPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(IOSSensorPlugin
+ OUTPUT_NAME qtsensors_ios
+ PLUGIN_TYPE sensors
+ SOURCES
+ main.mm
+ LIBRARIES
+ ${FWFoundation}
+ Qt::Core
+ Qt::Sensors
+)
+
+#### Keys ignored in scope 1:.:.:ios.pro:<TRUE>:
+# OTHER_FILES = "plugin.json"
+
+## Scopes:
+#####################################################################
+
+set_target_properties(IOSSensorPlugin
+ PROPERTIES
+ DISABLE_PRECOMPILE_HEADERS ON
+)
+
+qt_internal_extend_target(IOSSensorPlugin CONDITION IOS AND UIKIT
+ SOURCES
+ ioscompass.h ioscompass.mm
+ DEFINES
+ HAVE_COMPASS
+ LIBRARIES
+ ${FWCoreLocation}
+)
+
+qt_internal_extend_target(IOSSensorPlugin CONDITION UIKIT AND NOT TVOS
+ SOURCES
+ iosaccelerometer.h iosaccelerometer.mm
+ iosgyroscope.h iosgyroscope.mm
+ iosmagnetometer.h iosmagnetometer.mm
+ iospressure.h iospressure.mm
+ iosmotionmanager.h iosmotionmanager.mm
+ DEFINES
+ HAVE_COREMOTION
+ LIBRARIES
+ ${FWCoreMotion}
+)
+
+qt_internal_extend_target(IOSSensorPlugin CONDITION UIKIT AND NOT WATCHOS
+ SOURCES
+ iosproximitysensor.h iosproximitysensor.mm
+ DEFINES
+ HAVE_UIDEVICE
+ LIBRARIES
+ ${FWUIKit}
+)
diff --git a/src/plugins/sensors/ios/ios.pro b/src/plugins/sensors/ios/ios.pro
deleted file mode 100644
index 91ec3ae0..00000000
--- a/src/plugins/sensors/ios/ios.pro
+++ /dev/null
@@ -1,49 +0,0 @@
-TARGET = qtsensors_ios
-QT = core sensors
-
-OTHER_FILES = plugin.json
-
-OBJECTIVE_SOURCES += main.mm
-LIBS += -framework Foundation
-
-uikit {
- ios {
- HEADERS += \
- ioscompass.h
- OBJECTIVE_SOURCES += \
- ioscompass.mm
-
- DEFINES += HAVE_COMPASS
- LIBS += -framework CoreLocation
- }
-
- !tvos {
- HEADERS += \
- iosaccelerometer.h \
- iosgyroscope.h \
- iosmagnetometer.h \
- iosmotionmanager.h
- OBJECTIVE_SOURCES += \
- iosaccelerometer.mm \
- iosgyroscope.mm \
- iosmagnetometer.mm \
- iosmotionmanager.mm
-
- DEFINES += HAVE_COREMOTION
- LIBS += -framework CoreMotion
- }
-
- !watchos {
- HEADERS += \
- iosproximitysensor.h
- OBJECTIVE_SOURCES += \
- iosproximitysensor.mm
-
- DEFINES += HAVE_UIDEVICE
- LIBS += -framework UIKit
- }
-}
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = IOSSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/ios/iosaccelerometer.h b/src/plugins/sensors/ios/iosaccelerometer.h
index 4ac73a97..fb8b93b5 100644
--- a/src/plugins/sensors/ios/iosaccelerometer.h
+++ b/src/plugins/sensors/ios/iosaccelerometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Lorn Potter
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Lorn Potter
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IOSACCELEROMETER_H
#define IOSACCELEROMETER_H
diff --git a/src/plugins/sensors/ios/iosaccelerometer.mm b/src/plugins/sensors/ios/iosaccelerometer.mm
index d2d6e9fb..84fd06ad 100644
--- a/src/plugins/sensors/ios/iosaccelerometer.mm
+++ b/src/plugins/sensors/ios/iosaccelerometer.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Lorn Potter
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Lorn Potter
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iosaccelerometer.h"
#include "iosmotionmanager.h"
diff --git a/src/plugins/sensors/ios/ioscompass.h b/src/plugins/sensors/ios/ioscompass.h
index 2babc92a..3ebcb4ad 100644
--- a/src/plugins/sensors/ios/ioscompass.h
+++ b/src/plugins/sensors/ios/ioscompass.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IOSCompass_H
#define IOSCompass_H
diff --git a/src/plugins/sensors/ios/ioscompass.mm b/src/plugins/sensors/ios/ioscompass.mm
index 7fc48d36..afcdef9f 100644
--- a/src/plugins/sensors/ios/ioscompass.mm
+++ b/src/plugins/sensors/ios/ioscompass.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#import <CoreLocation/CLHeading.h>
#import <CoreLocation/CLLocationManagerDelegate.h>
diff --git a/src/plugins/sensors/ios/iosgyroscope.h b/src/plugins/sensors/ios/iosgyroscope.h
index 0d7fea49..f765a57d 100644
--- a/src/plugins/sensors/ios/iosgyroscope.h
+++ b/src/plugins/sensors/ios/iosgyroscope.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IOSGYROSCOPE_H
#define IOSGYROSCOPE_H
diff --git a/src/plugins/sensors/ios/iosgyroscope.mm b/src/plugins/sensors/ios/iosgyroscope.mm
index 8155abac..5310e09b 100644
--- a/src/plugins/sensors/ios/iosgyroscope.mm
+++ b/src/plugins/sensors/ios/iosgyroscope.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iosmotionmanager.h"
#include "iosgyroscope.h"
diff --git a/src/plugins/sensors/ios/iosmagnetometer.h b/src/plugins/sensors/ios/iosmagnetometer.h
index 2c55eac3..7388c830 100644
--- a/src/plugins/sensors/ios/iosmagnetometer.h
+++ b/src/plugins/sensors/ios/iosmagnetometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IOSMAGNETOMETER_H
#define IOSMAGNETOMETER_H
diff --git a/src/plugins/sensors/ios/iosmagnetometer.mm b/src/plugins/sensors/ios/iosmagnetometer.mm
index bfbe6e6d..9c60d544 100644
--- a/src/plugins/sensors/ios/iosmagnetometer.mm
+++ b/src/plugins/sensors/ios/iosmagnetometer.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iosmotionmanager.h"
#include "iosmagnetometer.h"
@@ -53,7 +17,7 @@ IOSMagnetometer::IOSMagnetometer(QSensor *sensor)
: QSensorBackend(sensor)
, m_motionManager([QIOSMotionManager sharedManager])
, m_timer(0)
- , m_returnGeoValues(false)
+ , m_returnGeoValues(true)
{
setReading<QMagnetometerReading>(&m_reading);
// Technical information about data rate is not found, but
@@ -75,7 +39,7 @@ void IOSMagnetometer::start()
if (m_returnGeoValues) {
if (++s_deviceMotionStartCount == 1)
- [m_motionManager startDeviceMotionUpdates];
+ [m_motionManager startDeviceMotionUpdatesUsingReferenceFrame:CMAttitudeReferenceFrameXMagneticNorthZVertical];
} else {
if (++s_magnetometerStartCount == 1)
[m_motionManager startMagnetometerUpdates];
diff --git a/src/plugins/sensors/ios/iosmotionmanager.h b/src/plugins/sensors/ios/iosmotionmanager.h
index 7c2a1b27..cfb1d99f 100644
--- a/src/plugins/sensors/ios/iosmotionmanager.h
+++ b/src/plugins/sensors/ios/iosmotionmanager.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Lorn Potter
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Lorn Potter
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IOSMOTIONMANAGER_H
#define IOSMOTIONMANAGER_H
diff --git a/src/plugins/sensors/ios/iosmotionmanager.mm b/src/plugins/sensors/ios/iosmotionmanager.mm
index 90741089..3bf2c537 100644
--- a/src/plugins/sensors/ios/iosmotionmanager.mm
+++ b/src/plugins/sensors/ios/iosmotionmanager.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Lorn Potter
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Lorn Potter
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "iosmotionmanager.h"
diff --git a/src/plugins/sensors/ios/iospressure.h b/src/plugins/sensors/ios/iospressure.h
new file mode 100644
index 00000000..f95b9bc4
--- /dev/null
+++ b/src/plugins/sensors/ios/iospressure.h
@@ -0,0 +1,37 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef IOSPRESSURE_H
+#define IOSPRESSURE_H
+
+#include <qsensorbackend.h>
+#include <qpressuresensor.h>
+
+@class CMAltimeter;
+
+QT_BEGIN_NAMESPACE
+
+class IOSPressure : public QSensorBackend
+{
+public:
+ static char const * const id;
+
+ explicit IOSPressure(QSensor *sensor);
+ ~IOSPressure();
+ void timerEvent(QTimerEvent *) override;
+
+ void start() override;
+ void stop() override;
+
+private:
+ Q_DISABLE_COPY_MOVE(IOSPressure)
+ CMAltimeter *m_altimeter = nullptr;
+ QPressureReading m_reading;
+ int m_timer = 0;
+
+ static int s_startCount;
+};
+QT_END_NAMESPACE
+
+#endif // IOSPRESSURE_H
+
diff --git a/src/plugins/sensors/ios/iospressure.mm b/src/plugins/sensors/ios/iospressure.mm
new file mode 100644
index 00000000..d3a9275e
--- /dev/null
+++ b/src/plugins/sensors/ios/iospressure.mm
@@ -0,0 +1,65 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "iospressure.h"
+#import <CoreMotion/CoreMotion.h>
+
+char const * const IOSPressure::id("ios.pressure");
+
+QT_BEGIN_NAMESPACE
+
+int IOSPressure::s_startCount = 0;
+
+IOSPressure::IOSPressure(QSensor *sensor)
+ : QSensorBackend(sensor)
+{
+ m_altimeter = [[CMAltimeter alloc] init];
+ setReading<QPressureReading>(&m_reading);
+ addDataRate(1, 100); // 100Hz
+}
+
+IOSPressure::~IOSPressure()
+{
+ [m_altimeter stopRelativeAltitudeUpdates];
+ [m_altimeter release];
+}
+
+void IOSPressure::start()
+{
+ if (m_timer != 0)
+ return;
+
+ int hz = sensor()->dataRate();
+ m_timer = startTimer(1000 / (hz == 0 ? 60 : hz));
+ if (++s_startCount == 1) {
+ [m_altimeter startRelativeAltitudeUpdatesToQueue:[NSOperationQueue mainQueue]
+ withHandler:^(CMAltitudeData * _Nullable altitudeData , NSError * _Nullable error) {
+ if (error == nil) {
+ m_reading.setPressure([altitudeData.pressure doubleValue] * 1000);
+ m_reading.setTimestamp(quint64(altitudeData.timestamp * 1e6));
+ }
+ }];
+ }
+}
+
+void IOSPressure::stop()
+{
+ if (m_timer == 0)
+ return;
+
+ killTimer(m_timer);
+ m_timer = 0;
+ if (--s_startCount == 0)
+ [m_altimeter stopRelativeAltitudeUpdates];
+}
+
+void IOSPressure::timerEvent(QTimerEvent *)
+{
+ // skip update if NaN or 0
+ if ((m_reading.pressure() != m_reading.pressure()) ||
+ m_reading.pressure() == 0)
+ return;
+ newReadingAvailable();
+}
+
+QT_END_NAMESPACE
diff --git a/src/plugins/sensors/ios/iosproximitysensor.h b/src/plugins/sensors/ios/iosproximitysensor.h
index 0d69391f..09d22650 100644
--- a/src/plugins/sensors/ios/iosproximitysensor.h
+++ b/src/plugins/sensors/ios/iosproximitysensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef IOSPROXIMITYSENSOR_H
#define IOSPROXIMITYSENSOR_H
diff --git a/src/plugins/sensors/ios/iosproximitysensor.mm b/src/plugins/sensors/ios/iosproximitysensor.mm
index eae85608..903877bf 100644
--- a/src/plugins/sensors/ios/iosproximitysensor.mm
+++ b/src/plugins/sensors/ios/iosproximitysensor.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#import <UIKit/UIDevice.h>
@@ -49,11 +13,12 @@ int IOSProximitySensor::s_startCount = 0;
@interface ProximitySensorCallback : NSObject
{
- IOSProximitySensor *m_iosProximitySensor;
}
@end
-@implementation ProximitySensorCallback
+@implementation ProximitySensorCallback {
+ IOSProximitySensor *m_iosProximitySensor;
+}
- (id)initWithQIOSProximitySensor:(IOSProximitySensor *)iosProximitySensor
{
diff --git a/src/plugins/sensors/ios/main.mm b/src/plugins/sensors/ios/main.mm
index d6b98192..9e479de5 100644
--- a/src/plugins/sensors/ios/main.mm
+++ b/src/plugins/sensors/ios/main.mm
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qsensorplugin.h>
#include <qsensorbackend.h>
@@ -47,6 +11,7 @@
#include "iosmagnetometer.h"
#include "ioscompass.h"
#include "iosproximitysensor.h"
+#include "iospressure.h"
#import <CoreLocation/CoreLocation.h>
#ifdef HAVE_COREMOTION
@@ -62,19 +27,21 @@ public:
void registerSensors() override
{
#ifdef HAVE_COREMOTION
- QSensorManager::registerBackend(QAccelerometer::type, IOSAccelerometer::id, this);
+ QSensorManager::registerBackend(QAccelerometer::sensorType, IOSAccelerometer::id, this);
if ([QIOSMotionManager sharedManager].gyroAvailable)
- QSensorManager::registerBackend(QGyroscope::type, IOSGyroscope::id, this);
+ QSensorManager::registerBackend(QGyroscope::sensorType, IOSGyroscope::id, this);
if ([QIOSMotionManager sharedManager].magnetometerAvailable)
- QSensorManager::registerBackend(QMagnetometer::type, IOSMagnetometer::id, this);
+ QSensorManager::registerBackend(QMagnetometer::sensorType, IOSMagnetometer::id, this);
+ if ([CMAltimeter isRelativeAltitudeAvailable])
+ QSensorManager::registerBackend(QPressureSensor::sensorType, IOSPressure::id, this);
#endif
#ifdef HAVE_COMPASS
if ([CLLocationManager headingAvailable])
- QSensorManager::registerBackend(QCompass::type, IOSCompass::id, this);
+ QSensorManager::registerBackend(QCompass::sensorType, IOSCompass::id, this);
#endif
#ifdef HAVE_UIDEVICE
if (IOSProximitySensor::available())
- QSensorManager::registerBackend(QProximitySensor::type, IOSProximitySensor::id, this);
+ QSensorManager::registerBackend(QProximitySensor::sensorType, IOSProximitySensor::id, this);
#endif
}
@@ -87,6 +54,8 @@ public:
return new IOSGyroscope(sensor);
if (sensor->identifier() == IOSMagnetometer::id)
return new IOSMagnetometer(sensor);
+ if (sensor->identifier() == IOSPressure::id)
+ return new IOSPressure(sensor);
#endif
#ifdef HAVE_COMPASS
if (sensor->identifier() == IOSCompass::id)
diff --git a/src/plugins/sensors/linux/linux.pro b/src/plugins/sensors/linux/linux.pro
deleted file mode 100644
index 33706e7d..00000000
--- a/src/plugins/sensors/linux/linux.pro
+++ /dev/null
@@ -1,13 +0,0 @@
-TARGET = qtsensors_linuxsys
-QT = core sensors
-
-OTHER_FILES = plugin.json
-
-!android:LIBS += -lrt
-HEADERS += linuxsysaccelerometer.h
-SOURCES += linuxsysaccelerometer.cpp \
-main.cpp
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = LinuxSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/linux/linuxsysaccelerometer.cpp b/src/plugins/sensors/linux/linuxsysaccelerometer.cpp
deleted file mode 100644
index c5c7e375..00000000
--- a/src/plugins/sensors/linux/linuxsysaccelerometer.cpp
+++ /dev/null
@@ -1,188 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "linuxsysaccelerometer.h"
-#include <QtCore/QDebug>
-#include <QtCore/QtGlobal>
-#include <QtCore/QFile>
-#include <QtCore/QDebug>
-#include <QtCore/QTimer>
-
-#include <QtCore/QStringList>
-
-#include <time.h>
-#include <errno.h>
-
-char const * const LinuxSysAccelerometer::id("linuxsys.accelerometer");
-
-// This plugin reads the accelerometer from a sys interface.
-
-// test machine (laptop):
-// QT_ACCEL_FILEPATH=/sys/devices/platform/lis3lv02d/position
-// QT_ACCEL_DATADIVISOR=7
-// QT_ACCEL_DELIMITER=,
-
-quint64 produceTimestamp()
-{
- struct timespec tv;
- int ok;
-
-#ifdef CLOCK_MONOTONIC_RAW
- ok = clock_gettime(CLOCK_MONOTONIC_RAW, &tv);
- if (ok != 0)
-#endif
- ok = clock_gettime(CLOCK_MONOTONIC, &tv);
- Q_ASSERT(ok == 0);
-
- quint64 result = (tv.tv_sec * 1000000ULL) + (tv.tv_nsec * 0.001); // scale to microseconds
- return result;
-}
-
-// TODO get output template from env and apply
-// Currently this assumes the output is like:
-// (x,y,z) or x,y,z
-
-LinuxSysAccelerometer::LinuxSysAccelerometer(QSensor *sensor)
- : QSensorBackend(sensor)
- , m_timerid(0)
- , path(QString())
- , divisor(0)
- , delimiter(QString())
-{
- setReading<QAccelerometerReading>(&m_reading);
- addDataRate(1, 100); // 100Hz
- addOutputRange(-22.418, 22.418, 0.17651); // 2G
-// not sure how to retrieve proper range
-
- path = QString::fromLatin1(qgetenv("QT_ACCEL_FILEPATH"));
- bool ok;
- divisor = QString::fromLatin1(qgetenv("QT_ACCEL_DATADIVISOR")).toInt(&ok);
- if (divisor == 0 || !ok) {
- divisor = 1;
- }
- delimiter = QString::fromLatin1(qgetenv("QT_ACCEL_DELIMITER"));
- file.setFileName(path);
-}
-
-LinuxSysAccelerometer::~LinuxSysAccelerometer()
-{
-}
-
-void LinuxSysAccelerometer::start()
-{
- if (m_timerid)
- return;
-
- if (!openFile())
- return;
-
- int dataRate = sensor()->dataRate();
- if (dataRate == 0) {
- if (sensor()->availableDataRates().count())
- dataRate = sensor()->availableDataRates().first().second;
- else
- dataRate = 1;
- }
-
- int interval = 1000 / dataRate;
-
- if (interval)
- m_timerid = startTimer(interval);
-}
-
-void LinuxSysAccelerometer::stop()
-{
- if (m_timerid) {
- killTimer(m_timerid);
- m_timerid = 0;
- }
- closeFile();
-}
-
-void LinuxSysAccelerometer::poll()
-{
- if (!file.isOpen())
- return;
-
- file.seek(0);
- QString str = file.readLine();
- if (str.isEmpty()) {
- return;
- }
- str = str.simplified();
-
- if (!str.at(0).isNumber() && str.at(0) != '-') {
- str.remove(0,1);
- }
-
- if (!str.at(str.size()-1).isNumber()) {
- str.chop(1);
- }
-
- QStringList accelDataList = str.split(delimiter);
-
- m_reading.setTimestamp(produceTimestamp());
- m_reading.setX(-accelDataList.at(0).toFloat() / divisor);
- m_reading.setY(-accelDataList.at(1).toFloat() / divisor);
- m_reading.setZ(-accelDataList.at(2).toFloat() / divisor);
-
- newReadingAvailable();
-}
-
-void LinuxSysAccelerometer::timerEvent(QTimerEvent * /*event*/)
-{
- poll();
-}
-
-bool LinuxSysAccelerometer::openFile()
-{
- if (!path.isEmpty()
- && !file.open(QIODevice::ReadOnly)) {
- qWarning() << "Could not open file" << strerror(errno);
- return false;
- }
- return true;
-}
-
-void LinuxSysAccelerometer::closeFile()
-{
- file.close();
-}
-
-
diff --git a/src/plugins/sensors/linux/linuxsysaccelerometer.h b/src/plugins/sensors/linux/linuxsysaccelerometer.h
deleted file mode 100644
index af89bf77..00000000
--- a/src/plugins/sensors/linux/linuxsysaccelerometer.h
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef LINUXSYSACCELEROMETER_H
-#define LINUXSYSACCELEROMETER_H
-
-#include <qsensorbackend.h>
-#include <qaccelerometer.h>
-#include <QtCore/QFile>
-
-
-class LinuxSysAccelerometer : public QSensorBackend
-{
-public:
- static char const * const id;
-
- LinuxSysAccelerometer(QSensor *sensor);
- ~LinuxSysAccelerometer();
-
- void start() override;
- void stop() override;
- void poll();
- void timerEvent(QTimerEvent * /*event*/) override;
-
-private:
- QAccelerometerReading m_reading;
- int m_timerid;
-
- bool openFile();
- void closeFile();
- QString path;
- QFile file;
- float divisor;
- QString delimiter;
-};
-
-#endif // LINUXSYSACCELEROMETER_H
-
diff --git a/src/plugins/sensors/linux/main.cpp b/src/plugins/sensors/linux/main.cpp
deleted file mode 100644
index a82ab821..00000000
--- a/src/plugins/sensors/linux/main.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "linuxsysaccelerometer.h"
-
-#include <qsensorplugin.h>
-#include <qsensorbackend.h>
-#include <qsensormanager.h>
-
-#include <QtCore/QFile>
-#include <QtCore/QDebug>
-
-class LinuxSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
- Q_INTERFACES(QSensorPluginInterface)
-public:
- void registerSensors() override
- {
- QString path = QString::fromLatin1(qgetenv("QT_ACCEL_FILEPATH"));
- if (!path.isEmpty() && !QSensorManager::isBackendRegistered(QAccelerometer::type, LinuxSysAccelerometer::id))
- QSensorManager::registerBackend(QAccelerometer::type, LinuxSysAccelerometer::id, this);
- }
-
- QSensorBackend *createBackend(QSensor *sensor) override
- {
- if (sensor->identifier() == LinuxSysAccelerometer::id)
- return new LinuxSysAccelerometer(sensor);
-
- return 0;
- }
-};
-
-#include "main.moc"
-
diff --git a/src/plugins/sensors/linux/plugin.json b/src/plugins/sensors/linux/plugin.json
deleted file mode 100644
index f3863f11..00000000
--- a/src/plugins/sensors/linux/plugin.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "Keys": [ "linux" ] }
diff --git a/src/plugins/sensors/sensorfw/CMakeLists.txt b/src/plugins/sensors/sensorfw/CMakeLists.txt
new file mode 100644
index 00000000..cc5e9dad
--- /dev/null
+++ b/src/plugins/sensors/sensorfw/CMakeLists.txt
@@ -0,0 +1,38 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## sensorfwSensorPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(sensorfwSensorPlugin
+ OUTPUT_NAME qtsensors_sensorfw
+ PLUGIN_TYPE sensors
+ SOURCES
+ main.cpp
+ sensorfwaccelerometer.cpp sensorfwaccelerometer.h
+ sensorfwals.cpp sensorfwals.h
+ sensorfwcompass.cpp sensorfwcompass.h
+ sensorfwgyroscope.cpp sensorfwgyroscope.h
+ sensorfwirproximitysensor.cpp sensorfwirproximitysensor.h
+ sensorfwlidsensor.cpp sensorfwlidsensor.h
+ sensorfwlightsensor.cpp sensorfwlightsensor.h
+ sensorfwmagnetometer.cpp sensorfwmagnetometer.h
+ sensorfworientationsensor.cpp sensorfworientationsensor.h
+ sensorfwproximitysensor.cpp sensorfwproximitysensor.h
+ sensorfwrotationsensor.cpp sensorfwrotationsensor.h
+ sensorfwsensorbase.cpp sensorfwsensorbase.h
+ sensorfwtapsensor.cpp sensorfwtapsensor.h
+ LIBRARIES
+ Qt::Core
+ Qt::DBus
+ Qt::Network
+ Qt::SensorsPrivate
+ sensorfw
+)
+
+#### Keys ignored in scope 1:.:.:sensorfw.pro:<TRUE>:
+# CONFIGFILES.files = "Sensors.conf"
+# CONFIGFILES.path = "/etc/xdg/QtProject/"
+# INSTALLS = "CONFIGFILES"
+# OTHER_FILES = "plugin.json"
diff --git a/src/plugins/sensors/sensorfw/main.cpp b/src/plugins/sensors/sensorfw/main.cpp
index c1a02a57..9e8b6ac9 100644
--- a/src/plugins/sensors/sensorfw/main.cpp
+++ b/src/plugins/sensors/sensorfw/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwaccelerometer.h"
#include "sensorfwals.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfw.pro b/src/plugins/sensors/sensorfw/sensorfw.pro
deleted file mode 100644
index 63a66117..00000000
--- a/src/plugins/sensors/sensorfw/sensorfw.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TARGET = qtsensors_sensorfw
-QT = core sensors-private network dbus
-
-include(sensorfw.pri)
-
-QMAKE_USE += sensorfw
-
-CONFIGFILES.files = Sensors.conf
-CONFIGFILES.path = /etc/xdg/QtProject/
-INSTALLS += CONFIGFILES
-
-OTHER_FILES = plugin.json
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = sensorfwSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/sensorfw/sensorfwaccelerometer.cpp b/src/plugins/sensors/sensorfw/sensorfwaccelerometer.cpp
index a1e9840a..38910b3a 100644
--- a/src/plugins/sensors/sensorfw/sensorfwaccelerometer.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwaccelerometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwaccelerometer.h"
@@ -63,7 +27,7 @@ void sensorfwaccelerometer::slotDataAvailable(const XYZ& data)
newReadingAvailable();
}
-void sensorfwaccelerometer::slotFrameAvailable(const QVector<XYZ>& frame)
+void sensorfwaccelerometer::slotFrameAvailable(const QList<XYZ> &frame)
{
for (int i=0, l=frame.size(); i<l; i++) {
slotDataAvailable(frame.at(i));
@@ -75,7 +39,8 @@ bool sensorfwaccelerometer::doConnect()
Q_ASSERT(m_sensorInterface);
if (m_bufferSize==1)
return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(XYZ)), this, SLOT(slotDataAvailable(XYZ)));
- return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QVector<XYZ>)),this, SLOT(slotFrameAvailable(QVector<XYZ>)));
+ return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QList<XYZ>)), this,
+ SLOT(slotFrameAvailable(QList<XYZ>)));
}
diff --git a/src/plugins/sensors/sensorfw/sensorfwaccelerometer.h b/src/plugins/sensors/sensorfw/sensorfwaccelerometer.h
index 89d7bf78..d877a4bb 100644
--- a/src/plugins/sensors/sensorfw/sensorfwaccelerometer.h
+++ b/src/plugins/sensors/sensorfw/sensorfwaccelerometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWACCELEROMETER_H
#define SENSORFWACCELEROMETER_H
@@ -66,8 +30,8 @@ private:
bool m_initDone;
private slots:
- void slotDataAvailable(const XYZ& data);
- void slotFrameAvailable(const QVector<XYZ>&);
+ void slotDataAvailable(const XYZ &data);
+ void slotFrameAvailable(const QList<XYZ> &);
};
#endif
diff --git a/src/plugins/sensors/sensorfw/sensorfwals.cpp b/src/plugins/sensors/sensorfw/sensorfwals.cpp
index c43f7648..8701f482 100644
--- a/src/plugins/sensors/sensorfw/sensorfwals.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwals.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwals.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfwals.h b/src/plugins/sensors/sensorfw/sensorfwals.h
index 9a71550e..86af858b 100644
--- a/src/plugins/sensors/sensorfw/sensorfwals.h
+++ b/src/plugins/sensors/sensorfw/sensorfwals.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWALS_H
#define SENSORFWALS_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwcompass.cpp b/src/plugins/sensors/sensorfw/sensorfwcompass.cpp
index 252404fa..05dc5672 100644
--- a/src/plugins/sensors/sensorfw/sensorfwcompass.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwcompass.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwcompass.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfwcompass.h b/src/plugins/sensors/sensorfw/sensorfwcompass.h
index 9afe9b41..2db3e924 100644
--- a/src/plugins/sensors/sensorfw/sensorfwcompass.h
+++ b/src/plugins/sensors/sensorfw/sensorfwcompass.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWCOMPASS_H
#define SENSORFWCOMPASS_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwgyroscope.cpp b/src/plugins/sensors/sensorfw/sensorfwgyroscope.cpp
index cc9c169e..096b6be3 100644
--- a/src/plugins/sensors/sensorfw/sensorfwgyroscope.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwgyroscope.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwgyroscope.h"
@@ -64,7 +28,7 @@ void SensorfwGyroscope::slotDataAvailable(const XYZ& data)
newReadingAvailable();
}
-void SensorfwGyroscope::slotFrameAvailable(const QVector<XYZ>& frame)
+void SensorfwGyroscope::slotFrameAvailable(const QList<XYZ> &frame)
{
for (int i=0, l=frame.size(); i<l; i++) {
slotDataAvailable(frame.at(i));
@@ -76,7 +40,8 @@ bool SensorfwGyroscope::doConnect()
Q_ASSERT(m_sensorInterface);
if (m_bufferSize==1)
return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(XYZ)), this, SLOT(slotDataAvailable(XYZ)));
- return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QVector<XYZ>)),this, SLOT(slotFrameAvailable(QVector<XYZ>)));
+ return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QList<XYZ>)), this,
+ SLOT(slotFrameAvailable(QList<XYZ>)));
}
QString SensorfwGyroscope::sensorName() const
diff --git a/src/plugins/sensors/sensorfw/sensorfwgyroscope.h b/src/plugins/sensors/sensorfw/sensorfwgyroscope.h
index d9346a94..97335379 100644
--- a/src/plugins/sensors/sensorfw/sensorfwgyroscope.h
+++ b/src/plugins/sensors/sensorfw/sensorfwgyroscope.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWGYROSCOPE_H
@@ -68,9 +32,8 @@ private:
bool m_initDone;
static const float MILLI;
private slots:
- void slotDataAvailable(const XYZ& data);
- void slotFrameAvailable(const QVector<XYZ>&);
-
+ void slotDataAvailable(const XYZ &data);
+ void slotFrameAvailable(const QList<XYZ> &);
};
diff --git a/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.cpp b/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.cpp
index 83714d82..05e4ce67 100644
--- a/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwirproximitysensor.h"
#define RM680_PS "/dev/bh1770glc_ps"
diff --git a/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.h b/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.h
index ece68a58..d82096a6 100644
--- a/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwirproximitysensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWIRPROXIMITYSENSOR_H
#define SENSORFWIRPROXIMITYSENSOR_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwlidsensor.cpp b/src/plugins/sensors/sensorfw/sensorfwlidsensor.cpp
index 18661b95..e922096a 100644
--- a/src/plugins/sensors/sensorfw/sensorfwlidsensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwlidsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwlidsensor.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfwlidsensor.h b/src/plugins/sensors/sensorfw/sensorfwlidsensor.h
index 7ee967a9..50d222e9 100644
--- a/src/plugins/sensors/sensorfw/sensorfwlidsensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwlidsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWLIDSENSOR_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp b/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp
index 9fc5bef3..cf20cdbe 100644
--- a/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwlightsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwlightsensor.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfwlightsensor.h b/src/plugins/sensors/sensorfw/sensorfwlightsensor.h
index 9d8faa6c..c3e0fb87 100644
--- a/src/plugins/sensors/sensorfw/sensorfwlightsensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwlightsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWLIGHTSENSOR_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp b/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp
index 084e6eac..2946f11f 100644
--- a/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwmagnetometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwmagnetometer.h"
@@ -76,8 +40,7 @@ void SensorfwMagnetometer::slotDataAvailable(const MagneticField& data)
newReadingAvailable();
}
-
-void SensorfwMagnetometer::slotFrameAvailable(const QVector<MagneticField>& frame)
+void SensorfwMagnetometer::slotFrameAvailable(const QList<MagneticField> &frame)
{
for (int i=0, l=frame.size(); i<l; i++) {
slotDataAvailable(frame.at(i));
@@ -90,8 +53,8 @@ bool SensorfwMagnetometer::doConnect()
if (m_bufferSize==1)
return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(MagneticField)),
this, SLOT(slotDataAvailable(MagneticField)));
- return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QVector<MagneticField>)),
- this, SLOT(slotFrameAvailable(QVector<MagneticField>)));
+ return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QList<MagneticField>)), this,
+ SLOT(slotFrameAvailable(QList<MagneticField>)));
}
QString SensorfwMagnetometer::sensorName() const
diff --git a/src/plugins/sensors/sensorfw/sensorfwmagnetometer.h b/src/plugins/sensors/sensorfw/sensorfwmagnetometer.h
index 03f29556..0ba66b62 100644
--- a/src/plugins/sensors/sensorfw/sensorfwmagnetometer.h
+++ b/src/plugins/sensors/sensorfw/sensorfwmagnetometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWMAGNETOMETER_H
#define SENSORFWMAGNETOMETER_H
@@ -69,9 +33,8 @@ private:
bool m_isGeoMagnetometer;
private slots:
- void slotDataAvailable(const MagneticField& data);
- void slotFrameAvailable(const QVector<MagneticField>&);
-
+ void slotDataAvailable(const MagneticField &data);
+ void slotFrameAvailable(const QList<MagneticField> &);
};
#endif
diff --git a/src/plugins/sensors/sensorfw/sensorfworientationsensor.cpp b/src/plugins/sensors/sensorfw/sensorfworientationsensor.cpp
index f659eb4c..f398b218 100644
--- a/src/plugins/sensors/sensorfw/sensorfworientationsensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfworientationsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfworientationsensor.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfworientationsensor.h b/src/plugins/sensors/sensorfw/sensorfworientationsensor.h
index fac59fe8..8863b0cd 100644
--- a/src/plugins/sensors/sensorfw/sensorfworientationsensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfworientationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWORIENTATIONSENSOR_H
#define SENSORFWORIENTATIONSENSOR_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp
index 8eb28705..04eb698b 100644
--- a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwproximitysensor.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h
index 992db84a..daeabd4d 100644
--- a/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwproximitysensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWPROXIMITYSENSOR_H
#define SENSORFWPROXIMITYSENSOR_H
diff --git a/src/plugins/sensors/sensorfw/sensorfwrotationsensor.cpp b/src/plugins/sensors/sensorfw/sensorfwrotationsensor.cpp
index d884c538..8c99cfb0 100644
--- a/src/plugins/sensors/sensorfw/sensorfwrotationsensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwrotationsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwrotationsensor.h"
@@ -60,7 +24,7 @@ void SensorfwRotationSensor::slotDataAvailable(const XYZ& data)
newReadingAvailable();
}
-void SensorfwRotationSensor::slotFrameAvailable(const QVector<XYZ>& frame)
+void SensorfwRotationSensor::slotFrameAvailable(const QList<XYZ> &frame)
{
for (int i=0, l=frame.size(); i<l; i++) {
slotDataAvailable(frame.at(i));
@@ -72,7 +36,8 @@ bool SensorfwRotationSensor::doConnect()
Q_ASSERT(m_sensorInterface);
if (m_bufferSize==1)
return QObject::connect(m_sensorInterface, SIGNAL(dataAvailable(XYZ)), this, SLOT(slotDataAvailable(XYZ)));
- return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QVector<XYZ>)),this, SLOT(slotFrameAvailable(QVector<XYZ>)));
+ return QObject::connect(m_sensorInterface, SIGNAL(frameAvailable(QList<XYZ>)), this,
+ SLOT(slotFrameAvailable(QList<XYZ>)));
}
QString SensorfwRotationSensor::sensorName() const
diff --git a/src/plugins/sensors/sensorfw/sensorfwrotationsensor.h b/src/plugins/sensors/sensorfw/sensorfwrotationsensor.h
index f9150f6d..de0fe24d 100644
--- a/src/plugins/sensors/sensorfw/sensorfwrotationsensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwrotationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWROTATION_H
@@ -67,8 +31,7 @@ private:
private slots:
void slotDataAvailable(const XYZ& data);
- void slotFrameAvailable(const QVector<XYZ>&);
-
+ void slotFrameAvailable(const QList<XYZ> &);
};
#endif
diff --git a/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp b/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp
index 27a07ad6..9736857b 100644
--- a/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwsensorbase.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwsensorbase.h"
@@ -92,7 +56,7 @@ void SensorfwSensorBase::start()
if (m_sensorInterface) {
// dataRate
QByteArray type = sensor()->type();
- if (type != QTapSensor::type && type != QProximitySensor::type) {
+ if (type != QTapSensor::sensorType && type != QProximitySensor::sensorType) {
int dataRate = sensor()->dataRate();
int interval = dataRate > 0 ? 1000 / dataRate : 0;
// for testing maximum speed
@@ -291,8 +255,8 @@ bool SensorfwSensorBase::initSensorInterface(QString const &name)
// TODO deztructor: Leaking abstraction detected. Just copied code
// from initSensor<>() here, need to
QByteArray type = sensor()->type();
- if ((type == QAmbientLightSensor::type) // SensorFW returns lux values, plugin enumerated values
- || (type == QIRProximitySensor::type) // SensorFW returns raw reflectance values, plugin % of max reflectance
+ if ((type == QAmbientLightSensor::sensorType) // SensorFW returns lux values, plugin enumerated values
+ || (type == QIRProximitySensor::sensorType) // SensorFW returns raw reflectance values, plugin % of max reflectance
|| (name == "accelerometersensor") // SensorFW returns milliGs, plugin m/s^2
|| (name == "magnetometersensor") // SensorFW returns nanoTeslas, plugin Teslas
|| (name == "gyroscopesensor")) // SensorFW returns DSPs, plugin milliDSPs
@@ -330,4 +294,3 @@ bool SensorfwSensorBase::isFeatureSupported(QSensor::Feature feature) const
return false;
}
-
diff --git a/src/plugins/sensors/sensorfw/sensorfwsensorbase.h b/src/plugins/sensors/sensorfw/sensorfwsensorbase.h
index 7e7f5c33..db78017a 100644
--- a/src/plugins/sensors/sensorfw/sensorfwsensorbase.h
+++ b/src/plugins/sensors/sensorfw/sensorfwsensorbase.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWSENSORBASE_H
@@ -101,7 +65,7 @@ protected:
int bufferSize() const;
virtual qreal correctionFactor() const;
bool reinitIsNeeded;
- bool isFeatureSupported(QSensor::Feature feature) const;
+ bool isFeatureSupported(QSensor::Feature feature) const override;
private:
bool initSensorInterface(QString const &);
diff --git a/src/plugins/sensors/sensorfw/sensorfwtapsensor.cpp b/src/plugins/sensors/sensorfw/sensorfwtapsensor.cpp
index 23498618..95dd794c 100644
--- a/src/plugins/sensors/sensorfw/sensorfwtapsensor.cpp
+++ b/src/plugins/sensors/sensorfw/sensorfwtapsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "sensorfwtapsensor.h"
diff --git a/src/plugins/sensors/sensorfw/sensorfwtapsensor.h b/src/plugins/sensors/sensorfw/sensorfwtapsensor.h
index 7e9edb4c..a8e48a86 100644
--- a/src/plugins/sensors/sensorfw/sensorfwtapsensor.h
+++ b/src/plugins/sensors/sensorfw/sensorfwtapsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef SENSORFWTAPSENSOR_H
#define SENSORFWTAPSENSOR_H
diff --git a/src/plugins/sensors/sensors.pro b/src/plugins/sensors/sensors.pro
deleted file mode 100644
index 7fce2071..00000000
--- a/src/plugins/sensors/sensors.pro
+++ /dev/null
@@ -1,45 +0,0 @@
-TEMPLATE = subdirs
-QT_FOR_CONFIG += sensors-private
-
-android {
- isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = android generic
-}
-
-qtConfig(sensorfw) {
- isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = sensorfw generic
-}
-
-darwin {
- isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = ios generic
-}
-
-winrt {
- isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = winrt generic
-}
-
-qtHaveModule(simulator) {
- isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = simulator generic
-}
-
-linux {
- isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = linux iio-sensor-proxy generic
-}
-
-contains(CONFIG, sensortag) {
- qtHaveModule(bluetooth) {
- SENSORS_PLUGINS = sensortag generic
- } else {
- message("You have configured for sensortag, but Qt Bluetooth module was not found.")
- }
-}
-
-contains(SENSORS_PLUGINS, dummy):SUBDIRS += dummy
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, generic):SUBDIRS += generic
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, simulator):qtHaveModule(simulator):SUBDIRS += simulator
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, linux):linux:SUBDIRS += linux
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, iio-sensor-proxy):linux:qtHaveModule(dbus):SUBDIRS += iio-sensor-proxy
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, android):android:SUBDIRS += android
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, sensorfw):sensorfw:SUBDIRS += sensorfw
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, sensortag):linux:SUBDIRS += sensortag
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, ios):darwin:SUBDIRS += ios
-isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, winrt):winrt:SUBDIRS += winrt
diff --git a/src/plugins/sensors/sensortag/Sensors.conf b/src/plugins/sensors/sensortag/Sensors.conf
deleted file mode 100644
index b8d79752..00000000
--- a/src/plugins/sensors/sensortag/Sensors.conf
+++ /dev/null
@@ -1,13 +0,0 @@
-[Default]
-QAccelerometer=sensortag.accelerometer
-QAmbientLightSensor=sensortag.als
-QCompass=sensortag.compass
-QMagnetometer=sensortag.magnetometer
-QOrientationSensor=sensortag.orientationsensor
-QProximitySensor=sensortag.proximitysensor
-QRotationSensor=sensortag.rotationsensor
-QTapSensor=sensortag.tapsensor
-QLightSensor=sensortag.lightsensor
-QIRProximitySensor=sensortag.irproximitysensor
-QGyroscope=sensortag.gyroscope
-QLidSensor=sensortag.lidsensor
diff --git a/src/plugins/sensors/sensortag/main.cpp b/src/plugins/sensors/sensortag/main.cpp
deleted file mode 100644
index e6dc54e5..00000000
--- a/src/plugins/sensors/sensortag/main.cpp
+++ /dev/null
@@ -1,113 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortagaccelerometer.h"
-#include "sensortagals.h"
-#include "sensortagbase.h"
-#include "sensortaggyroscope.h"
-#include "sensortaghumiditysensor.h"
-#include "sensortaglightsensor.h"
-#include "sensortagmagnetometer.h"
-#include "sensortagpressuresensor.h"
-#include "sensortagtemperaturesensor.h"
-
-#include <QtSensors/qsensorplugin.h>
-#include <QtSensors/qsensorbackend.h>
-#include <QtSensors/qsensormanager.h>
-#include <QSettings>
-
-class SensortagSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
- Q_INTERFACES(QSensorPluginInterface)
-
-public:
-
- void registerSensors()
- {
- if (!QSensorManager::isBackendRegistered(QAccelerometer::type, SensorTagAccelerometer::id))
- QSensorManager::registerBackend(QAccelerometer::type, SensorTagAccelerometer::id, this);
-
- if (!QSensorManager::isBackendRegistered(QAmbientLightSensor::type, SensorTagAls::id))
- QSensorManager::registerBackend(QAmbientLightSensor::type, SensorTagAls::id, this);
-
- if (!QSensorManager::isBackendRegistered(QLightSensor::type, SensorTagLightSensor::id))
- QSensorManager::registerBackend(QLightSensor::type, SensorTagLightSensor::id, this);
-
- if (!QSensorManager::isBackendRegistered(QAmbientTemperatureSensor::type, SensorTagTemperatureSensor::id))
- QSensorManager::registerBackend(QAmbientTemperatureSensor::type, SensorTagTemperatureSensor::id, this);
-
- if (!QSensorManager::isBackendRegistered(QHumiditySensor::type, SensorTagHumiditySensor::id))
- QSensorManager::registerBackend(QHumiditySensor::type, SensorTagHumiditySensor::id, this);
-
- if (!QSensorManager::isBackendRegistered(QPressureSensor::type, SensorTagPressureSensor::id))
- QSensorManager::registerBackend(QPressureSensor::type, SensorTagPressureSensor::id, this);
-
- if (!QSensorManager::isBackendRegistered(QGyroscope::type, SensorTagGyroscope::id))
- QSensorManager::registerBackend(QGyroscope::type, SensorTagGyroscope::id, this);
-
- if (!QSensorManager::isBackendRegistered(QMagnetometer::type, SensorTagMagnetometer::id))
- QSensorManager::registerBackend(QMagnetometer::type, SensorTagMagnetometer::id, this);
- }
-
- QSensorBackend *createBackend(QSensor *sensor)
- {
- if (sensor->identifier() == SensorTagAccelerometer::id)
- return new SensorTagAccelerometer(sensor);
- if (sensor->identifier() == SensorTagAls::id)
- return new SensorTagAls(sensor);
- if (sensor->identifier() == SensorTagLightSensor::id)
- return new SensorTagLightSensor(sensor);
- if (sensor->identifier() == SensorTagTemperatureSensor::id)
- return new SensorTagTemperatureSensor(sensor);
- if (sensor->identifier() == SensorTagHumiditySensor::id)
- return new SensorTagHumiditySensor(sensor);
- if (sensor->identifier() == SensorTagPressureSensor::id)
- return new SensorTagPressureSensor(sensor);
- if (sensor->identifier() == SensorTagGyroscope::id)
- return new SensorTagGyroscope(sensor);
- if (sensor->identifier() == SensorTagMagnetometer::id)
- return new SensorTagMagnetometer(sensor);
- return nullptr;
- }
-};
-
-#include "main.moc"
diff --git a/src/plugins/sensors/sensortag/plugin.json b/src/plugins/sensors/sensortag/plugin.json
deleted file mode 100644
index 9a0f4d52..00000000
--- a/src/plugins/sensors/sensortag/plugin.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "Keys": [ "sensortag" ] }
diff --git a/src/plugins/sensors/sensortag/sensortag.pri b/src/plugins/sensors/sensortag/sensortag.pri
deleted file mode 100644
index d1d60cb1..00000000
--- a/src/plugins/sensors/sensortag/sensortag.pri
+++ /dev/null
@@ -1,22 +0,0 @@
-# Input
-HEADERS += sensortagaccelerometer.h \
- sensortagals.h \
- sensortagbase.h \
- sensortaggyroscope.h \
- sensortaghumiditysensor.h \
- sensortaglightsensor.h \
- sensortagmagnetometer.h \
- sensortagpressuresensor.h \
- sensortagtemperaturesensor.h
-
-SOURCES += main.cpp \
- sensortagaccelerometer.cpp \
- sensortagals.cpp \
- sensortagbase.cpp \
- sensortaggyroscope.cpp \
- sensortaghumiditysensor.cpp \
- sensortaglightsensor.cpp \
- sensortagmagnetometer.cpp \
- sensortagpressuresensor.cpp \
- sensortagtemperaturesensor.cpp
-
diff --git a/src/plugins/sensors/sensortag/sensortag.pro b/src/plugins/sensors/sensortag/sensortag.pro
deleted file mode 100644
index 42252970..00000000
--- a/src/plugins/sensors/sensortag/sensortag.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TARGET = qtsensors_sensortag
-QT = core sensors-private bluetooth
-CONFIG += c++11
-
-include(sensortag.pri)
-
-OTHER_FILES = plugin.json
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = SensortagSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/sensortag/sensortagaccelerometer.cpp b/src/plugins/sensors/sensortag/sensortagaccelerometer.cpp
deleted file mode 100644
index b5b582a9..00000000
--- a/src/plugins/sensors/sensortag/sensortagaccelerometer.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortagaccelerometer.h"
-#include <QtSensors/qsensorbackend.h>
-
-char const * const SensorTagAccelerometer::id("sensortag.accelerometer");
-
-SensorTagAccelerometer::SensorTagAccelerometer(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- init();
- setDescription(QLatin1String("x, y, and z axes accelerations in m/s^2"));
- setReading<QAccelerometerReading>(&m_reading);
- sensor->setDataRate(50);//set a default rate
-}
-
-void SensorTagAccelerometer::slotDataAvailable(const QAccelerometerReading &data)
-{
- m_reading.setX(data.x());
- m_reading.setY(data.y());
- m_reading.setZ(data.z());
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagAccelerometer::init()
-{
- m_initDone = false;
-}
-
-void SensorTagAccelerometer::start()
-{
- QObject::connect(this, &SensorTagBase::accelDataAvailable,
- this, &SensorTagAccelerometer::slotDataAvailable);
- d_ptr->enableService(TI_SENSORTAG_ACCELEROMETER_SERVICE);
-}
-
-void SensorTagAccelerometer::stop()
-{
- QObject::disconnect(this, &SensorTagBase::accelDataAvailable,
- this, &SensorTagAccelerometer::slotDataAvailable);
- d_ptr->disableService(TI_SENSORTAG_ACCELEROMETER_SERVICE);
-}
-
diff --git a/src/plugins/sensors/sensortag/sensortagaccelerometer.h b/src/plugins/sensors/sensortag/sensortagaccelerometer.h
deleted file mode 100644
index 39ad47f6..00000000
--- a/src/plugins/sensors/sensortag/sensortagaccelerometer.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGACCELEROMETER_H
-#define SENSORTAGACCELEROMETER_H
-
-#include "sensortagbase.h"
-#include <QtSensors/qaccelerometer.h>
-
-class SensorTagAccelerometer : public SensorTagBase
-{
- Q_OBJECT
-
-public:
- static char const * const id;
- SensorTagAccelerometer(QSensor *sensor);
-protected:
- void start() override;
- void stop() override;
- virtual void init();
-
-private:
- QAccelerometerReading m_reading;
- bool m_initDone = false;
-
-private slots:
- void slotDataAvailable(const QAccelerometerReading &data);
-};
-
-#endif
-// SENSORTAGACCELEROMETER_H
diff --git a/src/plugins/sensors/sensortag/sensortagals.cpp b/src/plugins/sensors/sensortag/sensortagals.cpp
deleted file mode 100644
index 3fe2de4c..00000000
--- a/src/plugins/sensors/sensortag/sensortagals.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortagals.h"
-#include "sensortagbase.h"
-#include <QDebug>
-
-char const * const SensorTagAls::id("sensortag.als");
-
-SensorTagAls::SensorTagAls(QSensor *sensor)
- : SensorTagBase(sensor)
- , m_initDone(false)
-{
- init();
- setReading<QAmbientLightReading>(&m_reading);
- setDescription(QLatin1String("ambient light intensity given as 5 pre-defined levels"));
-}
-
-void SensorTagAls::start()
-{
- QObject::connect(this, &SensorTagBase::luxDataAvailable, this, &SensorTagAls::slotDataAvailable);
- d_ptr->enableService(TI_SENSORTAG_LIGHT_SERVICE);
-}
-
-void SensorTagAls::stop()
-{
- QObject::disconnect(this, &SensorTagBase::luxDataAvailable, this, &SensorTagAls::slotDataAvailable);
- d_ptr->disableService(TI_SENSORTAG_LIGHT_SERVICE);
-}
-
-void SensorTagAls::slotDataAvailable(qreal data)
-{
- QAmbientLightReading::LightLevel level = getLightLevel(data);
- if (level != m_reading.lightLevel()) {
- m_reading.setLightLevel(level);
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
- }
-}
-
-QAmbientLightReading::LightLevel SensorTagAls::getLightLevel(int lux)
-{
- if (lux < 0)
- return QAmbientLightReading::Undefined;
- if (lux < 10)
- return QAmbientLightReading::Dark;
- if (lux < 80)
- return QAmbientLightReading::Twilight;
- if (lux < 400)
- return QAmbientLightReading::Light;
- if (lux < 2500)
- return QAmbientLightReading::Bright;
- return QAmbientLightReading::Sunny;
-}
-
-void SensorTagAls::init()
-{
- m_initDone = false;
-}
diff --git a/src/plugins/sensors/sensortag/sensortagals.h b/src/plugins/sensors/sensortag/sensortagals.h
deleted file mode 100644
index 3ef1b928..00000000
--- a/src/plugins/sensors/sensortag/sensortagals.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGALS_H
-#define SENSORTAGALS_H
-
-#include "sensortagbase.h"
-#include <QtSensors/qambientlightsensor.h>
-
-class SensorTagAls : public SensorTagBase
-{
- Q_OBJECT
-
-public:
- static char const * const id;
- SensorTagAls(QSensor *sensor);
-protected:
- void start() override;
- void stop() override;
- virtual void init();
-
-private:
- QAmbientLightReading m_reading;
- bool m_initDone = false;
-private slots:
- void slotDataAvailable(qreal data);
- static QAmbientLightReading::LightLevel getLightLevel(int lux);
-};
-
-#endif
-//SENSORTAGALS_H
diff --git a/src/plugins/sensors/sensortag/sensortagbase.cpp b/src/plugins/sensors/sensortag/sensortagbase.cpp
deleted file mode 100644
index 322a86d7..00000000
--- a/src/plugins/sensors/sensortag/sensortagbase.cpp
+++ /dev/null
@@ -1,600 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortagbase.h"
-
-#include <QLowEnergyCharacteristic>
-#include <QtMath>
-#include <QTimer>
-#include <QDeadlineTimer>
-
-Q_GLOBAL_STATIC(SensorTagBasePrivate, sensortagBasePrivate)
-
-SensorTagBasePrivate::SensorTagBasePrivate(QObject *parent)
- : QObject(parent)
-{
- QTimer::singleShot(50, this, &SensorTagBasePrivate::deviceSearch);
-}
-
-void SensorTagBasePrivate::deviceSearch()
-{
- m_deviceDiscoveryAgent = new QBluetoothDeviceDiscoveryAgent(this);
-
- connect(m_deviceDiscoveryAgent, &QBluetoothDeviceDiscoveryAgent::deviceDiscovered,
- this, &SensorTagBasePrivate::deviceFound);
- connect(m_deviceDiscoveryAgent, QOverload<QBluetoothDeviceDiscoveryAgent::Error>::of(&QBluetoothDeviceDiscoveryAgent::error),
- this, &SensorTagBasePrivate::deviceScanError);
- connect(m_deviceDiscoveryAgent, &QBluetoothDeviceDiscoveryAgent::finished,
- this, &SensorTagBasePrivate::scanFinished);
-
- QTimer::singleShot(20000, this, &SensorTagBasePrivate::deviceSearchTimeout); //make sure to timeout
- m_deviceDiscoveryAgent->start(QBluetoothDeviceDiscoveryAgent::LowEnergyMethod);
-}
-
-void SensorTagBasePrivate::deviceSearchTimeout()
-{
- if (m_deviceDiscoveryAgent->isActive() && m_control == nullptr) {
- m_deviceDiscoveryAgent->stop();
- qWarning("No Sensor Tag devices found");
- }
-}
-
-void SensorTagBasePrivate::deviceFound(const QBluetoothDeviceInfo &device)
-{
- if (device.coreConfigurations() & QBluetoothDeviceInfo::LowEnergyCoreConfiguration) {
- const QString idString = QString::fromLatin1(qgetenv("QT_SENSORTAG_ID"));
-
- const QBluetoothAddress watchForAddress(idString);
- //mac uses deviceUuid
- const QUuid watchForId(idString);
-
- bool ok;
-
- if ((!watchForAddress.isNull() && watchForAddress == device.address()) ||
- (!watchForId.isNull() && watchForId == device.deviceUuid())) {
- ok = true;
- }
- if (ok || device.name().contains("SensorTag")) {
-
- m_deviceDiscoveryAgent->stop();
-
- m_control = new QLowEnergyController(device.address(), this);
-
- connect(m_control, &QLowEnergyController::discoveryFinished,
- this, &SensorTagBasePrivate::serviceDiscoveryFinished);
- connect(m_control, &QLowEnergyController::serviceDiscovered,
- this, &SensorTagBasePrivate::serviceDiscovered);
- connect(m_control, QOverload<QLowEnergyController::Error>::of(&QLowEnergyController::error),
- this, &SensorTagBasePrivate::controllerError);
- connect(m_control, &QLowEnergyController::connected,
- this, &SensorTagBasePrivate::sensortagDeviceConnected);
- connect(m_control, &QLowEnergyController::disconnected,
- this, &SensorTagBasePrivate::deviceDisconnected);
-
- m_control->connectToDevice();
- }
- }
-}
-
-void SensorTagBasePrivate::serviceDiscoveryFinished()
-{
- discoveryDone = true;
-}
-
-void SensorTagBasePrivate::scanFinished()
-{
- if (m_control == nullptr)
- qWarning("No Sensor Tag devices found");
-}
-
-void SensorTagBasePrivate::deviceScanError(QBluetoothDeviceDiscoveryAgent::Error error)
-{
- switch (error) {
- case QBluetoothDeviceDiscoveryAgent::PoweredOffError:
- qWarning("The Bluetooth adaptor is powered off, power it on before doing discovery.");
- break;
- case QBluetoothDeviceDiscoveryAgent::InputOutputError:
- qWarning("Writing or reading from the device resulted in an error.");
- break;
- default:
- qWarning("An unknown error has occurred.");
- break;
- };
-}
-
-void SensorTagBasePrivate::serviceError(QLowEnergyService::ServiceError e)
-{
- switch (e) {
- case QLowEnergyService::DescriptorWriteError:
- qWarning("Cannot obtain SensorTag notifications");
- break;
- default:
- case QLowEnergyService::CharacteristicWriteError:
- qWarning() << "SensorTag service error:" << e;
- break;
- };
-}
-
-void SensorTagBasePrivate::controllerError(QLowEnergyController::Error error)
-{
- qWarning("Cannot connect to remote device.");
- qWarning() << "Controller Error:" << error;
-}
-
-void SensorTagBasePrivate::sensortagDeviceConnected()
-{
- m_control->discoverServices();
-}
-
-void SensorTagBasePrivate::deviceDisconnected()
-{
- if (q_ptr && q_ptr->sensor()->isActive())
- q_ptr->sensorStopped();
-}
-
-void SensorTagBasePrivate::serviceDiscovered(const QBluetoothUuid &gatt)
-{
- if (enabledServiceUuids.contains(gatt)) {
-
- if (gatt == TI_SENSORTAG_LIGHT_SERVICE) {
- lightService = m_control->createServiceObject(gatt, this);
- doConnections(lightService);
- } else if (gatt == TI_SENSORTAG_TEMPERATURE_SERVICE) {
- temperatureService = m_control->createServiceObject(gatt, this);
- doConnections(temperatureService);
- } else if (gatt == TI_SENSORTAG_BAROMETER_SERVICE) {
- barometerService = m_control->createServiceObject(gatt, this);
- doConnections(barometerService);
- } else if (gatt == TI_SENSORTAG_HUMIDTIY_SERVICE) {
- humidityService = m_control->createServiceObject(gatt, this);
- doConnections(humidityService);
- } else if (gatt == TI_SENSORTAG_INFO_SERVICE) {
- infoService = m_control->createServiceObject(gatt, this);
- doConnections(infoService);
- } else if (gatt == TI_SENSORTAG_ACCELEROMETER_SERVICE) {
- acceleratorService = m_control->createServiceObject(gatt, this);
- doConnections(acceleratorService);
- } else if (gatt == TI_SENSORTAG_GYROSCOPE_SERVICE) {
- gyroscopeService = m_control->createServiceObject(gatt, this);
- doConnections(gyroscopeService);
- } else if (gatt == TI_SENSORTAG_MAGNETOMETER_SERVICE) {
- magnetometerService = m_control->createServiceObject(gatt, this);
- doConnections(magnetometerService);
- } else if (movementService == nullptr) {
- if (gatt == TI_SENSORTAG_MOVEMENT_SERVICE) {
- movementService = m_control->createServiceObject(gatt, this);
- doConnections(movementService);
- }
- }
- }
-}
-
-void SensorTagBasePrivate::doConnections(QLowEnergyService *service)
-{
- if (service) {
- connect(service, &QLowEnergyService::stateChanged,
- this, &SensorTagBasePrivate::serviceStateChanged);
-
- connect(service, &QLowEnergyService::characteristicChanged,
- this, &SensorTagBasePrivate::updateCharacteristic);
-
- connect(service,SIGNAL(error(QLowEnergyService::ServiceError)),
- this,SLOT(serviceError(QLowEnergyService::ServiceError)));
-
- if (service->state() == QLowEnergyService::DiscoveryRequired) {
- service->discoverDetails();
- } else if (!enabledServiceUuids.isEmpty()
- && enabledServiceUuids.contains(service->serviceUuid())) {
- enableService(service->serviceUuid());
- }
- }
-}
-
-void SensorTagBasePrivate::serviceStateChanged(QLowEnergyService::ServiceState newState)
-{
- if (newState != QLowEnergyService::ServiceDiscovered)
- return;
-
- QLowEnergyService *m_service = qobject_cast<QLowEnergyService *>(sender());
-
- if (!m_service)
- return;
-
- if (!enabledServiceUuids.isEmpty()
- && enabledServiceUuids.contains(m_service->serviceUuid())) {
- enableService(m_service->serviceUuid());
- }
-}
-
-void SensorTagBasePrivate::enableLight(bool on)
-{
- if (!lightService && discoveryDone)
- serviceDiscovered(TI_SENSORTAG_LIGHT_SERVICE);
- if (!lightService)
- return;
-
- const QLowEnergyCharacteristic hrChar = lightService->characteristic(TI_SENSORTAG_LIGHT_CONTROL);
- lightService->writeCharacteristic(hrChar, on ? enableSensorCharacteristic : disableSensorCharacteristic);
-
- const QLowEnergyCharacteristic hrChar2 = lightService->characteristic(TI_SENSORTAG_LIGHT_DATA);
-
- if (hrChar2.descriptors().count() > 0) {
- const QLowEnergyDescriptor m_notificationDesc = hrChar2.descriptors().at(0);
- lightService->writeDescriptor(m_notificationDesc,
- on ? enableNotificationsCharacteristic : disableNotificationsCharacteristic);
- }
-}
-
-void SensorTagBasePrivate::enableTemp(bool on)
-{
- if (!temperatureService && discoveryDone)
- serviceDiscovered(TI_SENSORTAG_TEMPERATURE_SERVICE);
-
- if (!temperatureService)
- return;
-
- const QLowEnergyCharacteristic hrChar = temperatureService->characteristic(TI_SENSORTAG_IR_TEMPERATURE_CONTROL);
- temperatureService->writeCharacteristic(hrChar,on ? enableSensorCharacteristic : disableSensorCharacteristic);
-
- const QLowEnergyCharacteristic hrChar2 = temperatureService->characteristic(TI_SENSORTAG_IR_TEMPERATURE_DATA);
-
- if (hrChar2.descriptors().count() > 0) {
- const QLowEnergyDescriptor m_notificationDesc = hrChar2.descriptors().at(0);
- temperatureService->writeDescriptor(m_notificationDesc,
- on ? enableNotificationsCharacteristic : disableNotificationsCharacteristic);
- }
-}
-
-void SensorTagBasePrivate::enablePressure(bool on)
-{
- if (!barometerService && discoveryDone)
- serviceDiscovered(TI_SENSORTAG_BAROMETER_SERVICE);
- if (!barometerService)
- return;
-
- const QLowEnergyCharacteristic hrChar = barometerService->characteristic(TI_SENSORTAG_BAROMETER_CONTROL);
- barometerService->writeCharacteristic(hrChar, on ? enableSensorCharacteristic : disableSensorCharacteristic);
-
- const QLowEnergyCharacteristic hrChar2 = barometerService->characteristic(TI_SENSORTAG_BAROMETER_DATA);
- if (hrChar2.descriptors().count() > 0) {
- const QLowEnergyDescriptor m_notificationDesc = hrChar2.descriptors().at(0);
-
- barometerService->writeDescriptor(m_notificationDesc,
- on ? enableNotificationsCharacteristic : disableNotificationsCharacteristic);
- }
-}
-
-void SensorTagBasePrivate::enableHumidity(bool on)
-{
- if (!humidityService && discoveryDone)
- serviceDiscovered(TI_SENSORTAG_HUMIDTIY_SERVICE);
- if (!humidityService)
- return;
-
- const QLowEnergyCharacteristic hrChar = humidityService->characteristic(TI_SENSORTAG_HUMIDTIY_CONTROL);
- humidityService->writeCharacteristic(hrChar, on ? enableSensorCharacteristic : disableSensorCharacteristic);
- const QLowEnergyCharacteristic hrChar2 = humidityService->characteristic(TI_SENSORTAG_HUMIDTIY_DATA);
- if (hrChar2.descriptors().count() > 0) {
- const QLowEnergyDescriptor m_notificationDesc = hrChar2.descriptors().at(0);
- humidityService->writeDescriptor(m_notificationDesc,
- on ? enableNotificationsCharacteristic : disableNotificationsCharacteristic);
- }
-}
-
-void SensorTagBasePrivate::enableMovement(bool on)
-{
- if (!movementService && discoveryDone)
- serviceDiscovered(TI_SENSORTAG_MOVEMENT_SERVICE);
- if (!movementService)
- return;
-
- QByteArray controlCharacteristic;
-
- int movementControl = 0;
- //movement service has different syntax here
- if (on) {
- if (gyroscopeEnabled)
- movementControl += 7;
- if (accelerometerEnabled)
- movementControl += 56;
- if (magnetometerEnabled)
- movementControl += 64;
-
- controlCharacteristic = QByteArray::number(movementControl, 16);
- controlCharacteristic.append("04");
-
- } else {
- controlCharacteristic = "00";
- }
-
- const QLowEnergyCharacteristic hrChar = movementService->characteristic(TI_SENSORTAG_MOVEMENT_CONTROL);
- movementService->writeCharacteristic(hrChar, QByteArray::fromHex(controlCharacteristic));
-
- const QLowEnergyCharacteristic hrChar2 = movementService->characteristic(TI_SENSORTAG_MOVEMENT_DATA);
- if (hrChar2.descriptors().count() > 0) {
- QLowEnergyDescriptor m_notificationDesc = hrChar2.descriptors().at(0);
-
- movementService->writeDescriptor(m_notificationDesc,
- on ? enableNotificationsCharacteristic : disableNotificationsCharacteristic);
- }
-}
-
-void SensorTagBasePrivate::enableService(const QBluetoothUuid &uuid)
-{
- if (uuid == TI_SENSORTAG_ACCELEROMETER_SERVICE
- || uuid == TI_SENSORTAG_MAGNETOMETER_SERVICE
- || uuid == TI_SENSORTAG_GYROSCOPE_SERVICE) {
-
- if ((uuid != TI_SENSORTAG_MOVEMENT_SERVICE)
- && (accelerometerEnabled || magnetometerEnabled || gyroscopeEnabled))
- return;
-
- if (!enabledServiceUuids.contains(TI_SENSORTAG_MOVEMENT_SERVICE))
- enabledServiceUuids.append(TI_SENSORTAG_MOVEMENT_SERVICE);
-
- if (uuid == TI_SENSORTAG_ACCELEROMETER_SERVICE)
- accelerometerEnabled = true;
- else if (uuid == TI_SENSORTAG_MAGNETOMETER_SERVICE)
- magnetometerEnabled = true;
- else if (uuid == TI_SENSORTAG_GYROSCOPE_SERVICE)
- gyroscopeEnabled = true;
-
- } else if (!enabledServiceUuids.contains(uuid))
- enabledServiceUuids.append(uuid);
-
- if (discoveryDone) {
-
- if (uuid == TI_SENSORTAG_LIGHT_SERVICE)
- enableLight(true);
- else if (uuid == TI_SENSORTAG_TEMPERATURE_SERVICE)
- enableTemp(true);
- else if (uuid == TI_SENSORTAG_BAROMETER_SERVICE)
- enablePressure(true);
- else if (uuid == TI_SENSORTAG_HUMIDTIY_SERVICE)
- enableHumidity(true);
- else if (uuid == TI_SENSORTAG_MOVEMENT_SERVICE)
- enableMovement(true);
- else if (uuid == TI_SENSORTAG_ACCELEROMETER_SERVICE)
- enableMovement(true);
- else if (uuid == TI_SENSORTAG_MAGNETOMETER_SERVICE)
- enableMovement(true);
- else if (uuid == TI_SENSORTAG_GYROSCOPE_SERVICE)
- enableMovement(true);
- }
-}
-
-void SensorTagBasePrivate::disableService(const QBluetoothUuid &uuid)
-{
- enabledServiceUuids.removeOne(uuid);
-
- if (uuid == TI_SENSORTAG_LIGHT_SERVICE) {
- enableLight(false);
- } else if (uuid == TI_SENSORTAG_TEMPERATURE_SERVICE) {
- enableTemp(false);
- } else if (uuid == TI_SENSORTAG_BAROMETER_SERVICE) {
- enablePressure(false);
- } else if (uuid == TI_SENSORTAG_HUMIDTIY_SERVICE) {
- enableHumidity(false);
- } else if (uuid == TI_SENSORTAG_MOVEMENT_SERVICE) {
- enableMovement(false);
- } else if (uuid == TI_SENSORTAG_ACCELEROMETER_SERVICE) {
- enableMovement(false);
- accelerometerEnabled = false;
- } else if (uuid == TI_SENSORTAG_MAGNETOMETER_SERVICE) {
- enableMovement(false);
- magnetometerEnabled = false;
- } else if (uuid == TI_SENSORTAG_GYROSCOPE_SERVICE) {
- enableMovement(false);
- gyroscopeEnabled = false;
- }
-}
-
-void SensorTagBasePrivate::updateCharacteristic(const QLowEnergyCharacteristic &c,
- const QByteArray &value)
-{
- if (c.uuid() == TI_SENSORTAG_LIGHT_DATA) {
- convertLux(value);
- } else if (c.uuid()== TI_SENSORTAG_IR_TEMPERATURE_DATA) {
- convertTemperature(value);
- } else if (c.uuid() == TI_SENSORTAG_BAROMETER_DATA) {
- convertBarometer(value);
- } else if (c.uuid()== TI_SENSORTAG_HUMIDTIY_DATA) {
- convertHumidity(value);
- } else if (c.uuid()== TI_SENSORTAG_BAROMETER_DATA) {
- convertBarometer(value);
- } else if ((c.uuid() == TI_SENSORTAG_ACCELEROMETER_DATA
- || c.uuid() == TI_SENSORTAG_MOVEMENT_DATA) && accelerometerEnabled) {
- convertAccelerometer(value);
- } else if ((c.uuid() == TI_SENSORTAG_MAGNETOMETER_DATA
- || c.uuid()== TI_SENSORTAG_MOVEMENT_DATA) && magnetometerEnabled) {
- convertMagnetometer(value);
- } else if ((c.uuid() == TI_SENSORTAG_GYROSCOPE_DATA
- || c.uuid() == TI_SENSORTAG_MOVEMENT_DATA) && gyroscopeEnabled) {
- convertGyroscope(value);
- }
-}
-
-void SensorTagBasePrivate::convertLux(const QByteArray &bytes)
-{
- if (bytes.size() < 1)
- return;
-
- quint16 dat = ((quint16)bytes[1] & 0xFF) << 8;
- dat |= (quint16)(bytes[0] & 0xFF);
-
- qreal lux = dat * .01;
-
- emit luxDataAvailable(lux);
-}
-
-void SensorTagBasePrivate::convertTemperature(const QByteArray &bytes)
-{
- if (bytes.size() < 3)
- return;
-
- qint16 objTemp = ((bytes[0] & 0xff) | ((bytes[1] << 8) & 0xff00));
- objTemp >>= 2;
- qreal objectTemperature = objTemp * 0.03125;
- // change to this if you want to use the ambient/die temp sensor
- // qreal ambientTemperature = ambTemp / 128.0;
-
- emit tempDataAvailable(objectTemperature);
-}
-
-void SensorTagBasePrivate::convertHumidity(const QByteArray &bytes)
-{
- if (bytes.size() < 3)
- return;
- quint16 rawH = (bytes[2] & 0xff) | ((bytes[3] << 8) & 0xff00);
- qreal rHumidity = (qreal)(rawH / 65535) * 100.0;
-
- emit humidityDataAvailable(rHumidity);
-}
-
-void SensorTagBasePrivate::convertBarometer(const QByteArray &bytes)
-{
- if (bytes.size() < 5)
- return;
- quint32 pressure = (bytes[3] & 0xff) | ((bytes[4] << 8) & 0xff00) | ((bytes[5] << 16) & 0xff0000);
-
- qreal mbars = (qreal)pressure / 100.0;
- emit pressureDataAvailable(mbars);
-}
-
-void SensorTagBasePrivate::convertAccelerometer(const QByteArray &bytes)
-{
- if (bytes.size() < 3)
- return;
-
- int range = 8;
-
- qint16 X = (qint16)((bytes[8]) + ((bytes[9] << 8)));
- qint16 Y = (qint16)((bytes[6]) + ((bytes[7] << 8)));
- qint16 Z = (qint16)((bytes[10]) + ((bytes[11] << 8)));
-
- accelReading.setX((qreal)(X * 1.0) / (32768 / range) * 9.80665);
- accelReading.setY(-(qreal)(Y * 1.0) / (32768 / range) * 9.80665);
- accelReading.setZ((qreal)(Z * 1.0) / (32768 / range) * 9.80665);
- // TODO needs calibration
-
- emit accelDataAvailable(accelReading);
-}
-
-void SensorTagBasePrivate::convertMagnetometer(const QByteArray &bytes)
-{
- if (bytes.size() < 3)
- return;
-
- qreal scale = 6.67100977199; // 32768 / 4912;
- qint16 X = (qint16)((bytes[12]) + ((bytes[13] << 8)));
- qint16 Y = (qint16)((bytes[14]) + ((bytes[15] << 8)));
- qint16 Z = (qint16)((bytes[16]) + ((bytes[17] << 8)));
- // TODO needs calibration
-
- magReading.setX((qreal)(X / scale));
- magReading.setY((qreal)(Y / scale));
- magReading.setZ((qreal)(Z / scale));
-
- emit magDataAvailable(magReading);
-}
-
-void SensorTagBasePrivate::convertGyroscope(const QByteArray &bytes)
-{
- if (bytes.size() < 3)
- return;
-
- qreal scale = 128.0;
- qint16 X = (qint16)((bytes[2]) + ((bytes[3] << 8)));
- qint16 Y = (qint16)((bytes[0]) + ((bytes[1] << 8)));
- qint16 Z = (qint16)((bytes[4]) + ((bytes[5] << 8)));
-
- gyroReading.setX((qreal)(X / scale));
- gyroReading.setY((qreal)(Y / scale));
- gyroReading.setZ((qreal)(Z / scale));
-
- emit gyroDataAvailable(gyroReading);
-}
-
-SensorTagBasePrivate * SensorTagBasePrivate::instance()
-{
- SensorTagBasePrivate *priv = sensortagBasePrivate();
- return priv;
-}
-
-SensorTagBase::SensorTagBase(QSensor *sensor)
- : QSensorBackend(sensor),
- leService(nullptr),
- serviceId(nullptr),
- d_ptr(SensorTagBasePrivate::instance())
-{
- connect(d_ptr, &SensorTagBasePrivate::luxDataAvailable,
- this, &SensorTagBase::luxDataAvailable);
- connect(d_ptr, &SensorTagBasePrivate::tempDataAvailable,
- this, &SensorTagBase::tempDataAvailable);
- connect(d_ptr, &SensorTagBasePrivate::humidityDataAvailable,
- this, &SensorTagBase::humidityDataAvailable);
- connect(d_ptr, &SensorTagBasePrivate::pressureDataAvailable,
- this, &SensorTagBase::pressureDataAvailable);
- connect(d_ptr, &SensorTagBasePrivate::accelDataAvailable,
- this, &SensorTagBase::accelDataAvailable);
- connect(d_ptr, &SensorTagBasePrivate::gyroDataAvailable,
- this, &SensorTagBase::gyroDataAvailable);
- connect(d_ptr, &SensorTagBasePrivate::magDataAvailable,
- this, &SensorTagBase::magDataAvailable);
-}
-
-SensorTagBase::~SensorTagBase()
-{
-}
-
-void SensorTagBase::start()
-{
-}
-
-void SensorTagBase::stop()
-{
-}
-
-quint64 SensorTagBase::produceTimestamp()
-{
- return QDeadlineTimer::current().deadlineNSecs() / 1000;
-}
-
-
diff --git a/src/plugins/sensors/sensortag/sensortagbase.h b/src/plugins/sensors/sensortag/sensortagbase.h
deleted file mode 100644
index 5d61aacf..00000000
--- a/src/plugins/sensors/sensortag/sensortagbase.h
+++ /dev/null
@@ -1,252 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGBASEPRIVATE_H
-#define SENSORTAGBASEPRIVATE_H
-
-#include <QObject>
-#include <QSensorBackend>
-
-#include <QBluetoothDeviceDiscoveryAgent>
-#include <QBluetoothDeviceInfo>
-#include <QLowEnergyController>
-#include <QLowEnergyService>
-
-#include <QAccelerometerReading>
-#include <QGyroscopeReading>
-#include <QMagnetometerReading>
-
-class SensorTagBase;
-
-class SensorTagBasePrivate : public QObject
-{
- Q_OBJECT
- Q_DECLARE_PUBLIC(SensorTagBase)
-public:
- explicit SensorTagBasePrivate(QObject *parent = 0);
-
- QLowEnergyService *lightService = nullptr;
- QLowEnergyService *temperatureService = nullptr;
- QLowEnergyService *barometerService = nullptr;
- QLowEnergyService *humidityService = nullptr;
- QLowEnergyService *movementService = nullptr;
- QLowEnergyService *acceleratorService = nullptr;
- QLowEnergyService *magnetometerService = nullptr;
- QLowEnergyService *gyroscopeService = nullptr;
-
- void enableService(const QBluetoothUuid &uuid);
- void disableService(const QBluetoothUuid &uuid);
-
- static SensorTagBasePrivate *instance();
-
-signals:
- void accelDataAvailable(const QAccelerometerReading &);
- void gyroDataAvailable(const QGyroscopeReading &);
- void magDataAvailable(const QMagnetometerReading &);
-
- void luxDataAvailable(qreal);
- void tempDataAvailable(qreal);
- void humidityDataAvailable(qreal);
- void pressureDataAvailable(qreal);
- void compassDataAvailable(qreal);
-
-public slots:
- void enableLight(bool);
- void enableTemp(bool);
- void enablePressure(bool);
- void enableHumidity(bool);
- void enableMovement(bool);
-
- void deviceFound(const QBluetoothDeviceInfo&);
- void scanFinished();
-
- void deviceScanError(QBluetoothDeviceDiscoveryAgent::Error);
- void serviceDiscovered(const QBluetoothUuid &);
-
- void controllerError(QLowEnergyController::Error);
-
- void sensortagDeviceConnected();
- void deviceDisconnected();
-
- void serviceStateChanged(QLowEnergyService::ServiceState s);
- void updateCharacteristic(const QLowEnergyCharacteristic &c,
- const QByteArray &value);
- void serviceError(QLowEnergyService::ServiceError e);
- void doConnections(QLowEnergyService *service);
-
-private slots:
- void deviceSearch();
- void serviceDiscoveryFinished();
- void deviceSearchTimeout();
-
-private:
-
- void convertLux(const QByteArray &value);
- void convertTemperature(const QByteArray &value);
- void convertBarometer(const QByteArray &value);
- void convertHumidity(const QByteArray &value);
- void convertAccelerometer(const QByteArray &value);
- void convertMagnetometer(const QByteArray &value);
- void convertGyroscope(const QByteArray &value);
-
- QBluetoothDeviceDiscoveryAgent *m_deviceDiscoveryAgent = nullptr;
- QLowEnergyDescriptor m_notificationDesc;
-
- QLowEnergyController *m_control = nullptr;
- QLowEnergyService *infoService = nullptr;
-
- QAccelerometerReading accelReading;
- QGyroscopeReading gyroReading;
- QMagnetometerReading magReading;
-
- bool discoveryDone = false;
- QList <QBluetoothUuid> enabledServiceUuids;
- SensorTagBase *q_ptr;
-
- bool accelerometerEnabled = false;
- bool gyroscopeEnabled = false;
- bool magnetometerEnabled = false;
-
- const QByteArray enableSensorCharacteristic = QByteArrayLiteral("\x01");
- const QByteArray disableSensorCharacteristic = QByteArrayLiteral("\x00");
-
- const QByteArray enableNotificationsCharacteristic = QByteArrayLiteral("\x01\x00");
- const QByteArray disableNotificationsCharacteristic = QByteArrayLiteral("\x00\x00");
-};
-
-const QBluetoothUuid TI_SENSORTAG_TEMPERATURE_SERVICE(QUuid("{f000aa00-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_IR_TEMPERATURE_DATA(QUuid("{f000aa01-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_IR_TEMPERATURE_CONTROL(QUuid("{f000aa02-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_IR_TEMPERATURE_PERIOD(QUuid("{f000aa03-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_ACCELEROMETER_SERVICE(QUuid("{f000aa10-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_ACCELEROMETER_DATA(QUuid("{f000aa11-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_ACCELEROMETER_CONTROL(QUuid("{f000aa12-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_ACCELEROMETER_PERIOD(QUuid("{f000aa13-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_HUMIDTIY_SERVICE(QUuid("{f000aa20-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_HUMIDTIY_DATA(QUuid("{f000aa21-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_HUMIDTIY_CONTROL(QUuid("{f000aa22-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_HUMIDTIY_PERIOD(QUuid("{f000aa23-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_MAGNETOMETER_SERVICE(QUuid("{f000aa30-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_MAGNETOMETER_DATA(QUuid("{f000aa31-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_MAGNETOMETER_CONTROL(QUuid("{f000aa32-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_MAGNETOMETER_PERIOD(QUuid("{f000aa33-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_BAROMETER_SERVICE(QUuid("{f000aa40-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_BAROMETER_DATA(QUuid("{f000aa41-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_BAROMETER_CONTROL(QUuid("{f000aa42-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_BAROMETER_CALIBRATION(QUuid("{f000aa43-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_BAROMETER_PERIOD(QUuid("{f000aa44-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_GYROSCOPE_SERVICE(QUuid("{f000aa50-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_GYROSCOPE_DATA(QUuid("{f000aa51-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_GYROSCOPE_CONTROL(QUuid("{f000aa52-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_GYROSCOPE_PERIOD(QUuid("{f000aa53-0451-4000-b000-000000000000}"));
-
-// test service "{f000aa60-0451-4000-b000-000000000000}"
-
-const QBluetoothUuid TI_SENSORTAG_IO_SERVICE(QUuid("{f000aa64-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_IO_DATA(QUuid("{f000aa65-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_IO_CONTROL(QUuid("{f000aa66-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_LIGHT_SERVICE(QUuid("{f000aa70-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_LIGHT_DATA(QUuid("{f000aa71-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_LIGHT_CONTROL(QUuid("{f000aa72-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_LIGHT_PERIOD(QUuid("{f000aa73-0451-4000-b000-000000000000}"));
-
-const QBluetoothUuid TI_SENSORTAG_MOVEMENT_SERVICE(QUuid("{f000aa80-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_MOVEMENT_DATA(QUuid("{f000aa81-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_MOVEMENT_CONTROL(QUuid("{f000aa82-0451-4000-b000-000000000000}"));
-const QBluetoothUuid TI_SENSORTAG_MOVEMENT_PERIOD(QUuid("{f000aa83-0451-4000-b000-000000000000}"));
-
-// keypress "{f000ffe0-0000-1000-8000-00805f9b34fb"
-
-// Connection Control Service "{f000ccc0-0451-4000-b000-000000000000}"
-// OAD (over air download) Service "{f000ffc0-0451-4000-b000-000000000000}"
-
-const QBluetoothUuid TI_SENSORTAG_INFO_SERVICE(QUuid("{0000180a-0000-1000-8000-00805f9b34fb}"));
-//we might want to use these somehow
-//const QBluetoothUuid TI_SENSORTAG_BATTERY_SERVICE "180F"
-//const QBluetoothUuid TI_SENSORTAG_BATTERY_BATTERY_LEVEL "2A19"
-
-// {00001800-0000-1000-8000-00805f9b34fb} //Generic Access Service
-// {00001801-0000-1000-8000-00805f9b34fb} //Generic Attribute Service
-
-class SensorTagBase : public QSensorBackend
-{
- Q_OBJECT
- Q_DECLARE_PRIVATE(SensorTagBase)
-public:
- SensorTagBase(QSensor *sensor);
- virtual ~SensorTagBase();
-
- quint64 produceTimestamp();
-signals:
- void accelDataAvailable(const QAccelerometerReading &);
- void luxDataAvailable(qreal);
- void tempDataAvailable(qreal);
- void humidityDataAvailable(qreal);
- void pressureDataAvailable(qreal);
- void gyroDataAvailable(const QGyroscopeReading &);
- void magDataAvailable(const QMagnetometerReading &);
-
-protected:
- void start() override;
- void stop() override;
- QLowEnergyService *leService;
- QBluetoothUuid *serviceId;
-
-private:
- SensorTagBasePrivate *d_ptr;
- friend class SensorTagTemperatureSensor;
- friend class SensorTagAls;
- friend class SensorTagHumiditySensor;
- friend class SensorTagLightSensor;
-
- friend class SensorTagPressureSensor;
- friend class SensorTagAccelerometer;
-
- friend class SensorTagGyroscope;
- friend class SensorTagMagnetometer;
-};
-
-#endif // SENSORTAGBASEPRIVATE_H
diff --git a/src/plugins/sensors/sensortag/sensortaggyroscope.cpp b/src/plugins/sensors/sensortag/sensortaggyroscope.cpp
deleted file mode 100644
index 136d1433..00000000
--- a/src/plugins/sensors/sensortag/sensortaggyroscope.cpp
+++ /dev/null
@@ -1,84 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortaggyroscope.h"
-
-char const * const SensorTagGyroscope::id("sensortag.gyroscope");
-const float SensorTagGyroscope::MILLI = 0.001;
-
-SensorTagGyroscope::SensorTagGyroscope(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- init();
- setDescription(QLatin1String("angular velocities around x, y, and z axis in degrees per second"));
- setReading<QGyroscopeReading>(&m_reading);
- sensor->setDataRate(50);//set a default rate
-}
-
-void SensorTagGyroscope::slotDataAvailable(const QGyroscopeReading& data)
-{
- m_reading.setX(data.x());
- m_reading.setY(data.y());
- m_reading.setZ(data.z());
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagGyroscope::init()
-{
- m_initDone = false;
-}
-
-void SensorTagGyroscope::start()
-{
- QObject::connect(this, &SensorTagBase::gyroDataAvailable,
- this, &SensorTagGyroscope::slotDataAvailable);
- d_ptr->enableService(TI_SENSORTAG_GYROSCOPE_SERVICE);
-}
-
-
-void SensorTagGyroscope::stop()
-{
- QObject::disconnect(this, &SensorTagBase::gyroDataAvailable,
- this, &SensorTagGyroscope::slotDataAvailable);
- d_ptr->disableService(TI_SENSORTAG_GYROSCOPE_SERVICE);
-}
-
diff --git a/src/plugins/sensors/sensortag/sensortaggyroscope.h b/src/plugins/sensors/sensortag/sensortaggyroscope.h
deleted file mode 100644
index af3cfe41..00000000
--- a/src/plugins/sensors/sensortag/sensortaggyroscope.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGGYROSCOPE_H
-#define SENSORTAGGYROSCOPE_H
-
-#include "sensortagbase.h"
-#include <QtSensors/qgyroscope.h>
-
-class SensorTagGyroscope : public SensorTagBase
-{
- Q_OBJECT
-
-public:
- static char const * const id;
- SensorTagGyroscope(QSensor *sensor);
-protected:
- void start() override;
- void stop() override;
- virtual void init();
-
-private:
- QGyroscopeReading m_reading;
- bool m_initDone = false;
- static const float MILLI;
-private slots:
- void slotDataAvailable(const QGyroscopeReading &data);
-};
-
-#endif // SENSORTAGGYROSCOPE_H
diff --git a/src/plugins/sensors/sensortag/sensortaghumiditysensor.cpp b/src/plugins/sensors/sensortag/sensortaghumiditysensor.cpp
deleted file mode 100644
index 77b4585c..00000000
--- a/src/plugins/sensors/sensortag/sensortaghumiditysensor.cpp
+++ /dev/null
@@ -1,74 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "sensortaghumiditysensor.h"
-#include "sensortagbase.h"
-
-char const * const SensorTagHumiditySensor::id("sensortag.humidity");
-
-SensorTagHumiditySensor::SensorTagHumiditySensor(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- setReading<QHumidityReading>(&m_reading);
-}
-
-
-void SensorTagHumiditySensor::humidityChanged(qreal value)
-{
- m_reading.setRelativeHumidity(value);
-
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagHumiditySensor::start()
-{
- QObject::connect(this, &SensorTagBase::humidityDataAvailable,
- this, &SensorTagHumiditySensor::humidityChanged);
- d_ptr->enableService(TI_SENSORTAG_HUMIDTIY_SERVICE);
-}
-
-void SensorTagHumiditySensor::stop()
-{
- QObject::disconnect(this, &SensorTagBase::humidityDataAvailable,
- this, &SensorTagHumiditySensor::humidityChanged);
- d_ptr->disableService(TI_SENSORTAG_HUMIDTIY_SERVICE);
-}
-
diff --git a/src/plugins/sensors/sensortag/sensortaghumiditysensor.h b/src/plugins/sensors/sensortag/sensortaghumiditysensor.h
deleted file mode 100644
index 5511bf05..00000000
--- a/src/plugins/sensors/sensortag/sensortaghumiditysensor.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGHUMIDITYSENSOR_H
-#define SENSORTAGHUMIDITYSENSOR_H
-
-#include "sensortagbase.h"
-#include <QHumidityReading>
-
-class SensorTagHumiditySensor : public SensorTagBase
-{
- Q_OBJECT
-public:
- SensorTagHumiditySensor(QSensor *sensor);
- static char const * const id;
-protected:
- void start() override;
- void stop() override;
-private slots:
- void humidityChanged(qreal value);
-private:
- QHumidityReading m_reading;
-};
-
-#endif // SENSORTAGHUMIDITYSENSOR_H
diff --git a/src/plugins/sensors/sensortag/sensortaglightsensor.cpp b/src/plugins/sensors/sensortag/sensortaglightsensor.cpp
deleted file mode 100644
index 9e4038b3..00000000
--- a/src/plugins/sensors/sensortag/sensortaglightsensor.cpp
+++ /dev/null
@@ -1,78 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortaglightsensor.h"
-
-char const * const SensorTagLightSensor::id("sensortag.lightsensor");
-
-SensorTagLightSensor::SensorTagLightSensor(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- init();
- setReading<QLightReading>(&m_reading);
- sensor->setDataRate(10);//set a default rate
-}
-
-void SensorTagLightSensor::slotDataAvailable(qreal data)
-{
- m_reading.setLux(data);
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagLightSensor::init()
-{
- m_initDone = false;
-}
-
-void SensorTagLightSensor::start()
-{
- QObject::connect(this, &SensorTagBase::luxDataAvailable,
- this, &SensorTagLightSensor::slotDataAvailable);
- d_ptr->enableService(TI_SENSORTAG_LIGHT_SERVICE);
-}
-
-void SensorTagLightSensor::stop()
-{
- QObject::disconnect(this, &SensorTagBase::luxDataAvailable,
- this, &SensorTagLightSensor::slotDataAvailable);
- d_ptr->disableService(TI_SENSORTAG_LIGHT_SERVICE);
-}
diff --git a/src/plugins/sensors/sensortag/sensortaglightsensor.h b/src/plugins/sensors/sensortag/sensortaglightsensor.h
deleted file mode 100644
index edff8263..00000000
--- a/src/plugins/sensors/sensortag/sensortaglightsensor.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGLIGHTSENSOR_H
-#define SENSORTAGLIGHTSENSOR_H
-
-#include "sensortagbase.h"
-#include <QtSensors/qlightsensor.h>
-
-class SensorTagLightSensor : public SensorTagBase
-{
- Q_OBJECT
-
-public:
- static char const * const id;
- SensorTagLightSensor(QSensor *sensor);
-protected:
- void start() override;
- void stop() override;
- virtual void init();
-private:
- QLightReading m_reading;
- bool m_initDone = false;
-private slots:
- void slotDataAvailable(qreal data);
-};
-
-#endif
-//SENSORTAGLIGHTSENSOR_H
diff --git a/src/plugins/sensors/sensortag/sensortagmagnetometer.cpp b/src/plugins/sensors/sensortag/sensortagmagnetometer.cpp
deleted file mode 100644
index d5d46221..00000000
--- a/src/plugins/sensors/sensortag/sensortagmagnetometer.cpp
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include "sensortagmagnetometer.h"
-
-char const * const SensorTagMagnetometer::id("sensortag.magnetometer");
-const float SensorTagMagnetometer::NANO = 0.000000001;
-
-SensorTagMagnetometer::SensorTagMagnetometer(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- init();
- setDescription(QLatin1String("magnetic flux density in teslas (T)"));
- setReading<QMagnetometerReading>(&m_reading);
-}
-
-void SensorTagMagnetometer::start()
-{
- QObject::connect(this, &SensorTagBase::magDataAvailable,
- this, &SensorTagMagnetometer::slotDataAvailable);
- d_ptr->enableService(TI_SENSORTAG_MAGNETOMETER_SERVICE);
-}
-
-void SensorTagMagnetometer::stop()
-{
- QObject::disconnect(this, &SensorTagBase::magDataAvailable,
- this, &SensorTagMagnetometer::slotDataAvailable);
- d_ptr->disableService(TI_SENSORTAG_MAGNETOMETER_SERVICE);
-}
-
-void SensorTagMagnetometer::slotDataAvailable(const QMagnetometerReading &data)
-{
- m_reading.setX(data.x());
- m_reading.setY(data.y());
- m_reading.setZ(data.z());
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagMagnetometer::init()
-{
- m_initDone = false;
-}
diff --git a/src/plugins/sensors/sensortag/sensortagmagnetometer.h b/src/plugins/sensors/sensortag/sensortagmagnetometer.h
deleted file mode 100644
index 424727a2..00000000
--- a/src/plugins/sensors/sensortag/sensortagmagnetometer.h
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGMAGNETOMETER_H
-#define SENSORTAGMAGNETOMETER_H
-
-#include "sensortagbase.h"
-#include <QtSensors/qmagnetometer.h>
-
-class SensorTagMagnetometer : public SensorTagBase
-{
- Q_OBJECT
-
-public:
- static char const * const id;
- SensorTagMagnetometer(QSensor *sensor);
-protected:
- void start() override;
- void stop() override;
- virtual void init();
-
-private:
- static const float NANO;
- QMagnetometerReading m_reading;
- bool m_initDone = false;
-
-private slots:
- void slotDataAvailable(const QMagnetometerReading &data);
-};
-
-#endif
-//SENSORTAGMAGNETOMETER_H
diff --git a/src/plugins/sensors/sensortag/sensortagpressuresensor.cpp b/src/plugins/sensors/sensortag/sensortagpressuresensor.cpp
deleted file mode 100644
index 7d2c8f93..00000000
--- a/src/plugins/sensors/sensortag/sensortagpressuresensor.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortagpressuresensor.h"
-#include "sensortagbase.h"
-
-char const * const SensorTagPressureSensor::id("sensortag.pressure");
-
-SensorTagPressureSensor::SensorTagPressureSensor(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- setReading<QPressureReading>(&m_reading);
-}
-
-void SensorTagPressureSensor::pressureChanged(qreal value)
-{
- m_reading.setPressure(value);
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagPressureSensor::start()
-{
- QObject::connect(this, &SensorTagBase::pressureDataAvailable,
- this, &SensorTagPressureSensor::pressureChanged);
- d_ptr->enableService(TI_SENSORTAG_BAROMETER_SERVICE);
-}
-
-void SensorTagPressureSensor::stop()
-{
- QObject::disconnect(this, &SensorTagBase::pressureDataAvailable,
- this, &SensorTagPressureSensor::pressureChanged);
- d_ptr->disableService(TI_SENSORTAG_BAROMETER_SERVICE);
-}
-
diff --git a/src/plugins/sensors/sensortag/sensortagpressuresensor.h b/src/plugins/sensors/sensortag/sensortagpressuresensor.h
deleted file mode 100644
index 5f8b0cfd..00000000
--- a/src/plugins/sensors/sensortag/sensortagpressuresensor.h
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGPRESSURESENSOR_H
-#define SENSORTAGPRESSURESENSOR_H
-
-#include "sensortagbase.h"
-#include <QObject>
-#include <QPressureReading>
-
-class SensorTagPressureSensor : public SensorTagBase
-{
- Q_OBJECT
-public:
- SensorTagPressureSensor(QSensor *sensor);
- static char const * const id;
-
-protected:
- void start() override;
- void stop() override;
-
-private slots:
- void pressureChanged(qreal value);
-private:
- QPressureReading m_reading;
-};
-
-#endif // SENSORTAGPRESSURESENSOR_H
diff --git a/src/plugins/sensors/sensortag/sensortagtemperaturesensor.cpp b/src/plugins/sensors/sensortag/sensortagtemperaturesensor.cpp
deleted file mode 100644
index ab8c4a2f..00000000
--- a/src/plugins/sensors/sensortag/sensortagtemperaturesensor.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Copyright (C) 2016 Canonical, Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "sensortagtemperaturesensor.h"
-#include "sensortagbase.h"
-
-char const * const SensorTagTemperatureSensor::id("sensortag.temperature");
-
-SensorTagTemperatureSensor::SensorTagTemperatureSensor(QSensor *sensor)
- : SensorTagBase(sensor)
-{
- setReading<QAmbientTemperatureReading>(&m_reading);
-}
-
-void SensorTagTemperatureSensor::temperatureChanged(qreal value)
-{
- m_reading.setTemperature(value);
- m_reading.setTimestamp(produceTimestamp());
- newReadingAvailable();
-}
-
-void SensorTagTemperatureSensor::start()
-{
- QObject::connect(this, &SensorTagBase::tempDataAvailable,
- this, &SensorTagTemperatureSensor::temperatureChanged);
- d_ptr->enableService(TI_SENSORTAG_TEMPERATURE_SERVICE);
-}
-
-void SensorTagTemperatureSensor::stop()
-{
- QObject::disconnect(this, &SensorTagBase::tempDataAvailable,
- this, &SensorTagTemperatureSensor::temperatureChanged);
- d_ptr->disableService(TI_SENSORTAG_TEMPERATURE_SERVICE);
-}
-
diff --git a/src/plugins/sensors/sensortag/sensortagtemperaturesensor.h b/src/plugins/sensors/sensortag/sensortagtemperaturesensor.h
deleted file mode 100644
index c4c45d58..00000000
--- a/src/plugins/sensors/sensortag/sensortagtemperaturesensor.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SENSORTAGTEMPERATURESENSOR_H
-#define SENSORTAGTEMPERATURESENSOR_H
-
-#include "sensortagbase.h"
-#include <QAmbientTemperatureReading>
-
-class SensorTagTemperatureSensor : public SensorTagBase
-{
- Q_OBJECT
-public:
- SensorTagTemperatureSensor(QSensor *sensor);
- static char const * const id;
-protected:
- void start() override;
- void stop() override;
-private slots:
- void temperatureChanged(qreal value);
-private:
- QAmbientTemperatureReading m_reading;
-};
-
-#endif // SENSORTAGTEMPERATURESENSOR_H
diff --git a/src/plugins/sensors/simulator/main.cpp b/src/plugins/sensors/simulator/main.cpp
deleted file mode 100644
index 167711a9..00000000
--- a/src/plugins/sensors/simulator/main.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatoraccelerometer.h"
-#include "simulatorambientlightsensor.h"
-#include "simulatorlightsensor.h"
-#include "simulatorcompass.h"
-#include "simulatorproximitysensor.h"
-#include "simulatorirproximitysensor.h"
-#include "simulatormagnetometer.h"
-#include <QSensorPluginInterface>
-#include <QSensorBackend>
-#include <QSensorManager>
-
-class SimulatorSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
- Q_INTERFACES(QSensorPluginInterface)
-public:
- SimulatorSensorPlugin()
- {
- SensorsConnection *connection = SensorsConnection::instance();
- if (!connection) return; // hardly likely but just in case...
- connect(connection, SIGNAL(setAvailableFeatures(quint32)), this, SLOT(setAvailableFeatures(quint32)));
- }
-
- void registerSensors() override
- {
- QSensorManager::registerBackend(QAccelerometer::type, SimulatorAccelerometer::id, this);
- QSensorManager::registerBackend(QAmbientLightSensor::type, SimulatorAmbientLightSensor::id, this);
- QSensorManager::registerBackend(QLightSensor::type, SimulatorLightSensor::id, this);
- QSensorManager::registerBackend(QCompass::type, SimulatorCompass::id, this);
- QSensorManager::registerBackend(QProximitySensor::type, SimulatorProximitySensor::id, this);
- QSensorManager::registerBackend(QIRProximitySensor::type, SimulatorIRProximitySensor::id, this);
- QSensorManager::registerBackend(QMagnetometer::type, SimulatorMagnetometer::id, this);
- }
-
- QSensorBackend *createBackend(QSensor *sensor) override
- {
- if (sensor->identifier() == SimulatorAccelerometer::id) {
- return new SimulatorAccelerometer(sensor);
- }
-
- if (sensor->identifier() == SimulatorAmbientLightSensor::id) {
- return new SimulatorAmbientLightSensor(sensor);
- }
-
- if (sensor->identifier() == SimulatorLightSensor::id) {
- return new SimulatorLightSensor(sensor);
- }
-
- if (sensor->identifier() == SimulatorProximitySensor::id) {
- return new SimulatorProximitySensor(sensor);
- }
-
- if (sensor->identifier() == SimulatorIRProximitySensor::id) {
- return new SimulatorIRProximitySensor(sensor);
- }
-
- if (sensor->identifier() == SimulatorCompass::id) {
- return new SimulatorCompass(sensor);
- }
-
- if (sensor->identifier() == SimulatorMagnetometer::id) {
- return new SimulatorMagnetometer(sensor);
- }
-
- return 0;
- }
-
- // Copied from the emulator codebase
- enum Features {
- Accelerometer = 0x01,
- Magnetometer = 0x02,
- Compass = 0x04,
- Infraredsensor = 0x08,
- Lightsensor = 0x10
- };
-
-public slots:
- void setAvailableFeatures(quint32 features)
- {
- check(features&Accelerometer, QAccelerometer::type, SimulatorAccelerometer::id);
- check(features&Lightsensor, QLightSensor::type, SimulatorLightSensor::id);
- check(features&Lightsensor, QAmbientLightSensor::type, SimulatorAmbientLightSensor::id);
- check(features&Magnetometer, QMagnetometer::type, SimulatorMagnetometer::id);
- check(features&Compass, QCompass::type, SimulatorCompass::id);
- check(features&Infraredsensor, QIRProximitySensor::type, SimulatorIRProximitySensor::id);
- check(features&Infraredsensor, QProximitySensor::type, SimulatorProximitySensor::id);
- }
-
-private:
- void check(bool test, const QByteArray &type, const QByteArray &id)
- {
- if (test) {
- if (!QSensorManager::isBackendRegistered(type, id))
- QSensorManager::registerBackend(type, id, this);
- } else {
- if (QSensorManager::isBackendRegistered(type, id))
- QSensorManager::unregisterBackend(type, id);
- }
- }
-};
-
-#include "main.moc"
-
diff --git a/src/plugins/sensors/simulator/plugin.json b/src/plugins/sensors/simulator/plugin.json
deleted file mode 100644
index 77f47afe..00000000
--- a/src/plugins/sensors/simulator/plugin.json
+++ /dev/null
@@ -1 +0,0 @@
-{ "Keys": [ "simulator" ] }
diff --git a/src/plugins/sensors/simulator/qsensordata_simulator.cpp b/src/plugins/sensors/simulator/qsensordata_simulator.cpp
deleted file mode 100644
index 3e590d66..00000000
--- a/src/plugins/sensors/simulator/qsensordata_simulator.cpp
+++ /dev/null
@@ -1,143 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qsensordata_simulator_p.h"
-
-#include <QtCore/QDataStream>
-
-namespace QtMobility {
-
-void qt_registerSensorTypes()
-{
- qRegisterMetaTypeStreamOperators<QAmbientLightReadingData>("QtMobility::QAmbientLightReadingData");
- qRegisterMetaTypeStreamOperators<QLightReadingData>("QtMobility::QLightReadingData");
- qRegisterMetaTypeStreamOperators<QAccelerometerReadingData>("QtMobility::QAccelerometerReadingData");
- qRegisterMetaTypeStreamOperators<QCompassReadingData>("QtMobility::QCompassReadingData");
- qRegisterMetaTypeStreamOperators<QProximityReadingData>("QtMobility::QProximityReadingData");
- qRegisterMetaTypeStreamOperators<QIRProximityReadingData>("QtMobility::QIRProximityReadingData");
- qRegisterMetaTypeStreamOperators<QMagnetometerReadingData>("QtMobility::QMagnetometerReadingData");
-}
-
-QDataStream &operator<<(QDataStream &out, const QAmbientLightReadingData &s)
-{
- out << static_cast<qint32>(s.lightLevel) << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QAmbientLightReadingData &s)
-{
- qint32 lightLevel;
- in >> lightLevel >> s.timestamp;
- s.lightLevel = static_cast<SimulatorLightLevel>(lightLevel);
- return in;
-}
-
-QDataStream &operator<<(QDataStream &out, const QLightReadingData &s)
-{
- out << s.lux << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QLightReadingData &s)
-{
- in >> s.lux >> s.timestamp;
- return in;
-}
-
-QDataStream &operator<<(QDataStream &out, const QAccelerometerReadingData &s)
-{
- out << s.x << s.y << s.z << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QAccelerometerReadingData &s)
-{
- in >> s.x >> s.y >> s.z >> s.timestamp;
- return in;
-}
-
-QDataStream &operator<<(QDataStream &out, const QCompassReadingData &s)
-{
- out << s.azimuth << s.calibrationLevel << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QCompassReadingData &s)
-{
- in >> s.azimuth >> s.calibrationLevel >> s.timestamp;
- return in;
-}
-
-QDataStream &operator<<(QDataStream &out, const QProximityReadingData &s)
-{
- out << s.close << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QProximityReadingData &s)
-{
- in >> s.close >> s.timestamp;
- return in;
-}
-
-QDataStream &operator<<(QDataStream &out, const QIRProximityReadingData &s)
-{
- out << s.irProximity << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QIRProximityReadingData &s)
-{
- in >> s.irProximity >> s.timestamp;
- return in;
-}
-
-QDataStream &operator<<(QDataStream &out, const QMagnetometerReadingData &s)
-{
- out << s.x << s.y << s.z << s.calibrationLevel << s.timestamp;
- return out;
-}
-
-QDataStream &operator>>(QDataStream &in, QMagnetometerReadingData &s)
-{
- in >> s.x >> s.y >> s.z >> s.calibrationLevel >> s.timestamp;
- return in;
-}
-
-} // namespace
diff --git a/src/plugins/sensors/simulator/qsensordata_simulator_p.h b/src/plugins/sensors/simulator/qsensordata_simulator_p.h
deleted file mode 100644
index 410078d8..00000000
--- a/src/plugins/sensors/simulator/qsensordata_simulator_p.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORDATA_SIMULATOR_P_H
-#define QSENSORDATA_SIMULATOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtCore/QMetaType>
-#include <QtCore/QDateTime>
-
-namespace QtMobility {
-
-enum SimulatorLightLevel {
- Undefined = 0,
- Dark,
- Twilight,
- Light,
- Bright,
- Sunny
-};
-
-struct QAmbientLightReadingData
-{
- SimulatorLightLevel lightLevel;
- QDateTime timestamp;
-};
-
-struct QLightReadingData
-{
- double lux;
- QDateTime timestamp;
-};
-
-struct QAccelerometerReadingData
-{
- double x;
- double y;
- double z;
- QDateTime timestamp;
-};
-
-struct QMagnetometerReadingData
-{
- double x;
- double y;
- double z;
- double calibrationLevel;
- QDateTime timestamp;
-};
-
-struct QCompassReadingData
-{
- double azimuth;
- double calibrationLevel;
- QDateTime timestamp;
-};
-
-struct QProximityReadingData
-{
- bool close;
- QDateTime timestamp;
-};
-
-struct QIRProximityReadingData
-{
- double irProximity;
- QDateTime timestamp;
-};
-
-void qt_registerSensorTypes();
-
-}
-
-Q_DECLARE_METATYPE(QtMobility::QAmbientLightReadingData)
-Q_DECLARE_METATYPE(QtMobility::QLightReadingData)
-Q_DECLARE_METATYPE(QtMobility::QAccelerometerReadingData)
-Q_DECLARE_METATYPE(QtMobility::QMagnetometerReadingData)
-Q_DECLARE_METATYPE(QtMobility::QCompassReadingData)
-Q_DECLARE_METATYPE(QtMobility::QProximityReadingData)
-Q_DECLARE_METATYPE(QtMobility::QIRProximityReadingData)
-
-#endif // QSENSORDATA_SIMULATOR_P_H
diff --git a/src/plugins/sensors/simulator/simulator.pro b/src/plugins/sensors/simulator/simulator.pro
deleted file mode 100644
index ac8ea506..00000000
--- a/src/plugins/sensors/simulator/simulator.pro
+++ /dev/null
@@ -1,32 +0,0 @@
-TARGET = qtsensors_simulator
-
-QT=core gui network sensors simulator
-
-HEADERS += \
- simulatorcommon.h\
- simulatoraccelerometer.h\
- simulatorambientlightsensor.h\
- simulatorlightsensor.h\
- simulatorcompass.h\
- simulatorproximitysensor.h\
- simulatorirproximitysensor.h\
- simulatormagnetometer.h\
- qsensordata_simulator_p.h
-
-SOURCES += \
- simulatorcommon.cpp\
- simulatoraccelerometer.cpp\
- simulatorambientlightsensor.cpp\
- simulatorlightsensor.cpp\
- simulatorcompass.cpp\
- simulatorproximitysensor.cpp\
- simulatorirproximitysensor.cpp\
- simulatormagnetometer.cpp\
- qsensordata_simulator.cpp\
- main.cpp
-
-OTHER_FILES = plugin.json
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = SimulatorSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/simulator/simulatoraccelerometer.cpp b/src/plugins/sensors/simulator/simulatoraccelerometer.cpp
deleted file mode 100644
index 481128f4..00000000
--- a/src/plugins/sensors/simulator/simulatoraccelerometer.cpp
+++ /dev/null
@@ -1,71 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatoraccelerometer.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorAccelerometer::id("Simulator.Accelerometer");
-
-SimulatorAccelerometer::SimulatorAccelerometer(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QAccelerometerReading>(&m_reading);
-}
-
-void SimulatorAccelerometer::poll()
-{
- QtMobility::QAccelerometerReadingData data = SensorsConnection::instance()->qtAccelerometerData;
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.x() != data.x
- || m_reading.y() != data.y
- || m_reading.z() != data.z) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setX(data.x);
- m_reading.setY(data.y);
- m_reading.setZ(data.z);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatoraccelerometer.h b/src/plugins/sensors/simulator/simulatoraccelerometer.h
deleted file mode 100644
index a4205867..00000000
--- a/src/plugins/sensors/simulator/simulatoraccelerometer.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORACCELEROMETER_H
-#define SIMULATORACCELEROMETER_H
-
-#include "simulatorcommon.h"
-#include <qaccelerometer.h>
-
-class SimulatorAccelerometer : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorAccelerometer(QSensor *sensor);
-
- void poll() override;
-private:
- QAccelerometerReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatorambientlightsensor.cpp b/src/plugins/sensors/simulator/simulatorambientlightsensor.cpp
deleted file mode 100644
index 177684fe..00000000
--- a/src/plugins/sensors/simulator/simulatorambientlightsensor.cpp
+++ /dev/null
@@ -1,89 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorambientlightsensor.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorAmbientLightSensor::id("Simulator.AmbientLightSensor");
-
-SimulatorAmbientLightSensor::SimulatorAmbientLightSensor(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QAmbientLightReading>(&m_reading);
-}
-
-void SimulatorAmbientLightSensor::poll()
-{
- QtMobility::QAmbientLightReadingData data = SensorsConnection::instance()->qtAmbientLightData;
- QAmbientLightReading::LightLevel convertedLightLevel;
- switch (data.lightLevel) {
- case QtMobility::Dark:
- convertedLightLevel = QAmbientLightReading::Dark;
- break;
- case QtMobility::Twilight:
- convertedLightLevel = QAmbientLightReading::Twilight;
- break;
- case QtMobility::Light:
- convertedLightLevel = QAmbientLightReading::Light;
- break;
- case QtMobility::Bright:
- convertedLightLevel = QAmbientLightReading::Bright;
- break;
- case QtMobility::Sunny:
- convertedLightLevel = QAmbientLightReading::Sunny;
- break;
- default:
- convertedLightLevel = QAmbientLightReading::Undefined;
- break;
- }
-
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.lightLevel() != convertedLightLevel) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setLightLevel(convertedLightLevel);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatorambientlightsensor.h b/src/plugins/sensors/simulator/simulatorambientlightsensor.h
deleted file mode 100644
index 0aadffe6..00000000
--- a/src/plugins/sensors/simulator/simulatorambientlightsensor.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORAMBIENTLIGHTSENSOR_H
-#define SIMULATORAMBIENTLIGHTSENSOR_H
-
-#include "simulatorcommon.h"
-#include <qambientlightsensor.h>
-
-class SimulatorAmbientLightSensor : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorAmbientLightSensor(QSensor *sensor);
-
- void poll() override;
-private:
- QAmbientLightReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatorcommon.cpp b/src/plugins/sensors/simulator/simulatorcommon.cpp
deleted file mode 100644
index a1693364..00000000
--- a/src/plugins/sensors/simulator/simulatorcommon.cpp
+++ /dev/null
@@ -1,252 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorcommon.h"
-#include "qsensordata_simulator_p.h"
-#include <QtSimulator/QtSimulator>
-#include <QDebug>
-#include <QThread>
-
-using namespace Simulator;
-
-Q_GLOBAL_STATIC(SensorsConnection, sensorsConnection)
-
-class SimulatorAsyncConnection: public QThread
-{
- Q_OBJECT
-public:
- SimulatorAsyncConnection()
- : QThread()
- {
- QtMobility::qt_registerSensorTypes();
-
- moveToThread(this);
- connect(this, SIGNAL(queueConnectToServer()),
- this, SLOT(doConnectToServer()),
- Qt::QueuedConnection);
-
- start();
- }
-
- ~SimulatorAsyncConnection()
- {
- quit();
- wait();
- }
-
- void connectToServer()
- {
- emit queueConnectToServer();
- }
-
-signals:
- void queueConnectToServer();
-
- void initialSensorsDataSent();
- void connectionFailed();
- void setAvailableFeatures(quint32 features);
- void setAmbientLightData(const QtMobility::QAmbientLightReadingData &);
- void setLightData(const QtMobility::QLightReadingData &);
- void setAccelerometerData(const QtMobility::QAccelerometerReadingData &);
- void setMagnetometerData(const QtMobility::QMagnetometerReadingData &);
- void setCompassData(const QtMobility::QCompassReadingData &);
- void setProximityData(const QtMobility::QProximityReadingData &);
- void setIRProximityData(const QtMobility::QIRProximityReadingData &);
-
-private slots:
- void doConnectToServer()
- {
- mConnection.reset(new Connection(Connection::Client, "QtSimulator_Mobility_ServerName1.3.0.0",
- 0xbeef+1, Version(1,0,0,0), this));
- mWorker.reset(mConnection->connectToServer(Connection::simulatorHostName(true), 0xbeef+1));
- if (!mWorker) {
- qWarning("QtSensors simulator backend could not connect to the simulator!");
- emit connectionFailed();
- return;
- }
- mWorker->addReceiver(this);
- mWorker->call("setRequestsSensors");
- }
-
-private:
- QScopedPointer<Simulator::Connection> mConnection;
- QScopedPointer<Simulator::ConnectionWorker> mWorker;
-};
-
-SensorsConnection::SensorsConnection(QObject *parent)
- : QObject(parent)
- , mInitialDataSent(false)
- , mConnectionFailed(false)
-{
- mConnection = new SimulatorAsyncConnection();
-
- connect(mConnection, SIGNAL(initialSensorsDataSent()),
- this, SLOT(initialSensorsDataSent()));
- connect(mConnection, SIGNAL(connectionFailed()),
- this, SLOT(slotConnectionFailed()));
- connect(mConnection, SIGNAL(setAvailableFeatures(quint32)),
- this, SIGNAL(setAvailableFeatures(quint32)));
- connect(mConnection, SIGNAL(setAmbientLightData(QtMobility::QAmbientLightReadingData)),
- this, SLOT(setAmbientLightData(QtMobility::QAmbientLightReadingData)));
- connect(mConnection, SIGNAL(setLightData(QtMobility::QLightReadingData)),
- this, SLOT(setLightData(QtMobility::QLightReadingData)));
- connect(mConnection, SIGNAL(setAccelerometerData(QtMobility::QAccelerometerReadingData)),
- this, SLOT(setAccelerometerData(QtMobility::QAccelerometerReadingData)));
- connect(mConnection, SIGNAL(setMagnetometerData(QtMobility::QMagnetometerReadingData)),
- this, SLOT(setMagnetometerData(QtMobility::QMagnetometerReadingData)));
- connect(mConnection, SIGNAL(setCompassData(QtMobility::QCompassReadingData)),
- this, SLOT(setCompassData(QtMobility::QCompassReadingData)));
- connect(mConnection, SIGNAL(setProximityData(QtMobility::QProximityReadingData)),
- this, SLOT(setProximityData(QtMobility::QProximityReadingData)));
- connect(mConnection, SIGNAL(setIRProximityData(QtMobility::QIRProximityReadingData)),
- this, SLOT(setIRProximityData(QtMobility::QIRProximityReadingData)));
-
- mConnection->connectToServer();
-}
-
-SensorsConnection::~SensorsConnection()
-{
- delete mConnection;
-}
-
-SensorsConnection *SensorsConnection::instance()
-{
- SensorsConnection *connection = sensorsConnection();
- // It's safe to return 0 because this is checked when used
- //if (!connection) qFatal("Cannot return from SensorsConnection::instance because sensorsConnection() returned 0");
- return connection;
-}
-
-void SensorsConnection::setAmbientLightData(const QtMobility::QAmbientLightReadingData &data)
-{
- qtAmbientLightData = data;
-}
-
-void SensorsConnection::setLightData(const QtMobility::QLightReadingData &data)
-{
- qtLightData = data;
-}
-
-void SensorsConnection::setAccelerometerData(const QtMobility::QAccelerometerReadingData &data)
-{
- qtAccelerometerData = data;
-}
-
-void SensorsConnection::setMagnetometerData(const QtMobility::QMagnetometerReadingData &data)
-{
- qtMagnetometerData = data;
-}
-
-void SensorsConnection::setCompassData(const QtMobility::QCompassReadingData &data)
-{
- qtCompassData = data;
-}
-
-void SensorsConnection::setProximityData(const QtMobility::QProximityReadingData &data)
-{
- qtProximityData = data;
-}
-
-void SensorsConnection::setIRProximityData(const QtMobility::QIRProximityReadingData &data)
-{
- qtIRProximityData = data;
-}
-
-void SensorsConnection::initialSensorsDataSent()
-{
- mInitialDataSent = true;
-}
-
-void SensorsConnection::slotConnectionFailed()
-{
- mInitialDataSent = false;
- mConnectionFailed = true;
-}
-
-SimulatorCommon::SimulatorCommon(QSensor *sensor)
- : QSensorBackend(sensor)
- , m_timerid(0)
-{
- addDataRate(1, 100);
- sensor->setDataRate(20);
- (void)SensorsConnection::instance(); // Ensure this exists
-}
-
-void SimulatorCommon::start()
-{
- SensorsConnection *connection = SensorsConnection::instance();
- if (!connection) {
- sensorStopped();
- return;
- }
-
- if (m_timerid)
- return;
-
- int rate = sensor()->dataRate();
- if (rate == 0)
- rate = 20;
- int interval = 1000 / rate;
- if (interval < 0)
- interval = 1000;
-
- if (interval)
- m_timerid = startTimer(interval);
-}
-
-void SimulatorCommon::stop()
-{
- if (m_timerid) {
- killTimer(m_timerid);
- m_timerid = 0;
- }
-}
-
-void SimulatorCommon::timerEvent(QTimerEvent * /*event*/)
-{
- SensorsConnection *connection = SensorsConnection::instance();
- if (!connection || connection->connectionFailed()) {
- stop();
- sensorStopped();
- }
- if (!connection->safe()) return; // wait until it's safe to read the data
- poll();
-}
-
-#include "simulatorcommon.moc"
diff --git a/src/plugins/sensors/simulator/simulatorcommon.h b/src/plugins/sensors/simulator/simulatorcommon.h
deleted file mode 100644
index e47f24d0..00000000
--- a/src/plugins/sensors/simulator/simulatorcommon.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORCOMMON_H
-#define SIMULATORCOMMON_H
-
-#include <qsensorbackend.h>
-#include "qsensordata_simulator_p.h"
-
-class QTimer;
-
-class SimulatorAsyncConnection;
-
-class SensorsConnection : public QObject
-{
- Q_OBJECT
-public:
- explicit SensorsConnection(QObject *parent = 0);
- virtual ~SensorsConnection();
-
- static SensorsConnection *instance();
- bool safe() const { return mInitialDataSent; }
- bool connectionFailed() const { return mConnectionFailed; }
-
-signals:
- void setAvailableFeatures(quint32 features);
-
-public slots:
- void setAmbientLightData(const QtMobility::QAmbientLightReadingData &);
- void setLightData(const QtMobility::QLightReadingData &);
- void setAccelerometerData(const QtMobility::QAccelerometerReadingData &);
- void setMagnetometerData(const QtMobility::QMagnetometerReadingData &);
- void setCompassData(const QtMobility::QCompassReadingData &);
- void setProximityData(const QtMobility::QProximityReadingData &);
- void setIRProximityData(const QtMobility::QIRProximityReadingData &);
- void initialSensorsDataSent();
- void slotConnectionFailed();
-
-private:
- SimulatorAsyncConnection *mConnection;
- bool mInitialDataSent;
- bool mConnectionFailed;
-
-public:
- QtMobility::QAmbientLightReadingData qtAmbientLightData;
- QtMobility::QLightReadingData qtLightData;
- QtMobility::QAccelerometerReadingData qtAccelerometerData;
- QtMobility::QMagnetometerReadingData qtMagnetometerData;
- QtMobility::QCompassReadingData qtCompassData;
- QtMobility::QProximityReadingData qtProximityData;
- QtMobility::QIRProximityReadingData qtIRProximityData;
-};
-
-class SimulatorCommon : public QSensorBackend
-{
-public:
- SimulatorCommon(QSensor *sensor);
-
- void start() override;
- void stop() override;
- virtual void poll() = 0;
- void timerEvent(QTimerEvent * /*event*/) override;
-
-private:
- int m_timerid;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatorcompass.cpp b/src/plugins/sensors/simulator/simulatorcompass.cpp
deleted file mode 100644
index fc68c513..00000000
--- a/src/plugins/sensors/simulator/simulatorcompass.cpp
+++ /dev/null
@@ -1,69 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorcompass.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorCompass::id("Simulator.Compass");
-
-SimulatorCompass::SimulatorCompass(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QCompassReading>(&m_reading);
-}
-
-void SimulatorCompass::poll()
-{
- QtMobility::QCompassReadingData data = SensorsConnection::instance()->qtCompassData;
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.azimuth() != data.azimuth
- || m_reading.calibrationLevel() != data.calibrationLevel) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setAzimuth(data.azimuth);
- m_reading.setCalibrationLevel(data.calibrationLevel);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatorcompass.h b/src/plugins/sensors/simulator/simulatorcompass.h
deleted file mode 100644
index 69162c69..00000000
--- a/src/plugins/sensors/simulator/simulatorcompass.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORCOMPASS_H
-#define SIMULATORCOMPASS_H
-
-#include "simulatorcommon.h"
-#include <qcompass.h>
-
-class SimulatorCompass : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorCompass(QSensor *sensor);
-
- void poll() override;
-private:
- QCompassReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatorirproximitysensor.cpp b/src/plugins/sensors/simulator/simulatorirproximitysensor.cpp
deleted file mode 100644
index 4499128f..00000000
--- a/src/plugins/sensors/simulator/simulatorirproximitysensor.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorirproximitysensor.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorIRProximitySensor::id("Simulator.IRProximitySensor");
-
-SimulatorIRProximitySensor::SimulatorIRProximitySensor(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QIRProximityReading>(&m_reading);
-}
-
-void SimulatorIRProximitySensor::poll()
-{
- QtMobility::QIRProximityReadingData data = SensorsConnection::instance()->qtIRProximityData;
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.reflectance() != data.irProximity) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setReflectance(data.irProximity);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatorirproximitysensor.h b/src/plugins/sensors/simulator/simulatorirproximitysensor.h
deleted file mode 100644
index db20968b..00000000
--- a/src/plugins/sensors/simulator/simulatorirproximitysensor.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORIRPROXIMITYSENSOR_H
-#define SIMULATORIRPROXIMITYSENSOR_H
-
-#include "simulatorcommon.h"
-#include <qirproximitysensor.h>
-
-class SimulatorIRProximitySensor : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorIRProximitySensor(QSensor *sensor);
-
- void poll() override;
-private:
- QIRProximityReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatorlightsensor.cpp b/src/plugins/sensors/simulator/simulatorlightsensor.cpp
deleted file mode 100644
index 40d9edbd..00000000
--- a/src/plugins/sensors/simulator/simulatorlightsensor.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorlightsensor.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorLightSensor::id("Simulator.LightSensor");
-
-SimulatorLightSensor::SimulatorLightSensor(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QLightReading>(&m_reading);
-}
-
-void SimulatorLightSensor::poll()
-{
- QtMobility::QLightReadingData data = SensorsConnection::instance()->qtLightData;
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.lux() != data.lux) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setLux(data.lux);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatorlightsensor.h b/src/plugins/sensors/simulator/simulatorlightsensor.h
deleted file mode 100644
index 3af3a526..00000000
--- a/src/plugins/sensors/simulator/simulatorlightsensor.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORLIGHTSENSOR_H
-#define SIMULATORLIGHTSENSOR_H
-
-#include "simulatorcommon.h"
-#include <qlightsensor.h>
-
-class SimulatorLightSensor : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorLightSensor(QSensor *sensor);
-
- void poll() override;
-private:
- QLightReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatormagnetometer.cpp b/src/plugins/sensors/simulator/simulatormagnetometer.cpp
deleted file mode 100644
index 64a31776..00000000
--- a/src/plugins/sensors/simulator/simulatormagnetometer.cpp
+++ /dev/null
@@ -1,73 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatormagnetometer.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorMagnetometer::id("Simulator.Magnetometer");
-
-SimulatorMagnetometer::SimulatorMagnetometer(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QMagnetometerReading>(&m_reading);
-}
-
-void SimulatorMagnetometer::poll()
-{
- QtMobility::QMagnetometerReadingData data = SensorsConnection::instance()->qtMagnetometerData;
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.x() != data.x
- || m_reading.y() != data.y
- || m_reading.z() != data.z
- || m_reading.calibrationLevel() != data.calibrationLevel) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setX(data.x);
- m_reading.setY(data.y);
- m_reading.setZ(data.z);
- m_reading.setCalibrationLevel(data.calibrationLevel);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatormagnetometer.h b/src/plugins/sensors/simulator/simulatormagnetometer.h
deleted file mode 100644
index facbad41..00000000
--- a/src/plugins/sensors/simulator/simulatormagnetometer.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORMAGNETOMETER_H
-#define SIMULATORMAGNETOMETER_H
-
-#include "simulatorcommon.h"
-#include <qmagnetometer.h>
-
-class SimulatorMagnetometer : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorMagnetometer(QSensor *sensor);
-
- void poll() override;
-private:
- QMagnetometerReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/simulator/simulatorproximitysensor.cpp b/src/plugins/sensors/simulator/simulatorproximitysensor.cpp
deleted file mode 100644
index b4430959..00000000
--- a/src/plugins/sensors/simulator/simulatorproximitysensor.cpp
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorproximitysensor.h"
-#include <QDebug>
-#include <QtGlobal>
-
-const char *SimulatorProximitySensor::id("Simulator.ProximitySensor");
-
-SimulatorProximitySensor::SimulatorProximitySensor(QSensor *sensor)
- : SimulatorCommon(sensor)
-{
- setReading<QProximityReading>(&m_reading);
-}
-
-void SimulatorProximitySensor::poll()
-{
- QtMobility::QProximityReadingData data = SensorsConnection::instance()->qtProximityData;
- quint64 newTimestamp;
- if (!data.timestamp.isValid())
- newTimestamp = QDateTime::currentMSecsSinceEpoch() / 1000;
- else
- newTimestamp = data.timestamp.toTime_t();
- if (m_reading.close() != data.close) {
- m_reading.setTimestamp(newTimestamp);
- m_reading.setClose(data.close);
-
- newReadingAvailable();
- }
-}
-
diff --git a/src/plugins/sensors/simulator/simulatorproximitysensor.h b/src/plugins/sensors/simulator/simulatorproximitysensor.h
deleted file mode 100644
index 16e6f6bb..00000000
--- a/src/plugins/sensors/simulator/simulatorproximitysensor.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORPROXIMITYSENSOR_H
-#define SIMULATORPROXIMITYSENSOR_H
-
-#include "simulatorcommon.h"
-#include <qproximitysensor.h>
-
-class SimulatorProximitySensor : public SimulatorCommon
-{
-public:
- static const char *id;
-
- SimulatorProximitySensor(QSensor *sensor);
-
- void poll() override;
-private:
- QProximityReading m_reading;
-};
-
-#endif
-
diff --git a/src/plugins/sensors/winrt/CMakeLists.txt b/src/plugins/sensors/winrt/CMakeLists.txt
new file mode 100644
index 00000000..78baef86
--- /dev/null
+++ b/src/plugins/sensors/winrt/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## WinRtSensorPlugin Plugin:
+#####################################################################
+
+qt_internal_add_plugin(WinRtSensorPlugin
+ OUTPUT_NAME qtsensors_winrt
+ PLUGIN_TYPE sensors
+ SOURCES
+ main.cpp
+ winrtaccelerometer.cpp winrtaccelerometer.h
+ winrtambientlightsensor.cpp winrtambientlightsensor.h
+ winrtcommon.cpp winrtcommon.h
+ winrtcompass.cpp winrtcompass.h
+ winrtgyroscope.cpp winrtgyroscope.h
+ winrtorientationsensor.cpp winrtorientationsensor.h
+ winrtrotationsensor.cpp winrtrotationsensor.h
+ LIBRARIES
+ Qt::Core
+ Qt::CorePrivate
+ Qt::Sensors
+)
+
+qt_internal_extend_target(WinRtSensorPlugin CONDITION MSVC
+ LIBRARIES
+ runtimeobject
+)
+
+#### Keys ignored in scope 1:.:.:winrt.pro:<TRUE>:
+# OTHER_FILES = "plugin.json"
diff --git a/src/plugins/sensors/winrt/main.cpp b/src/plugins/sensors/winrt/main.cpp
index ecf2a41b..04869082 100644
--- a/src/plugins/sensors/winrt/main.cpp
+++ b/src/plugins/sensors/winrt/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtaccelerometer.h"
#include "winrtcompass.h"
@@ -52,6 +16,7 @@
#include <QtSensors/QSensorBackendFactory>
#include <QtSensors/QSensorManager>
#include <QtSensors/QSensorPluginInterface>
+#include <wrl.h>
class WinRtSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory
{
@@ -59,14 +24,24 @@ class WinRtSensorPlugin : public QObject, public QSensorPluginInterface, public
Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
Q_INTERFACES(QSensorPluginInterface)
public:
+
+ ~WinRtSensorPlugin()
+ {
+ CoUninitialize();
+ }
+
void registerSensors() override
{
- QSensorManager::registerBackend(QAccelerometer::type, QByteArrayLiteral("WinRtAccelerometer"), this);
- QSensorManager::registerBackend(QCompass::type, QByteArrayLiteral("WinRtCompass"), this);
- QSensorManager::registerBackend(QGyroscope::type, QByteArrayLiteral("WinRtGyroscope"), this);
- QSensorManager::registerBackend(QRotationSensor::type, QByteArrayLiteral("WinRtRotationSensor"), this);
- QSensorManager::registerBackend(QAmbientLightSensor::type, QByteArrayLiteral("WinRtAmbientLightSensor"), this);
- QSensorManager::registerBackend(QOrientationSensor::type, QByteArrayLiteral("WinRtOrientationSensor"), this);
+ if (FAILED(CoInitializeEx(nullptr, COINIT_APARTMENTTHREADED))) {
+ qErrnoWarning("CoInitializeEx() failed.");
+ return;
+ }
+ QSensorManager::registerBackend(QAccelerometer::sensorType, QByteArrayLiteral("WinRtAccelerometer"), this);
+ QSensorManager::registerBackend(QCompass::sensorType, QByteArrayLiteral("WinRtCompass"), this);
+ QSensorManager::registerBackend(QGyroscope::sensorType, QByteArrayLiteral("WinRtGyroscope"), this);
+ QSensorManager::registerBackend(QRotationSensor::sensorType, QByteArrayLiteral("WinRtRotationSensor"), this);
+ QSensorManager::registerBackend(QAmbientLightSensor::sensorType, QByteArrayLiteral("WinRtAmbientLightSensor"), this);
+ QSensorManager::registerBackend(QOrientationSensor::sensorType, QByteArrayLiteral("WinRtOrientationSensor"), this);
}
QSensorBackend *createBackend(QSensor *sensor) override
diff --git a/src/plugins/sensors/winrt/winrt.pro b/src/plugins/sensors/winrt/winrt.pro
deleted file mode 100644
index 21996fdd..00000000
--- a/src/plugins/sensors/winrt/winrt.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-TARGET = qtsensors_winrt
-QT = sensors core core_private
-
-HEADERS += \
- winrtaccelerometer.h \
- winrtambientlightsensor.h \
- winrtcommon.h \
- winrtcompass.h \
- winrtorientationsensor.h \
- winrtrotationsensor.h \
- winrtgyroscope.h
-
-SOURCES += \
- main.cpp \
- winrtaccelerometer.cpp \
- winrtambientlightsensor.cpp \
- winrtcommon.cpp \
- winrtcompass.cpp \
- winrtorientationsensor.cpp \
- winrtrotationsensor.cpp \
- winrtgyroscope.cpp
-
-OTHER_FILES = plugin.json
-
-PLUGIN_TYPE = sensors
-PLUGIN_CLASS_NAME = WinRtSensorPlugin
-load(qt_plugin)
diff --git a/src/plugins/sensors/winrt/winrtaccelerometer.cpp b/src/plugins/sensors/winrt/winrtaccelerometer.cpp
index 3570a47d..43a364c9 100644
--- a/src/plugins/sensors/winrt/winrtaccelerometer.cpp
+++ b/src/plugins/sensors/winrt/winrtaccelerometer.cpp
@@ -1,51 +1,15 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtaccelerometer.h"
#include "winrtcommon.h"
#include <QtSensors/QAccelerometerReading>
-#include <private/qeventdispatcher_winrt_p.h>
#include <functional>
#include <wrl.h>
#include <windows.devices.sensors.h>
+
using namespace Microsoft::WRL;
using namespace Microsoft::WRL::Wrappers;
using namespace ABI::Windows::Foundation;
@@ -119,28 +83,30 @@ WinRtAccelerometer::WinRtAccelerometer(QSensor *sensor)
: QSensorBackend(sensor), d_ptr(new WinRtAccelerometerPrivate(this))
{
Q_D(WinRtAccelerometer);
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Accelerometer);
- ComPtr<IAccelerometerStatics> factory;
- HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to initialize accelerometer factory."
+
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Accelerometer);
+ ComPtr<IAccelerometerStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to initialize accelerometer factory."
<< qt_error_string(hr);
- return hr;
- }
+ sensorError(hr);
+ return;
+ }
+ hr = factory->GetDefault(&d->sensor);
- hr = factory->GetDefault(&d->sensor);
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to get default accelerometer."
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to get default accelerometer."
<< qt_error_string(hr);
- }
- return hr;
- });
- if (FAILED(hr) || !d->sensor) {
sensorError(hr);
return;
}
+ if (!d->sensor) {
+ qCWarning(lcWinRtSensors) << "Default accelerometer was not found on the system.";
+ return;
+ }
+
hr = d->sensor->get_MinimumReportInterval(&d->minimumReportInterval);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to get the minimum report interval."
@@ -167,11 +133,10 @@ void WinRtAccelerometer::start()
if (d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- ComPtr<AccelerometerReadingHandler> callback =
- Callback<AccelerometerReadingHandler>(d, &WinRtAccelerometerPrivate::readingChanged);
- return d->sensor->add_ReadingChanged(callback.Get(), &d->token);
- });
+ ComPtr<AccelerometerReadingHandler> callback =
+ Callback<AccelerometerReadingHandler>(d, &WinRtAccelerometerPrivate::readingChanged);
+ HRESULT hr = d->sensor->add_ReadingChanged(callback.Get(), &d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to reading changed event."
<< qt_error_string(hr);
@@ -200,9 +165,7 @@ void WinRtAccelerometer::stop()
if (!d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- return d->sensor->remove_ReadingChanged(d->token);
- });
+ HRESULT hr = d->sensor->remove_ReadingChanged(d->token);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to detach from reading changed event."
<< qt_error_string(hr);
diff --git a/src/plugins/sensors/winrt/winrtaccelerometer.h b/src/plugins/sensors/winrt/winrtaccelerometer.h
index dcb52ee5..96b0f093 100644
--- a/src/plugins/sensors/winrt/winrtaccelerometer.h
+++ b/src/plugins/sensors/winrt/winrtaccelerometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTACCELEROMETER_H
#define WINRTACCELEROMETER_H
diff --git a/src/plugins/sensors/winrt/winrtambientlightsensor.cpp b/src/plugins/sensors/winrt/winrtambientlightsensor.cpp
index 426d61bf..17785256 100644
--- a/src/plugins/sensors/winrt/winrtambientlightsensor.cpp
+++ b/src/plugins/sensors/winrt/winrtambientlightsensor.cpp
@@ -1,47 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtambientlightsensor.h"
#include "winrtcommon.h"
#include <QtSensors/QAmbientLightSensor>
-#include <private/qeventdispatcher_winrt_p.h>
#include <functional>
#include <wrl.h>
@@ -118,27 +81,27 @@ WinRtAmbientLightSensor::WinRtAmbientLightSensor(QSensor *sensor)
: QSensorBackend(sensor), d_ptr(new WinRtAmbientLightSensorPrivate(this))
{
Q_D(WinRtAmbientLightSensor);
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- HStringReference classId(RuntimeClass_Windows_Devices_Sensors_LightSensor);
- ComPtr<ILightSensorStatics> factory;
- HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to initialize light sensor factory."
- << qt_error_string(hr);
- return hr;
- }
- hr = factory->GetDefault(&d->sensor);
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to get default light sensor."
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_LightSensor);
+ ComPtr<ILightSensorStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to initialize light sensor factory."
<< qt_error_string(hr);
- }
- return hr;
- });
- if (FAILED(hr) || !d->sensor) {
sensorError(hr);
return;
}
+ hr = factory->GetDefault(&d->sensor);
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to get default light sensor."
+ << qt_error_string(hr);
+ sensorError(hr);
+ return;
+ }
+ if (!d->sensor) {
+ qCWarning(lcWinRtSensors) << "Default lightsensor was not found on the system.";
+ return;
+ }
hr = d->sensor->get_MinimumReportInterval(&d->minimumReportInterval);
if (FAILED(hr)) {
@@ -166,11 +129,10 @@ void WinRtAmbientLightSensor::start()
if (d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- ComPtr<LightSensorReadingHandler> callback =
+ ComPtr<LightSensorReadingHandler> callback =
Callback<LightSensorReadingHandler>(d, &WinRtAmbientLightSensorPrivate::readingChanged);
- return d->sensor->add_ReadingChanged(callback.Get(), &d->token);
- });
+ HRESULT hr = d->sensor->add_ReadingChanged(callback.Get(), &d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to reading changed event."
<< qt_error_string(hr);
@@ -199,9 +161,7 @@ void WinRtAmbientLightSensor::stop()
if (!d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- return d->sensor->remove_ReadingChanged(d->token);
- });
+ HRESULT hr = d->sensor->remove_ReadingChanged(d->token);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to detach from reading changed event."
<< qt_error_string(hr);
diff --git a/src/plugins/sensors/winrt/winrtambientlightsensor.h b/src/plugins/sensors/winrt/winrtambientlightsensor.h
index e32db890..160d7474 100644
--- a/src/plugins/sensors/winrt/winrtambientlightsensor.h
+++ b/src/plugins/sensors/winrt/winrtambientlightsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTAMBIENTLIGHTSENSOR_H
#define WINRTAMBIENTLIGHTSENSOR_H
diff --git a/src/plugins/sensors/winrt/winrtcommon.cpp b/src/plugins/sensors/winrt/winrtcommon.cpp
index 3e5d1525..e655a672 100644
--- a/src/plugins/sensors/winrt/winrtcommon.cpp
+++ b/src/plugins/sensors/winrt/winrtcommon.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtcommon.h"
diff --git a/src/plugins/sensors/winrt/winrtcommon.h b/src/plugins/sensors/winrt/winrtcommon.h
index db3c8197..6f4c868c 100644
--- a/src/plugins/sensors/winrt/winrtcommon.h
+++ b/src/plugins/sensors/winrt/winrtcommon.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTCOMMON_H
#define WINRTCOMMON_H
diff --git a/src/plugins/sensors/winrt/winrtcompass.cpp b/src/plugins/sensors/winrt/winrtcompass.cpp
index 5ef730d0..a12f1dcd 100644
--- a/src/plugins/sensors/winrt/winrtcompass.cpp
+++ b/src/plugins/sensors/winrt/winrtcompass.cpp
@@ -1,47 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtcompass.h"
#include "winrtcommon.h"
#include <QtSensors/QCompass>
-#include <private/qeventdispatcher_winrt_p.h>
#include <functional>
#include <wrl.h>
@@ -136,28 +99,30 @@ WinRtCompass::WinRtCompass(QSensor *sensor)
: QSensorBackend(sensor), d_ptr(new WinRtCompassPrivate(this))
{
Q_D(WinRtCompass);
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Compass);
- ComPtr<ICompassStatics> factory;
- HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to initialize light sensor factory."
+
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Compass);
+ ComPtr<ICompassStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to initialize light sensor factory."
<< qt_error_string(hr);
- return hr;
- }
+ sensorError(hr);
+ return;
+ }
- hr = factory->GetDefault(&d->sensor);
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to get default compass."
+ hr = factory->GetDefault(&d->sensor);
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to get default compass."
<< qt_error_string(hr);
- }
- return hr;
- });
- if (FAILED(hr) || !d->sensor) {
sensorError(hr);
return;
}
+ if (!d->sensor) {
+ qCWarning(lcWinRtSensors) << "Default compass was not found on the system.";
+ return;
+ }
+
hr = d->sensor->get_MinimumReportInterval(&d->minimumReportInterval);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to get the minimum report interval."
@@ -183,12 +148,10 @@ void WinRtCompass::start()
return;
if (d->token.value)
return;
-
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- ComPtr<CompassReadingHandler> callback =
+ ComPtr<CompassReadingHandler> callback =
Callback<CompassReadingHandler>(d, &WinRtCompassPrivate::readingChanged);
- return d->sensor->add_ReadingChanged(callback.Get(), &d->token);
- });
+ HRESULT hr = d->sensor->add_ReadingChanged(callback.Get(), &d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to reading changed event."
<< qt_error_string(hr);
@@ -216,9 +179,8 @@ void WinRtCompass::stop()
return;
if (!d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- return d->sensor->remove_ReadingChanged(d->token);
- });
+ HRESULT hr = d->sensor->remove_ReadingChanged(d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to detach from reading changed event."
<< qt_error_string(hr);
diff --git a/src/plugins/sensors/winrt/winrtcompass.h b/src/plugins/sensors/winrt/winrtcompass.h
index 5bb8faf1..f4297c36 100644
--- a/src/plugins/sensors/winrt/winrtcompass.h
+++ b/src/plugins/sensors/winrt/winrtcompass.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTCOMPASS_H
#define WINRTCOMPASS_H
diff --git a/src/plugins/sensors/winrt/winrtgyroscope.cpp b/src/plugins/sensors/winrt/winrtgyroscope.cpp
index 45b544c7..c5fff500 100644
--- a/src/plugins/sensors/winrt/winrtgyroscope.cpp
+++ b/src/plugins/sensors/winrt/winrtgyroscope.cpp
@@ -1,47 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtgyroscope.h"
#include "winrtcommon.h"
#include <QtSensors/QGyroscope>
-#include <private/qeventdispatcher_winrt_p.h>
#include <functional>
#include <wrl.h>
@@ -51,7 +14,7 @@ using namespace Microsoft::WRL::Wrappers;
using namespace ABI::Windows::Foundation;
using namespace ABI::Windows::Devices::Sensors;
-typedef ITypedEventHandler<Gyrometer *, GyrometerReadingChangedEventArgs *> InclinometerReadingHandler;
+typedef ITypedEventHandler<Gyrometer *, GyrometerReadingChangedEventArgs *> GyrometerReadingHandler;
QT_USE_NAMESPACE
@@ -116,28 +79,30 @@ WinRtGyroscope::WinRtGyroscope(QSensor *sensor)
: QSensorBackend(sensor), d_ptr(new WinRtGyroscopePrivate(this))
{
Q_D(WinRtGyroscope);
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Gyrometer);
- ComPtr<IGyrometerStatics> factory;
- HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to initialize gyroscope sensor factory."
+
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Gyrometer);
+ ComPtr<IGyrometerStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to initialize gyroscope sensor factory."
<< qt_error_string(hr);
- return hr;
- }
+ sensorError(hr);
+ return;
+ }
- hr = factory->GetDefault(&d->sensor);
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to get default gyroscope sensor."
+ hr = factory->GetDefault(&d->sensor);
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to get default gyroscope sensor."
<< qt_error_string(hr);
- }
- return hr;
- });
- if (FAILED(hr) || !d->sensor) {
sensorError(hr);
return;
}
+ if (!d->sensor) {
+ qCWarning(lcWinRtSensors) << "Default gyroscope was not found on the system.";
+ return;
+ }
+
hr = d->sensor->get_MinimumReportInterval(&d->minimumReportInterval);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to get the minimum report interval."
@@ -164,11 +129,10 @@ void WinRtGyroscope::start()
if (d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- ComPtr<InclinometerReadingHandler> callback =
- Callback<InclinometerReadingHandler>(d, &WinRtGyroscopePrivate::readingChanged);
- return d->sensor->add_ReadingChanged(callback.Get(), &d->token);
- });
+ ComPtr<GyrometerReadingHandler> callback =
+ Callback<GyrometerReadingHandler>(d, &WinRtGyroscopePrivate::readingChanged);
+ HRESULT hr = d->sensor->add_ReadingChanged(callback.Get(), &d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to reading changed event."
<< qt_error_string(hr);
@@ -197,9 +161,7 @@ void WinRtGyroscope::stop()
if (!d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- return d->sensor->remove_ReadingChanged(d->token);
- });
+ HRESULT hr = d->sensor->remove_ReadingChanged(d->token);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to detach from reading changed event."
<< qt_error_string(hr);
diff --git a/src/plugins/sensors/winrt/winrtgyroscope.h b/src/plugins/sensors/winrt/winrtgyroscope.h
index 7bd85332..9d2fad4b 100644
--- a/src/plugins/sensors/winrt/winrtgyroscope.h
+++ b/src/plugins/sensors/winrt/winrtgyroscope.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTGYROSCOPE_H
#define WINRTGYROSCOPE_H
@@ -55,7 +19,7 @@ public:
bool isFeatureSupported(QSensor::Feature feature) const override
{
- if (feature == QSensor::AxesOrientation || feature == QSensor::AccelerationMode)
+ if (feature == QSensor::Feature::AxesOrientation || feature == QSensor::Feature::AccelerationMode)
return true;
return false;
}
diff --git a/src/plugins/sensors/winrt/winrtorientationsensor.cpp b/src/plugins/sensors/winrt/winrtorientationsensor.cpp
index e24ff954..330ccae7 100644
--- a/src/plugins/sensors/winrt/winrtorientationsensor.cpp
+++ b/src/plugins/sensors/winrt/winrtorientationsensor.cpp
@@ -1,47 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtorientationsensor.h"
#include "winrtcommon.h"
#include <QtSensors/QOrientationSensor>
-#include <private/qeventdispatcher_winrt_p.h>
#include <functional>
#include <wrl.h>
@@ -122,27 +85,26 @@ WinRtOrientationSensor::WinRtOrientationSensor(QSensor *sensor)
: QSensorBackend(sensor), d_ptr(new WinRtOrientationSensorPrivate(this))
{
Q_D(WinRtOrientationSensor);
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- HStringReference classId(RuntimeClass_Windows_Devices_Sensors_SimpleOrientationSensor);
- ComPtr<ISimpleOrientationSensorStatics> factory;
- HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to initialize orientation sensor factory."
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_SimpleOrientationSensor);
+ ComPtr<ISimpleOrientationSensorStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to initialize orientation sensor factory."
<< qt_error_string(hr);
- return hr;
- }
-
- hr = factory->GetDefault(&d->sensor);
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to get default orientation sensor."
+ sensorError(hr);
+ return;
+ }
+ hr = factory->GetDefault(&d->sensor);
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to get default orientation sensor."
<< qt_error_string(hr);
- }
- return hr;
- });
- if (FAILED(hr) || !d->sensor) {
sensorError(hr);
return;
}
+ if (!d->sensor) {
+ qCWarning(lcWinRtSensors) << "Default orientationsensor was not found on the system.";
+ return;
+ }
setReading<QOrientationReading>(&d->reading);
}
@@ -159,11 +121,10 @@ void WinRtOrientationSensor::start()
if (d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- ComPtr<SimpleOrientationReadingHandler> callback =
+ ComPtr<SimpleOrientationReadingHandler> callback =
Callback<SimpleOrientationReadingHandler>(d, &WinRtOrientationSensorPrivate::readingChanged);
- return d->sensor->add_OrientationChanged(callback.Get(), &d->token);
- });
+ HRESULT hr = d->sensor->add_OrientationChanged(callback.Get(), &d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to reading changed event."
<< qt_error_string(hr);
@@ -180,9 +141,7 @@ void WinRtOrientationSensor::stop()
if (!d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- return d->sensor->remove_OrientationChanged(d->token);
- });
+ HRESULT hr = d->sensor->remove_OrientationChanged(d->token);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to detach from reading changed event."
<< qt_error_string(hr);
diff --git a/src/plugins/sensors/winrt/winrtorientationsensor.h b/src/plugins/sensors/winrt/winrtorientationsensor.h
index 8e40a3e9..e7aaf4d8 100644
--- a/src/plugins/sensors/winrt/winrtorientationsensor.h
+++ b/src/plugins/sensors/winrt/winrtorientationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTORIENTATIONSENSOR_H
#define WINRTORIENTATIONSENSOR_H
diff --git a/src/plugins/sensors/winrt/winrtrotationsensor.cpp b/src/plugins/sensors/winrt/winrtrotationsensor.cpp
index 5dd4eae5..c29395fa 100644
--- a/src/plugins/sensors/winrt/winrtrotationsensor.cpp
+++ b/src/plugins/sensors/winrt/winrtrotationsensor.cpp
@@ -1,47 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "winrtrotationsensor.h"
#include "winrtcommon.h"
#include <QtSensors/QRotationSensor>
-#include <private/qeventdispatcher_winrt_p.h>
#include <functional>
#include <wrl.h>
@@ -114,28 +77,29 @@ WinRtRotationSensor::WinRtRotationSensor(QSensor *sensor)
: QSensorBackend(sensor), d_ptr(new WinRtRotationSensorPrivate(this))
{
Q_D(WinRtRotationSensor);
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Inclinometer);
- ComPtr<IInclinometerStatics> factory;
- HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to initialize rotation sensor factory."
- << qt_error_string(hr);
- return hr;
- }
- hr = factory->GetDefault(&d->sensor);
- if (FAILED(hr)) {
- qCWarning(lcWinRtSensors) << "Unable to get default rotation sensor."
+ HStringReference classId(RuntimeClass_Windows_Devices_Sensors_Inclinometer);
+ ComPtr<IInclinometerStatics> factory;
+ HRESULT hr = RoGetActivationFactory(classId.Get(), IID_PPV_ARGS(&factory));
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to initialize rotation sensor factory."
+ << qt_error_string(hr);
+ sensorError(hr);
+ return;
+ }
+ hr = factory->GetDefault(&d->sensor);
+ if (FAILED(hr)) {
+ qCWarning(lcWinRtSensors) << "Unable to get default rotation sensor."
<< qt_error_string(hr);
- }
- return hr;
- });
- if (FAILED(hr) || !d->sensor) {
sensorError(hr);
return;
}
+ if (!d->sensor) {
+ qCWarning(lcWinRtSensors) << "Default rotationsensor was not found on the system.";
+ return;
+ }
+
hr = d->sensor->get_MinimumReportInterval(&d->minimumReportInterval);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to get the minimum report interval."
@@ -162,11 +126,10 @@ void WinRtRotationSensor::start()
if (d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- ComPtr<InclinometerReadingHandler> callback =
+ ComPtr<InclinometerReadingHandler> callback =
Callback<InclinometerReadingHandler>(d, &WinRtRotationSensorPrivate::readingChanged);
- return d->sensor->add_ReadingChanged(callback.Get(), &d->token);
- });
+ HRESULT hr = d->sensor->add_ReadingChanged(callback.Get(), &d->token);
+
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to attach to reading changed event."
<< qt_error_string(hr);
@@ -195,9 +158,7 @@ void WinRtRotationSensor::stop()
if (!d->token.value)
return;
- HRESULT hr = QEventDispatcherWinRT::runOnXamlThread([d]() {
- return d->sensor->remove_ReadingChanged(d->token);
- });
+ HRESULT hr = d->sensor->remove_ReadingChanged(d->token);
if (FAILED(hr)) {
qCWarning(lcWinRtSensors) << "Unable to detach from reading changed event."
<< qt_error_string(hr);
diff --git a/src/plugins/sensors/winrt/winrtrotationsensor.h b/src/plugins/sensors/winrt/winrtrotationsensor.h
index 4b3e6faf..add2d027 100644
--- a/src/plugins/sensors/winrt/winrtrotationsensor.h
+++ b/src/plugins/sensors/winrt/winrtrotationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef WINRTROTATIONSENSOR_H
#define WINRTROTATIONSENSOR_H
@@ -55,7 +19,7 @@ public:
bool isFeatureSupported(QSensor::Feature feature) const override
{
- if (feature == QSensor::AxesOrientation || feature == QSensor::AccelerationMode)
+ if (feature == QSensor::Feature::AxesOrientation || feature == QSensor::Feature::AccelerationMode)
return true;
return false;
}
diff --git a/src/sensors/CMakeLists.txt b/src/sensors/CMakeLists.txt
new file mode 100644
index 00000000..6d883696
--- /dev/null
+++ b/src/sensors/CMakeLists.txt
@@ -0,0 +1,95 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## Sensors Module:
+#####################################################################
+
+qt_internal_add_module(Sensors
+ PLUGIN_TYPES sensors
+ SOURCES
+ qsensorbackend.cpp qsensorbackend.h
+ qsensormanager.cpp qsensormanager.h
+ qsensorplugin.cpp qsensorplugin.h
+ qsensorsglobal.h
+ sensorlog_p.h
+ qsensor.h
+ qaccelerometer.h
+ qambientlightsensor.h
+ qambienttemperaturesensor.h
+ qcompass.h
+ qlightsensor.h
+ qmagnetometer.h
+ qorientationsensor.h
+ qproximitysensor.h
+ qirproximitysensor.h
+ qrotationsensor.h
+ qtapsensor.h
+ qtiltsensor.h
+ qgyroscope.h
+ qpressuresensor.h
+ qhumiditysensor.h
+ qlidsensor.h
+ qsensor_p.h
+ qaccelerometer_p.h
+ qambientlightsensor_p.h
+ qambienttemperaturesensor_p.h
+ qcompass_p.h
+ qlightsensor_p.h
+ qmagnetometer_p.h
+ qorientationsensor_p.h
+ qproximitysensor_p.h
+ qirproximitysensor_p.h
+ qrotationsensor_p.h
+ qtapsensor_p.h
+ qtiltsensor_p.h
+ qgyroscope_p.h
+ qpressuresensor_p.h
+ qhumiditysensor_p.h
+ qlidsensor_p.h
+ qsensor.cpp
+ qaccelerometer.cpp
+ qambientlightsensor.cpp
+ qambienttemperaturesensor.cpp
+ qcompass.cpp
+ qlightsensor.cpp
+ qmagnetometer.cpp
+ qorientationsensor.cpp
+ qproximitysensor.cpp
+ qirproximitysensor.cpp
+ qrotationsensor.cpp
+ qtapsensor.cpp
+ qtiltsensor.cpp
+ qgyroscope.cpp
+ qpressuresensor.cpp
+ qhumiditysensor.cpp
+ qlidsensor.cpp
+ DEFINES
+ $<$<CONFIG:Debug>:ENABLE_RUNTIME_SENSORLOG>
+ LIBRARIES
+ Qt::CorePrivate
+ PUBLIC_LIBRARIES
+ Qt::Core
+ PRIVATE_MODULE_INTERFACE
+ Qt::CorePrivate
+ GENERATE_CPP_EXPORTS
+)
+
+if(ANDROID)
+ set_property(TARGET Sensors APPEND PROPERTY QT_ANDROID_LIB_DEPENDENCIES
+ ${INSTALL_PLUGINSDIR}/sensors/libplugins_sensors_qtsensors_android.so
+ )
+endif()
+
+## Scopes:
+#####################################################################
+
+qt_internal_extend_target(Sensors CONDITION SENSORS_CONFIG_PATH
+ DEFINES
+ QTSENSORS_CONFIG_PATH="${SENSORS_CONFIG_PATH}"
+)
+
+qt_internal_add_docs(Sensors
+ doc/qtsensors.qdocconf
+)
+
diff --git a/src/sensors/configure.cmake b/src/sensors/configure.cmake
new file mode 100644
index 00000000..04eb0e30
--- /dev/null
+++ b/src/sensors/configure.cmake
@@ -0,0 +1,58 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+
+
+#### Inputs
+
+
+
+#### Libraries
+# special case begin
+if (LINUX)
+ qt_find_package(Sensorfw PROVIDED_TARGETS Sensorfw::Sensorfw MODULE_NAME sensors QMAKE_LIB sensorfw)
+endif()
+# special case end
+
+#### Tests
+
+if (WIN32 AND EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../config.tests/winrt/CMakeLists.txt")
+ qt_config_compile_test("winrt_sensors"
+ LABEL "WinRT sensors"
+ PROJECT_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../config.tests/winrt")
+endif()
+
+#### Features
+
+# special case begin
+qt_feature("sensorfw" PRIVATE
+ LABEL "sensorfw"
+ CONDITION Sensorfw_FOUND
+)
+# special case end
+
+qt_feature("winrt_sensors" PRIVATE
+ LABEL "WinRT sensors backend"
+ CONDITION WIN32 AND TEST_winrt_sensors
+)
+
+qt_configure_add_summary_section(NAME "Qt Sensors")
+if (LINUX)
+ # At the moment there is no Qt6 version of sensorfw, and while the
+ # FindSensorfw.cmake in this repo would find the package using pkg-config,
+ # it would not work. Once the Qt6 version exists, remove the
+ # "sensorfw_enabled_with_cmake" entry, enable build in
+ # src/plugins/sensors/CMakeLists.txt and fix any potential errors.
+ qt_configure_add_summary_entry(ARGS "sensorfw")
+ qt_configure_add_summary_entry(ARGS "sensorfw_enabled_with_cmake")
+ qt_configure_add_report_entry(
+ TYPE WARNING
+ MESSAGE "SensorFW support currently not enabled with cmake"
+ )
+endif()
+
+if (WIN32)
+ qt_configure_add_summary_entry(ARGS "winrt_sensors")
+endif()
+
+qt_configure_end_summary_section() # end of "Qt Sensors" section
diff --git a/src/sensors/doc/images/sensorgesture-cover.png b/src/sensors/doc/images/sensorgesture-cover.png
deleted file mode 100644
index 7b4fbc5f..00000000
--- a/src/sensors/doc/images/sensorgesture-cover.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-doubletap.png b/src/sensors/doc/images/sensorgesture-doubletap.png
deleted file mode 100644
index 6253d0f8..00000000
--- a/src/sensors/doc/images/sensorgesture-doubletap.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-facedown.png b/src/sensors/doc/images/sensorgesture-facedown.png
deleted file mode 100644
index a85664f1..00000000
--- a/src/sensors/doc/images/sensorgesture-facedown.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-faceup.png b/src/sensors/doc/images/sensorgesture-faceup.png
deleted file mode 100644
index c20ef089..00000000
--- a/src/sensors/doc/images/sensorgesture-faceup.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-flat.png b/src/sensors/doc/images/sensorgesture-flat.png
deleted file mode 100644
index e8eafafb..00000000
--- a/src/sensors/doc/images/sensorgesture-flat.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-hover.png b/src/sensors/doc/images/sensorgesture-hover.png
deleted file mode 100644
index fecf6b3a..00000000
--- a/src/sensors/doc/images/sensorgesture-hover.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-shake.png b/src/sensors/doc/images/sensorgesture-shake.png
deleted file mode 100644
index 06f9eeaf..00000000
--- a/src/sensors/doc/images/sensorgesture-shake.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-slam_1.png b/src/sensors/doc/images/sensorgesture-slam_1.png
deleted file mode 100644
index d56f8892..00000000
--- a/src/sensors/doc/images/sensorgesture-slam_1.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-slam_2.png b/src/sensors/doc/images/sensorgesture-slam_2.png
deleted file mode 100644
index 5fe8ecba..00000000
--- a/src/sensors/doc/images/sensorgesture-slam_2.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-twist.png b/src/sensors/doc/images/sensorgesture-twist.png
deleted file mode 100644
index bec15854..00000000
--- a/src/sensors/doc/images/sensorgesture-twist.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/images/sensorgesture-whip.png b/src/sensors/doc/images/sensorgesture-whip.png
deleted file mode 100644
index aa998bb7..00000000
--- a/src/sensors/doc/images/sensorgesture-whip.png
+++ /dev/null
Binary files differ
diff --git a/src/sensors/doc/qtsensors-module-use.qdocinc b/src/sensors/doc/qtsensors-module-use.qdocinc
new file mode 100644
index 00000000..761b6bbd
--- /dev/null
+++ b/src/sensors/doc/qtsensors-module-use.qdocinc
@@ -0,0 +1,15 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+//! [cmakebuild]
+ \code
+ find_package(Qt6 REQUIRED COMPONENTS Sensors)
+ target_link_libraries(mytarget PRIVATE Qt6::Sensors)
+ \endcode
+//! [cmakebuild]
+
+//! [qmakebuild]
+ \code
+ QT += sensors
+ \endcode
+//! [qmakebuild]
diff --git a/src/sensors/doc/qtsensors.qdocconf b/src/sensors/doc/qtsensors.qdocconf
index 8b9b95d0..b7569927 100644
--- a/src/sensors/doc/qtsensors.qdocconf
+++ b/src/sensors/doc/qtsensors.qdocconf
@@ -1,5 +1,5 @@
-include($QT_INSTALL_DOCS/global/qt-html-templates-offline.qdocconf)
include($QT_INSTALL_DOCS/global/qt-module-defaults.qdocconf)
+include($QT_INSTALL_DOCS/config/exampleurl-qtsensors.qdocconf)
project = QtSensors
description = Qt Sensors Reference Documentation
@@ -13,33 +13,26 @@ qhp.QtSensors.virtualFolder = qtsensors
qhp.QtSensors.indexTitle = Qt Sensors
qhp.QtSensors.indexRoot =
-qhp.QtSensors.filterAttributes = qtsensors $QT_VERSION qtrefdoc
-qhp.QtSensors.customFilters.Qt.name = QtSensors $QT_VERSION
-qhp.QtSensors.customFilters.Qt.filterAttributes = qtsensors $QT_VERSION
qhp.QtSensors.subprojects = overviews classes qmltypes examples
qhp.QtSensors.subprojects.overviews.title = Overview
qhp.QtSensors.subprojects.overviews.indexTitle = Qt Sensors
-qhp.QtSensors.subprojects.overviews.selectors = fake:page,group,module
+qhp.QtSensors.subprojects.overviews.selectors = doc:page,group,module
qhp.QtSensors.subprojects.classes.title = C++ Classes
qhp.QtSensors.subprojects.classes.indexTitle = Qt Sensors C++ Classes
-qhp.QtSensors.subprojects.classes.selectors = class fake:headerfile
+qhp.QtSensors.subprojects.classes.selectors = class headerfile
qhp.QtSensors.subprojects.classes.sortPages = true
qhp.QtSensors.subprojects.qmltypes.title = QML Types
qhp.QtSensors.subprojects.qmltypes.indexTitle = Qt Sensors QML Types
-qhp.QtSensors.subprojects.qmltypes.selectors = qmlclass
+qhp.QtSensors.subprojects.qmltypes.selectors = qmltype
qhp.QtSensors.subprojects.qmltypes.sortPages = true
qhp.QtSensors.subprojects.examples.title = Examples
qhp.QtSensors.subprojects.examples.indexTitle = Qt Sensors Examples
-qhp.QtSensors.subprojects.examples.selectors = fake:example
+qhp.QtSensors.subprojects.examples.selectors = doc:example
tagfile = ../../../doc/qtsensors/qtsensors.tags
-headerdirs += .. \
- ../../imports/sensors \
- ../../plugins/sensors
-
-sourcedirs += .. \
- ../../imports/sensors \
+{headerdirs,sourcedirs} += .. \
+ ../../sensorsquick \
../../plugins/sensors
exampledirs += ../../../examples/sensors \
@@ -50,7 +43,10 @@ examplesinstallpath = sensors
imagedirs += images
-depends += qtcore qtdoc qtgui
+depends += qtcore qtdoc qtgui qtquick qtcmake
+
+# Highlighted examples
+manifestmeta.highlighted.names = "QtSensors/Sensors Showcase"
navigation.landingpage = "Qt Sensors"
navigation.cppclassespage = "Qt Sensors C++ Classes"
diff --git a/src/sensors/doc/snippets/sensorgestures/creating.cpp b/src/sensors/doc/snippets/sensorgestures/creating.cpp
deleted file mode 100644
index 78f7a737..00000000
--- a/src/sensors/doc/snippets/sensorgestures/creating.cpp
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QObject>
-#include <QString>
-#include <QSensorGestureManager>
-
-class MyObject : public QObject
-{
- void create();
-public slots:
- void gestureDetected(const QString &);
-};
-
-void MyObject::create()
-{
-//! [Receiving sensor gesture signals]
-
-// Create a QSensorGestureManager
- QSensorGestureManager gestureManager;
-
-// Get a list of known recognizers
- QStringList recognizersList = gestureManager.gestureIds();
-
-// Create a QSensorGeture object for each of those gesture recognizers
- QSensorGesture *gesture = new QSensorGesture( gestureManager.gestureIds(), this);
-// Connect the known signals up.
- connect(gesture, SIGNAL(detected(QString)), this, SLOT(gestureDetected(QString)));
-//! [Receiving sensor gesture signals]
-}
-
-void MyObject::gestureDetected(const QString &gesture)
-{
- Q_UNUSED(gesture);
-}
-
diff --git a/src/sensors/doc/snippets/sensorgestures/main.cpp b/src/sensors/doc/snippets/sensorgestures/main.cpp
deleted file mode 100644
index dee1ecb6..00000000
--- a/src/sensors/doc/snippets/sensorgestures/main.cpp
+++ /dev/null
@@ -1,44 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-int main(int /*argc*/, char ** /*argv*/)
-{
- return 0;
-}
-
diff --git a/src/sensors/doc/snippets/sensorgestures/myplugin.h b/src/sensors/doc/snippets/sensorgestures/myplugin.h
deleted file mode 100644
index 0cf1a92b..00000000
--- a/src/sensors/doc/snippets/sensorgestures/myplugin.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MYPLUGIN_H
-#define MYPLUGIN_H
-
-#include <QObject>
-#include <qsensorgestureplugininterface.h>
-#include <qsensorgesturerecognizer.h>
-
-class MySensorGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
- public:
-
- MySensorGestureRecognizer(QObject *parent = 0);
- ~MySensorGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-Q_SIGNALS:
-// all signals will get exported to QSensorGesture
- void mySignal();
-};
-
-class MySensorGesturePlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- //Q_PLUGIN_METADATA(IID "com.Nokia.QSensorGesturePluginInterface" FILE "plugin.json")
- Q_INTERFACES(QSensorGesturePluginInterface)
-public:
-
- explicit MySensorGesturePlugin();
- ~MySensorGesturePlugin();
-
- QList<QSensorGestureRecognizer *> createRecognizers() override;
- QStringList supportedIds() const override;
- QString name() const override { return "MyGestures"; }
-};
-
-#endif
diff --git a/src/sensors/doc/snippets/sensorgestures/plugin.cpp b/src/sensors/doc/snippets/sensorgestures/plugin.cpp
deleted file mode 100644
index a94a188e..00000000
--- a/src/sensors/doc/snippets/sensorgestures/plugin.cpp
+++ /dev/null
@@ -1,99 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "myplugin.h"
-
-#include <qsensorgestureplugininterface.h>
-#include <qsensorgesturemanager.h>
-
-//! [Plugin]
-
-MySensorGestureRecognizer::MySensorGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
-{
-}
-
-MySensorGestureRecognizer::~MySensorGestureRecognizer()
-{
-}
-
-bool MySensorGestureRecognizer::start()
-{
- Q_EMIT mySignal();
- return true;
-}
-
-bool MySensorGestureRecognizer::stop()
-{
- return true;
-}
-
-bool MySensorGestureRecognizer::isActive()
-{
- return true;
-}
-
-void MySensorGestureRecognizer::create()
-{
-}
-
-QString MySensorGestureRecognizer::id() const
-{
- return QString("QtSensors.mygestures");
-}
-
-
-MySensorGesturePlugin::MySensorGesturePlugin(){}
-MySensorGesturePlugin::~MySensorGesturePlugin(){}
-
-QList <QSensorGestureRecognizer *> MySensorGesturePlugin::createRecognizers()
-{
- QList <QSensorGestureRecognizer *> recognizers;
- MySensorGestureRecognizer *recognizer = new MySensorGestureRecognizer(this);
- recognizers.append(recognizer);
-
- return recognizers;
-}
-
-QStringList MySensorGesturePlugin::supportedIds() const
-{
- return QStringList() << "QtSensors.mygestures";
-}
-
-//! [Plugin]
diff --git a/src/sensors/doc/snippets/sensorgestures/sensorgestures.pro b/src/sensors/doc/snippets/sensorgestures/sensorgestures.pro
deleted file mode 100644
index 7442dd87..00000000
--- a/src/sensors/doc/snippets/sensorgestures/sensorgestures.pro
+++ /dev/null
@@ -1,8 +0,0 @@
-TEMPLATE=app
-TARGET=sensorgesturessdocsnippet
-QT = core sensors
-SOURCES+=main.cpp\
- creating.cpp\
- plugin.cpp
-HEADERS+=myplugin.h
-!win32:*g++*:LIBS+=-rdynamic
diff --git a/src/sensors/doc/snippets/sensors/CMakeLists.txt b/src/sensors/doc/snippets/sensors/CMakeLists.txt
new file mode 100644
index 00000000..27480020
--- /dev/null
+++ b/src/sensors/doc/snippets/sensors/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(sensorsdocsnippet LANGUAGES CXX)
+
+set(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+
+find_package(Qt6 COMPONENTS Core Sensors)
+
+qt_add_executable(sensorsdocsnippet
+ creating.cpp
+ main.cpp
+ mybackend.h
+ plugin.cpp
+ start.cpp
+)
+
+target_link_libraries(sensorsdocsnippet PUBLIC
+ Qt::Sensors
+)
+
+if (GCC AND UNIX)
+ target_link_libraries(sensorsdocsnippet PUBLIC
+ rdynamic
+ log
+ )
+endif()
diff --git a/src/sensors/doc/snippets/sensors/creating.cpp b/src/sensors/doc/snippets/sensors/creating.cpp
index 4a5ef06d..4c99066f 100644
--- a/src/sensors/doc/snippets/sensors/creating.cpp
+++ b/src/sensors/doc/snippets/sensors/creating.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include <QObject>
#include <qaccelerometer.h>
@@ -57,7 +21,7 @@ QAccelerometer *sensor = new QAccelerometer(this);
QOrientationSensor orient_sensor;
//! [Creating a sensor]
- Q_UNUSED(sensor)
+ Q_UNUSED(sensor);
Q_UNUSED(orient_sensor);
{
@@ -69,7 +33,7 @@ Q_UNUSED(magnetometer);
{
//! [3]
-QSensor *magnetometer = new QSensor(QMagnetometer::type, this);
+QSensor *magnetometer = new QSensor(QMagnetometer::sensorType, this);
//! [3]
Q_UNUSED(magnetometer);
}
diff --git a/src/sensors/doc/snippets/sensors/main.cpp b/src/sensors/doc/snippets/sensors/main.cpp
index dee1ecb6..fb6724d5 100644
--- a/src/sensors/doc/snippets/sensors/main.cpp
+++ b/src/sensors/doc/snippets/sensors/main.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
int main(int /*argc*/, char ** /*argv*/)
{
diff --git a/src/sensors/doc/snippets/sensors/mybackend.h b/src/sensors/doc/snippets/sensors/mybackend.h
index 59c54069..b964e747 100644
--- a/src/sensors/doc/snippets/sensors/mybackend.h
+++ b/src/sensors/doc/snippets/sensors/mybackend.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#ifndef MYBACKEND_H
#define MYBACKEND_H
diff --git a/src/sensors/doc/snippets/sensors/plugin.cpp b/src/sensors/doc/snippets/sensors/plugin.cpp
index 1eef5966..27f50d72 100644
--- a/src/sensors/doc/snippets/sensors/plugin.cpp
+++ b/src/sensors/doc/snippets/sensors/plugin.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
#include "mybackend.h"
#include <qsensorplugin.h>
@@ -52,7 +16,7 @@ class MyPluginClass : public QObject, public QSensorPluginInterface, public QSen
public:
void registerSensors() override
{
- QSensorManager::registerBackend(QAccelerometer::type, MyBackend::id, this);
+ QSensorManager::registerBackend(QAccelerometer::sensorType, MyBackend::id, this);
}
QSensorBackend *createBackend(QSensor *sensor) override
diff --git a/src/sensors/doc/snippets/sensors/sensors.pro b/src/sensors/doc/snippets/sensors/sensors.pro
deleted file mode 100644
index 91d49772..00000000
--- a/src/sensors/doc/snippets/sensors/sensors.pro
+++ /dev/null
@@ -1,10 +0,0 @@
-TEMPLATE=app
-TARGET=sensorsdocsnippet
-QT = core sensors
-SOURCES+=main.cpp\
- creating.cpp\
- start.cpp\
- plugin.cpp
-HEADERS+=mybackend.h
-!win32:*g++*:LIBS+=-rdynamic
-OTHER_FILES += *.qml
diff --git a/src/sensors/doc/snippets/sensors/start.cpp b/src/sensors/doc/snippets/sensors/start.cpp
index 3ac5b50e..18c87d06 100644
--- a/src/sensors/doc/snippets/sensors/start.cpp
+++ b/src/sensors/doc/snippets/sensors/start.cpp
@@ -1,43 +1,9 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
-#include <qsensor.h>
+#include <QtSensors/qsensor.h>
+#include <QtCore/QMetaObject>
+#include <QtCore/QMetaproperty>
void start()
{
@@ -52,6 +18,42 @@ qreal x = reading->property("x").value<qreal>();
qreal y = reading->value(1).value<qreal>();
//! [Starting a sensor]
- Q_UNUSED(x)
- Q_UNUSED(y)
+ Q_UNUSED(x);
+ Q_UNUSED(y);
}
+
+class MyObject : public QObject
+{
+ void findSensors()
+ {
+ //! [Find sensors]
+ QList<QSensor*> mySensorList;
+ for (const QByteArray &type : QSensor::sensorTypes()) {
+ qDebug() << "Found a sensor type:" << type;
+ for (const QByteArray &identifier : QSensor::sensorsForType(type)) {
+ qDebug() << " " << "Found a sensor of that type:" << identifier;
+ QSensor* sensor = new QSensor(type, this);
+ sensor->setIdentifier(identifier);
+ mySensorList.append(sensor);
+ }
+ }
+ //! [Find sensors]
+ //! [Print reading properties]
+ for (QSensor* sensor : mySensorList) {
+ const int firstProperty = QSensorReading::staticMetaObject.propertyOffset();
+ // Connect to backend first in case start() hasn't been called yet
+ if (!sensor->connectToBackend())
+ continue;
+ qDebug() << "Sensor" << sensor->identifier() << "reading properties:";
+ QSensorReading *reading = sensor->reading();
+ if (reading) {
+ const QMetaObject *mo = reading->metaObject();
+ for (int i = firstProperty; i < mo->propertyCount(); ++i) {
+ QByteArray name = mo->property(i).name();
+ qDebug() << " " << name << reading->property(name).toByteArray();
+ }
+ }
+ }
+ //! [Print reading properties]
+ }
+};
diff --git a/src/sensors/doc/snippets/sensors/tutorial.cpp b/src/sensors/doc/snippets/sensors/tutorial.cpp
new file mode 100644
index 00000000..e8714961
--- /dev/null
+++ b/src/sensors/doc/snippets/sensors/tutorial.cpp
@@ -0,0 +1,25 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR BSD-3-Clause
+
+//! [MySensor]
+class MyReadingPrivate;
+
+class MyReading : public QSensorReading
+ {
+ Q_OBJECT
+ Q_PROPERTY(qreal myprop READ myprop)
+ DECLARE_READING(MyReading)
+public:
+ qreal myprop() const;
+ void setMyprop(qreal myprop);
+ };
+
+class MySensor : public QSensor
+{
+ Q_OBJECT
+public:
+ explicit MySensor(QObject *parent = 0);
+ MyReading *reading() const;
+ static char const * const sensorType;
+ };
+//! [MySensor]
diff --git a/src/sensors/doc/snippets/snippets.pro b/src/sensors/doc/snippets/snippets.pro
deleted file mode 100644
index f73d4a35..00000000
--- a/src/sensors/doc/snippets/snippets.pro
+++ /dev/null
@@ -1,5 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += sensors
-SUBDIRS += sensorgestures
-
diff --git a/src/sensors/doc/src/compatmap.qdoc b/src/sensors/doc/src/compatmap.qdoc
index 6db9f708..41f91a73 100644
--- a/src/sensors/doc/src/compatmap.qdoc
+++ b/src/sensors/doc/src/compatmap.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page compatmap.html
@@ -40,11 +16,11 @@
</tr>
<tr>
<td bgcolor="green"></td>
- <td>The feature is fully supported.</td>
+ <td>The sensor is supported.</td>
</tr>
<tr>
<td bgcolor="gray"></td>
- <td>The feature is not supported.</td>
+ <td>The sensor is not supported.</td>
</tr>
</tbody>
</table>
@@ -56,29 +32,15 @@
<td><b>Android</b></td>
<td><b>Linux</b></td>
<td><b>iOS</b></td>
- <td><b>Universal Windows Platform</b></td>
+ <td><b>Windows</b></td>
<td><b>Generic</b></td>
- <td><b>Sensorfw</b></td>
- <td><b>TI Sensor Tag</b></td>
</tr>
<tr>
<td nowrap="nowrap">Accelerometer</td>
<td bgcolor="green"></td>
- <td bgcolor="green"></td>
- <td bgcolor="green"></td>
- <td bgcolor="green"></td>
<td bgcolor="gray"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Altimeter</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
<td bgcolor="gray"></td>
</tr>
<tr>
@@ -88,8 +50,6 @@
<td bgcolor="gray"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
- <td bgcolor="green"></td>
- <td bgcolor="green"></td>
</tr>
<tr>
<td nowrap="nowrap">Ambient Temperature Sensor</td>
@@ -98,8 +58,6 @@
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="green"></td>
</tr>
<tr>
<td nowrap="nowrap">Compass</td>
@@ -108,18 +66,6 @@
<td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Distance</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
</tr>
<tr>
<td nowrap="nowrap">Gyroscope</td>
@@ -128,48 +74,6 @@
<td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="green"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Holster Sensor</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Humidity Sensor</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">IR Proximity Sensor</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Lid Sensor</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
</tr>
<tr>
<td nowrap="nowrap">Light Sensor</td>
@@ -178,8 +82,6 @@
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="green"></td>
</tr>
<tr>
<td nowrap="nowrap">Magnetometer</td>
@@ -188,8 +90,6 @@
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="green"></td>
</tr>
<tr>
<td nowrap="nowrap">Orientation Sensor</td>
@@ -198,18 +98,14 @@
<td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
</tr>
<tr>
<td nowrap="nowrap">Pressure Sensor</td>
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
+ <td bgcolor="green"></td>
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="green"></td>
</tr>
<tr>
<td nowrap="nowrap">Proximity Sensor</td>
@@ -218,8 +114,6 @@
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
<td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
</tr>
<tr>
<td nowrap="nowrap">Rotation Sensor</td>
@@ -228,18 +122,6 @@
<td bgcolor="green"></td>
<td bgcolor="green"></td>
<td bgcolor="green"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Tap Sensor</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
</tr>
<tr>
<td nowrap="nowrap">Tilt Sensor</td>
@@ -248,30 +130,149 @@
<td bgcolor="green"></td>
<td bgcolor="gray"></td>
<td bgcolor="green"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- </tr>
- <tr>
- <td nowrap="nowrap">Sensor Gestures</td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="gray"></td>
- <td bgcolor="green"></td>
- <td bgcolor="gray"></td>
</tr>
+ </tbody>
</table>
\endraw
- 1) Support depends on the underlying platform
+ \raw DocBook
+<db:informaltable cellpadding="2" cellspacing="1" border="1" width="90%">
+ <db:tbody>
+ <db:tr>
+ <db:td>Color</db:td>
+ <db:td>Explanation</db:td>
+ </db:tr>
+ <db:tr>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td>The sensor is supported.</db:td>
+ </db:tr>
+ <db:tr>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td>The sensor is not supported.</db:td>
+ </db:tr>
+ </db:tbody>
+ </db:informaltable>
+
+
+ <db:informaltable cellpadding="2" cellspacing="1" border="1" rules="all" width="90%">
+ <db:tbody>
+ <db:tr>
+ <db:td><db:emphasis role="bold">Feature</db:emphasis></db:td>
+ <db:td><db:emphasis role="bold">Android</db:emphasis></db:td>
+ <db:td><db:emphasis role="bold">Linux</db:emphasis></db:td>
+ <db:td><db:emphasis role="bold">iOS</db:emphasis></db:td>
+ <db:td><db:emphasis role="bold">Windows</db:emphasis></db:td>
+ <db:td><db:emphasis role="bold">Generic</db:emphasis></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Accelerometer</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Ambient Light Sensor</db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Ambient Temperature Sensor</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Compass</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Gyroscope</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Light Sensor</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Magnetometer</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Orientation Sensor</db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Pressure Sensor</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Proximity Sensor</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Rotation Sensor</db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ </db:tr>
+ <db:tr>
+ <db:td>Tilt Sensor</db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ <db:td class="bgcolor-gray" ><?dbhtml bgcolor="gray" ?><?dbfo bgcolor="gray" ?></db:td>
+ <db:td class="bgcolor-green" ><?dbhtml bgcolor="green" ?><?dbfo bgcolor="green" ?></db:td>
+ </db:tr>
+ </db:tbody>
+ </db:informaltable>
+ \endraw
In addition to the table above, each sensor type might support specific features. For example,
a magnetometer might support returning geo values. See QSensor::isFeatureSupported() for
additional details.
- Sensor Gestures are mostly platform independent, and will run if the platform has the sensors required.
- Whether they are supported and work well or not depends on the platform.
-*/
+ \section1 Platform specific notes
+ \section2 Windows
+
+ The Windows backend is supported in Qt installations that were built with MSVC.
+
+*/
diff --git a/src/sensors/doc/src/genericbackend.qdoc b/src/sensors/doc/src/genericbackend.qdoc
index 001fce77..2c314e6d 100644
--- a/src/sensors/doc/src/genericbackend.qdoc
+++ b/src/sensors/doc/src/genericbackend.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page genericbackend.html
diff --git a/src/sensors/doc/src/porting.qdoc b/src/sensors/doc/src/porting.qdoc
deleted file mode 100644
index 6f5d7ea4..00000000
--- a/src/sensors/doc/src/porting.qdoc
+++ /dev/null
@@ -1,126 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
- \page qtsensors-porting.html
- \title Porting Applications from QtMobility Sensors to Qt Sensors
- \brief Explain how to port from QtMobility Sensors to Qt Sensors
- \since Qt 5.1
-
- \tableofcontents
-
- \section1 Overview
-
- The initial release of Qt Sensors (5.0) is generally expected to be source
- compatible with QtMobility Sensors 1.2. This document attempts to explain
- where things need to be changed in order to port applications to Qt Sensors.
-
- \section1 QML
-
- In \c QtMobility, the C++ classes like \c QAccelerometer were directly used as QML types.
- In Qt Sensors, there are now separate classes for the QML types, which have no public
- C++ API.
-
- The new QML types in Qt Sensors fix some issues the former QtMobility QML types had,
- for example:
- \list
- \li The reading types now have proper change notifications.
- \li \c availableDataRates and \c outputRanges of the \c Sensor type are now proper list types.
- \li The \c identifier and \c type properties of \c Sensor can now be used.
- \li The \c lux property of \c LightSensorReading has been renamed to \c illuminance.
- \li The \c QmlSensors singleton now allows to query for sensor types.
- \endlist
-
- For more information, see the \l {Qt Sensors QML Types}{QML API} documentation.
-
- \section1 C++
-
- The C++ API mainly remained the same as in QtMobility.
-
- \section2 Includes
-
- QtMobility Sensors installed headers into a \c Qt Sensors directory. This is
- also the directory that Qt Sensors uses. It is therefore expected that includes
- that worked with QtMobility Sensors should continue to work.
-
- For example:
- \code
- #include <QAccelerometer>
- #include <qaccelerometer.h>
- #include <QtSensors/QAccelerometer>
- #include <QtSensors/qaccelerometer.h>
- \endcode
-
- \section2 Macros and Namespace
-
- QtMobility Sensors was built in a \c QtMobility namespace. This was enabled by
- the use of various macros. Qt Sensors does not normally build into a namespace
- and the macros from QtMobility no longer exist.
-
- \list
- \li QTM_BEGIN_NAMESPACE
- \li QTM_END_NAMESPACE
- \li QTM_USE_NAMESPACE
- \li QTM_PREPEND_NAMESPACE(x)
- \endlist
-
- Note that Qt can be configured to build into a namespace. If Qt is built in this
- way then Qt Sensors is also built into the nominated namespace. However, as this
- is optional, the macros for this are typically defined to do nothing.
-
- \list
- \li QT_BEGIN_NAMESPACE
- \li QT_END_NAMESPACE
- \li QT_USE_NAMESPACE
- \li QT_PREPEND_NAMESPACE(x)
- \endlist
-
- \section2 qtimestamp
-
- qtimestamp was previously defined as an opaque type equivalent to a quint64. It existed
- as a class due to an implementation detail.
-
- In Qt Sensors, the API uses quint64 instead of qtimestamp. qtimestamp still exists as a
- typedef so that applications that refer to qtimestamp can be compiled.
-
- \section1 Project Files
-
- QtMobility Sensors applications used this in their project files to enable the Sensors API.
-
- \code
- CONFIG += mobility
- MOBILITY += sensors
- \endcode
-
- Applications should remove these lines and instead use the following statement to enable
- the Qt Sensors API:
-
- \code
- QT += sensors
- \endcode
-*/
-
diff --git a/src/sensors/doc/src/qt6-changes.qdoc b/src/sensors/doc/src/qt6-changes.qdoc
new file mode 100644
index 00000000..de4f682b
--- /dev/null
+++ b/src/sensors/doc/src/qt6-changes.qdoc
@@ -0,0 +1,94 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtsensors-changes-qt6.html
+ \title Changes to Qt Sensors
+ \ingroup changes-qt-5-to-6
+ \brief Migrate Qt Sensors to Qt 6.
+
+ Qt 6 is a result of the conscious effort to make the framework more
+ efficient and easy to use.
+
+ We try to maintain binary and source compatibility for all the public
+ APIs in each release. But some changes were inevitable in an effort to
+ make Qt a better framework.
+
+ In this topic we summarize those changes in Qt Sensors, and provide
+ guidance to handle them.
+
+ \section1 Sensor Gesture support
+
+ The Gesture support has been removed. In its current shape the gestures
+ needs rethinking to be of more use for the developers. To track this please
+ see \l {https://bugreports.qt.io/browse/QTBUG-95649}{QTBUG-95649}.
+
+ \section1 Platform notes
+
+ \section2 Windows
+
+ On Windows, sensors are supported in Qt installations that were built with MSVC.
+
+ \section2 sensorfw
+
+ The \l {https://git.sailfishos.org/mer-core/sensorfw}{sensorfw} does not yet have
+ a Qt 6 port and is therefore not yet supported by sensors in Qt 6.
+
+ \section2 TI Sensor Tag
+
+ Support for TI Sensor Tag has been removed.
+
+ \section2 Removed sensors
+
+ QAltimeter, QDistanceSensor, QHolsterSensor and their QML counterparts
+ did no longer have a backend implementation and have been removed.
+
+ QIRProximitySensor, QLidSensor, and QTapSensor have only sensorfw
+ backend, and as such they are not currently listed as supported sensor
+ types.
+
+ \section2 Linux
+
+ The Linux sysfs accelerometer support has been removed. The backend is
+ undocumented and has been without any real activity for almost 10 years.
+
+ \section1 API changes
+
+ \section2 Deleted typedef for qtimestamp
+
+ The typedef for the historical, QtMobility-era, \c qtimestamp has been
+ removed. Use the actual type \c quint64 directly.
+
+ \section2 Renamed \c sensor type string to \c sensorType
+
+ The subclasses of QSensor implement a \c {char const*} string which defines
+ the string that identifies the base sensor. This static \c type field
+ shadowed the baseclass \l QSensor::type() method, leading to unnecessary
+ compilation errors and consequent workarounds. The \c type string has been
+ now renamed as \c sensorType.
+
+ \section2 Renamed LidReading::backLidChanged property to \c backLidClosed
+
+ The property name is now aligned with the \c frontLidClosed property of
+ the same QML type.
+
+ \section2 Added parameter to QSensorBackend::sensorBusy() to be able to also clear
+ the busy state
+
+ The \c QSensor::busy property and its accessor, \c QSensor::isBusy(), can be used
+ to check if the sensor is busy or not. To allow this property to better reflect the
+ sensor backend's state, QSensorBackend::sensorBusy() now accepts a boolean parameter.
+ This \c busy parameter is used to set/unset the backend busy state and notify the
+ QSensor interface attached to it.
+
+ The default value for the QSensorBackend::sensorBusy() parameter is \e true which
+ results in the original behavior (except the added signal emission). This means
+ that in most if not all cases the changes are not mandatory. Instead it is up to the
+ individual sensor backend implementations to decide if the changes are useful.
+
+ \section2 Sensor::type and and QSensor::type properties marked as constant
+
+ The \c type property cannot change after instantiation and is marked as constant
+ in both C++ and QML.
+
+*/
diff --git a/src/sensors/doc/src/qtsensorgestures-cpp.qdoc b/src/sensors/doc/src/qtsensorgestures-cpp.qdoc
deleted file mode 100644
index 164ffafb..00000000
--- a/src/sensors/doc/src/qtsensorgestures-cpp.qdoc
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\page qtsensorgestures-cpp.html
-\title Sensor Gestures C++ Overview
-\brief Explains how to use the QtSensorGestures C++ API
-
-\tableofcontents
-
-\section1 Using QtSensorGestures
-
-With the Sensor Gestures classes, you are able to easily utilize device gesturing using
-sensors, such as the accelerometer and proximity.
-
-A list of currently supported sensor gestures and their descriptions can be found here:
-\l {Qt Sensor Gestures}
-
-Using \c QtSensorGestures is easy. There are two main classes you will need to use:
-
-\list
- \li QSensorGestureManager: can be used for determining which sensor gestures are available.
- \li QSensorGesture : for connecting the sensor gesture signals.
-\endlist
-
-\snippet sensorgestures/creating.cpp Receiving sensor gesture signals
-
-More information about the sensor gesture recognizers can be found in
-\l{QtSensorGestures Plugins}.
-
-\section1 Main Classes
-
-The primary classes that make up the QtSensorGestures API:
-
-\annotatedlist sensorgestures_main
-
-The primary classes that make up the \c QtSensorGesturesRecognizers API:
-
-\annotatedlist sensorgestures_recognizer
-
-Details of the \c QSensorGesturePlugins available
-
-\annotatedlist sensorgesture_plugins_topics
-
-*/
-
diff --git a/src/sensors/doc/src/qtsensorgestures-emulator.qdoc b/src/sensors/doc/src/qtsensorgestures-emulator.qdoc
deleted file mode 100644
index 0c8bc659..00000000
--- a/src/sensors/doc/src/qtsensorgestures-emulator.qdoc
+++ /dev/null
@@ -1,49 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-/*!
-\group sensorgesture_emulator_topics
-\title QtSensorGestures Emulator
-\brief Explains how to develop clients and recognizer plugins using QtSensorGestures
-
-\section1 Overview
-
-The Emulator can be used for both creating client apps using Qt's built-in sensor gestures,
-and for creating customized recognizers.
-
-\section1 Developing Sensor Gesture Clients
-
-For instance, the Emulator can be used for writing a client app that needs
-to use the "slam" gesture.
-
-Under the "Sensors" heading in the Emulator control, you will see an edit
-box for "Sensor gestures" that will contain a list of signals available
-when your client instantiates a QSensorGesture.
-
-Select "slam", and then click the "Send" button
-to send a detected("slam") signal to the client.
-
-*/
diff --git a/src/sensors/doc/src/qtsensorgestures-plugins.qdoc b/src/sensors/doc/src/qtsensorgestures-plugins.qdoc
deleted file mode 100644
index b181c16b..00000000
--- a/src/sensors/doc/src/qtsensorgestures-plugins.qdoc
+++ /dev/null
@@ -1,167 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-/*!
-\group sensorgesture_plugins_topics
-\title QtSensorGestures Plugins
-\brief Explains how to develop recognizer plugins with QtSensorGestures
-
-The QtSensorGestures recognizer plugins are the way to create your own
-sensor gestures.
-
-Creating software to recognize motion gestures using sensors is a huge subject not covered here.
-
-The QSensorGesture API does not limit usage to any of the common classification methods of gesture
-recognition, such as Hidden Markov Models, Neural Networks, Dynamic Time Warping, or even the
-ad-hoc heuristic recognizers of Qt's built-in sensor gesture recognizers. It's basically a
-signaling system for lower level gesture recogition methods and algorithms to communicate to the
-higher level applications.
-
-\tableofcontents
-
-\section1 Overview
-
- The steps for creating a sensor gesture plugin are as follows:
-\list
-\li Sub-class from QSensorGesturePluginInterface
-\li Sub-class from QSensorGestureRecognizer and implement gesture recognizer logic using QtSensors.
-\li Create an instance of that recognizer in the derived QSensorGesturePluginInterface class, and call
- QSensorGestureManager::registerSensorGestureRecognizer(sRec); in your registerRecognizers()
-function. QSensorGestureManager will retain ownership of the recognizer object.
-
-This is the class in which the gesture recognizer system should be implemented from.
-
-\endlist
-
-\snippet sensorgestures/plugin.cpp Plugin
-
-
-\section2 Recognizer Classes
-
-If you are making sensorgestures available through the QtSensorGestures API, these are the
-classes to subclass.
-
-\annotatedlist sensorgestures_recognizer
-
-\target Qt Sensor Gestures
-\section3 Recognizer Plugins
-
-The Sensor Gesture Recognizers that come with Qt are made using an ad-hoc heuristic approach.
-The user cannot define their own gestures, and must learn how to perform and accommodate the
-pre-defined gestures herein.
-
-A developer may use any method, including computationally- and training-intensive well-
-known classifiers, to produce gesture recognizers. There are currently no classes in Qt for
-gesture training, nor is it possible for the user to define his own sensor-based motion gestures.
-
-A procedure for writing ad-hoc recognizers might include:
-\list
- \li Obtain and gather output from the accelerometer through \c QAccelerometerReading of a gesture being performed.
- \li Use various methods and constraints on the accelerometer data to recognize the various states:
- \list i
- \li Initial "listening" state for a gesture
- \li Start of a possible gesture, moving into a "detecting" state
- \li End of a possible gesture, moving into a "recognizing" state
- \li and finally, if it is recognized, the "recognized" state, or if not recognized, move back to
- the "listening" state.
- \endlist
- \li Test procedure to make sure it is easy to perform, and will not
- produce too many false positive recognitions, or collisions if used with other gestures. Meaning
-that gestures performed get recognized as another gesture instead.
-
-\endlist
-
-Below you will find a list of included plugins and their signals.
-
-For the ShakeGestures plugin:
- \table
- \row
- \li Recognizer Id
- \li Signals
- \row
- \li QtSensors.shake
- \li shake
-\endtable
-
-For the QtSensorGestures plugin:
- \table
- \row
- \li Recognizer Id
- \li Signals
- \li Description
- \li Images
- \row
- \li QtSensors.cover
- \li cover
- \li Hand covers up phone display for one second, when it's face up, using the Proximity and Orientation sensors.
- \li \image sensorgesture-cover.png
- \row
- \li QtSensors.doubletap
- \li doubletap
- \li Double tap of finger on phone, using the DoubleTap sensor.
- \li \image sensorgesture-doubletap.png
- \row
- \li QtSensors.hover
- \li hover
- \li Hand hovers about 4 cm above the phone for more than 1 second, then is removed when face up,
- using the IR Proximity sensor.
- \li \image sensorgesture-hover.png
- \row
- \li QtSensors.pickup
- \li pickup
- \li Phone is resting face up on a flat curface, and is then picked up and brought up into viewing position. Uses the Accelerometer sensor.
- \li \image sensorgesture-faceup.png
- \row
- \li QtSensors.shake2
- \li shakeLeft, shakeRight, shakeUp, shakeDown
- \li Shake phone in a certain direction, using the Accelerometer sensor.
- \li \image sensorgesture-shake.png
- \row
- \li QtSensors.slam
- \li slam
- \li Phone is held in a top up position with a side facing forward for a moment. Swing it quickly with a downward motion
- like it is being used to point at something with the top corner. Uses the Accelerometer and Orientation sensors.
- \li \image sensorgesture-slam_1.png
- \image sensorgesture-slam_2.png
- \row
- \li QtSensors.turnover
- \li turnover
- \li Phone is turned face down and placed on a surface, using Proximity and Orientation sensors.
- \li \image sensorgesture-facedown.png
- \row
- \li QtSensors.twist
- \li twistLeft, twistRight
- \li Phone is held face up and then twisted left or right (left side up or right side up) and back, using the Accelerometer and Orientation sensors.
- \li \image sensorgesture-twist.png
- \row
- \li QtSensors.whip
- \li whip
- \li Move phone quickly down and then back up. Uses the Accelerometer and Orientation sensors.
- \li \image sensorgesture-whip.png
- \endtable
-
-*/
diff --git a/src/sensors/doc/src/qtsensors-backend.qdoc b/src/sensors/doc/src/qtsensors-backend.qdoc
index 7e62186d..35945f61 100644
--- a/src/sensors/doc/src/qtsensors-backend.qdoc
+++ b/src/sensors/doc/src/qtsensors-backend.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page sensors-backend-topics.html
@@ -89,9 +65,9 @@ An example follows.
Sensors was designed so that multiple sensors could exist for a given type. Why?
Consider this example.
-The N900 has an accelerometer built-in. It also features bluetooth and can pair
-with a gaming controller that features an accelerometer. To a developer writing
-a game these two devices are conceptually the same type.
+An Android device has an accelerometer built-in. It also features bluetooth and
+can pair with a gaming controller that features an accelerometer. To a developer
+writing a game these two devices are conceptually the same type.
\section1 Default Sensor for a Type
@@ -109,21 +85,28 @@ instead.
\section1 Sensors.conf
-The config file that determines the default sensor for a type is called Sensors.conf.
-If present, it is located in /etc/xdg/QtProject. It has the standard formatting
-of an ini file.
+The config file that determines the default sensor for a type is called
+\e Sensors.conf. The configuration file is looked for from \e QtProject
+directory under the directories given by
+QStandardPaths::standardLocations(QStandardPaths::ConfigLocation).
+An example of a complete file path is:
+\badcode
+/etc/xdg/QtProject/Sensors.conf
+\endcode
+The first found configuration file is used.
+The configuration file has the standard formatting of an ini file.
The settings live in the Default group and the general format is:
\code
type = identifier
\endcode
-An example: Sensors.conf ensures that the N900 accelerometer is used by default,
-not considering the order in which backends were registered.
+An example: Sensors.conf ensures that the \e sensorfw accelerometer is used by
+default, ignoring the order in which backends were registered.
\code
[Default]
-QAccelerometer = n900.accelerometer
+QAccelerometer=sensorfw.accelerometer
\endcode
If Sensors.conf specifies an identifier that is not registered, the system will
diff --git a/src/sensors/doc/src/qtsensors-cpp.qdoc b/src/sensors/doc/src/qtsensors-cpp.qdoc
index b0d2726f..b70f8276 100644
--- a/src/sensors/doc/src/qtsensors-cpp.qdoc
+++ b/src/sensors/doc/src/qtsensors-cpp.qdoc
@@ -1,34 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page qtsensors-cpp.html
\title Qt Sensors C++ Overview
\brief Explains how to use the Qt Sensors C++ API.
+\ingroup explanation
\tableofcontents
@@ -56,7 +33,7 @@ Where rotation around an axis is used, the rotation shall be expressed as a Righ
\image sensors-coordinates3.jpg
-In general, sensor data is oriented relative to \l QPlatformScreen::nativeOrientation,
+In general, sensor data is oriented relative to \l QScreen::nativeOrientation,
that is to the top of the device when the device is held in its natural orientation
(normally when the device logo appears the right side up). If values are to be
displayed on the screen, the values may need to be transformed so that they match
@@ -103,8 +80,18 @@ This code does not require any compile-time links to \l QAccelerometer or
\snippet sensors/start.cpp Starting a sensor
-You can discover all of this information at runtime too. The sensor_explorer example
-shows you information about available sensors.
+You can discover all of this information at runtime too.
+
+\section1 Discovering Sensors And Reading Properties At Runtime
+
+Sometimes it may be that the available sensors are not known at development time.
+It is possible to find out which sensors are available as illustrated below:
+
+\snippet sensors/start.cpp Find sensors
+
+Furthermore it is possible to discover the reading details for these sensors, as illustrated below:
+
+\snippet sensors/start.cpp Print reading properties
\section1 Front End, Back End
diff --git a/src/sensors/doc/src/qtsensors-modules.qdoc b/src/sensors/doc/src/qtsensors-modules.qdoc
new file mode 100644
index 00000000..7a4d29ba
--- /dev/null
+++ b/src/sensors/doc/src/qtsensors-modules.qdoc
@@ -0,0 +1,58 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+
+/*!
+ \module QtSensors
+ \title Qt Sensors C++ Classes
+ \qtcmakepackage Sensors
+ \ingroup modules
+ \qtvariable sensors
+
+ \brief Provides classes for reading sensor data.
+
+ Mobile devices contain sensor hardware that allow detecting changes in various physical
+ properties of the device itself or its immediate environment. Examples of device properties
+ include the angle at which the device is held, whereas environmental properties include for
+ example the current level of ambient light.
+*/
+
+/*!
+ \qmlmodule QtSensors
+ \title Qt Sensors QML Types
+ \ingroup qmlmodules
+
+ \brief Provides QML types for reading sensor data.
+
+ \section1 QML Sensors Module API
+
+ QmlSensors is a module API that provides information about currently
+ available sensors types, identifiers, and the default sensors.
+
+ \qml
+ import QtSensors
+ // ...
+ Component.onCompleted: {
+ var types = QmlSensors.sensorTypes();
+ console.log(types.join(", "));
+ }
+ \endqml
+
+ The documentation for the module API can be found in QmlSensors.
+
+ \section1 QML Sensor Types
+
+ These types represent specific types of sensors.
+
+ Note that most properties come from the abstract \l{Sensor}{Sensor} element.
+
+ \annotatedlist qml-sensors_type
+
+ \section1 QML Reading Types
+
+ The data from a sensor comes via a reading class.
+
+ \annotatedlist qml-sensors_reading
+
+ \section1 All QML Types
+*/
diff --git a/src/sensors/doc/src/qtsensors-tutorial.qdoc b/src/sensors/doc/src/qtsensors-tutorial.qdoc
new file mode 100644
index 00000000..147b8504
--- /dev/null
+++ b/src/sensors/doc/src/qtsensors-tutorial.qdoc
@@ -0,0 +1,36 @@
+// Copyright (C) 2023 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
+
+/*!
+ \page qtsensors-tutorial.html
+ \title How to create your own Sensor
+ \brief Steps for creating your own sensors
+
+ The Qt Sensors module provides access to sensor hardware via QML and C++
+ interfaces.
+
+ The API is supported on \l{Qt for Android}{Android}, \l{Qt for iOS}{iOS}, and
+ \l {Qt for Windows}{Windows (MSVC)}.
+
+ \section1 Creating your own sensor using C++ API
+
+ Using a Qt module's C++ API requires linking against the module library, either
+ directly or through other dependencies.
+ \section2 Creating a sensor
+
+ To create your own sensor you can use the following steps:
+
+ \list
+ \li Create your own MySensor and MySensorReading classes
+ \snippet sensors/tutorial.cpp MySensor
+ \li Create a MySensorBackend by inheriting from QSensorBackend
+ \li Create MySensorBackendFactory factory class for instantiating that
+ backend by inheriting a class QSensorBackendFactory
+ \li Register the backend factory by calling
+ QSensorManager::registerBackend ("MySensorType", "MySensorId", &myfactory)
+ \li Instantiate the new MySensor and start using it
+ \endlist
+
+ As an another option the sensors are put into a \l {Creating a sensor plugin}
+ that you can use on demand.
+*/
diff --git a/src/sensors/doc/src/qtsensors.qdoc b/src/sensors/doc/src/qtsensors.qdoc
index cd03101a..62959fbd 100644
--- a/src/sensors/doc/src/qtsensors.qdoc
+++ b/src/sensors/doc/src/qtsensors.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2022 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page qtsensors-index.html
@@ -31,92 +7,62 @@
\brief Provides access to sensors via QML and C++ interfaces.
\since 5.1
- The Qt Sensors API provides access to sensor hardware via QML and C++ interfaces.
- The Qt Sensors API also provides a motion gesture recognition API for devices.
-
- Currently the API is supported on \l{Qt for Android}{Android},
- \l{Qt for iOS}{iOS}, \l{https://sailfishos.org}{SailFish} and \l{Qt for WinRT}{WinRT}.
-
- \section1 Information for Application Writers
-
- Applications can access Qt Sensors using QML or C++.
-
- \table
- \row
- \li \l {Qt Sensors QML Types}{QML Types}
- \li Information about the Qt Sensors QML API
- \row
- \li \l {Qt Sensors C++ Classes}{C++ Classes}
- \li Information about the Qt Sensors C++ API
- \row
- \li \l{Qt Sensors C++ Overview}
- \li High-level information on how to use the C++ API.
- \row
- \li \l {Sensor Gestures C++ Overview}
- \li High-level information specific to sensor gestures
- \row
- \li \l {Qt Sensors Examples}{Examples}
- \li Examples demonstrating the use of the Qt Sensors APIs
- \endtable
-
- \section1 Information for Backend Implementors
-
- \table
- \row
- \li \l {Qt Sensors Backend}{Backend}
- \li Information about the Qt Sensors back end
- \row
- \li \l {Qt Sensors - Grue Sensor Example}
- \li The Qt Sensors - Grue Sensor Example demonstrates creation of a sensor backend
- \endtable
-
- \section1 Compatibility with QtMobility Sensors API
-
- Qt Sensors 5.0 (the initial release) is generally expected to be source compatible
- with QtMobility Sensors 1.2.
-
- \table
- \row
- \li \l {Porting Applications from QtMobility Sensors to Qt Sensors}{Porting Guide}
- \li Information about the steps needed to port applications to the Qt Sensors API.
- \endtable
-
- \omit
- \section1 Information for Qt SensorGestures API
-
- Qt SensorGestures provides a motion gesture recognition API for devices.
-
- \table
- \row
- \li \l {SensorGesture}{QML API}
- \li Information about the Qt SensorGestures QML API
- \row
- \li \l {QtSensorGestures C++ API}{C++ API}
- \li Information about the Qt SensorGestures C++ API
- \endtable
-
- \section1 Information for Qt SensorGestures Recognizer Plugin Implementors
-
- \table
- \row
- \li \l {QtSensorGestures Plugins}{Plugins}
- \li Information about the Qt SensorGestures recognizer plugins.
- \row
- \li \l {QtSensorGestures Emulator}{Emulator}
- \li Information about Qt SensorGestures use in the Emulator.
- \endtable
- \endomit
-
- \section1 Platform-specific Information
- \table
- \row
- \li \l {Compatibility Map}{Compatibility Map}
- \li Compatibility map of all supported platforms.
- \row
- \li \l {Generic Backend}{Generic Backend}
- \li Information about the generic sensor backend.
- \row
- \li \l {Sensorfw Backend}{Sensorfw Backend}
- \li Information about the Sensorfw sensor backend.
- \endtable
+ The Qt Sensors module provides access to sensor hardware via QML and C++
+ interfaces.
+
+ Currently, the API is supported on \l{Qt for Android}{Android},
+ \l{Qt for iOS}{iOS}, and \l {Qt for Windows}{Windows (MSVC)}.
+
+ \section1 Using the Module
+
+ \section2 QML API
+
+ \include {module-use.qdocinc} {using the qml api} {QtSensors}
+
+ \section2 C++ API
+
+ \include {module-use.qdocinc} {using the c++ api}
+
+ \section3 Building with CMake
+
+ \include {module-use.qdocinc} {building with cmake} {Sensors}
+
+ \section3 Building with qmake
+
+ \include {module-use.qdocinc} {building_with_qmake} {sensors}
+
+ \section1 Articles and Guides
+
+ \list
+ \li \l {Qt Sensors C++ Overview}
+ \li \l {Generic Backend} {Generic Backend}
+ \li \l {Qt Sensors Backend}
+ \li \l {Compatibility Map} {Compatibility Map}
+ \li \l {How to create your own Sensor}
+ \endlist
+
+ \section1 Examples
+
+ \list
+ \li \l {Qt Sensors Examples} {Examples}
+ \endlist
+
+ \section1 API Reference
+
+ \list
+ \li \l {Qt Sensors QML Types} {QML Types}
+ \li \l {Qt Sensors C++ Classes} {C++ Classes}
+ \endlist
+
+ \section1 Module Evolution
+ \l{Changes to Qt Sensors} lists important changes in the module API
+ and functionality that were made for the Qt 6 series of Qt.
+
+ \section1 Licenses
+
+ The Qt Sensors module is available under commercial licenses from
+ \l{The Qt Company}. In addition, it is available under free software licenses:
+ The \l{GNU Lesser General Public License, version 3}, or
+ the \l{GNU General Public License, version 2}.
+ See \l{Qt Licensing} for further details.
*/
diff --git a/src/sensors/doc/src/qtsensors5.qdoc b/src/sensors/doc/src/qtsensors5.qdoc
deleted file mode 100644
index 688ff064..00000000
--- a/src/sensors/doc/src/qtsensors5.qdoc
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-
-/*!
- \module QtSensors
- \title Qt Sensors C++ Classes
- \ingroup modules
- \qtvariable sensors
-
- \brief Provides classes for reading sensor data.
-
- Mobile devices contain sensor hardware that allow detecting changes in various physical
- properties of the device itself or its immediate environment. Examples of device properties
- include the angle at which the device is held, whereas environmental properties include for
- example the current level of ambient light.
-*/
-
-/*!
- \qmlmodule QtSensors 5.11
- \title Qt Sensors QML Types
- \ingroup qmlmodules
-
- \brief Provides types for reading sensor data.
-
- \section1 QML Module API
-
- If the module is imported into a namespace, some additional methods become available.
-
- \qml
- import QtSensors 5.11
- // ...
- Component.onCompleted: {
- var types = QmlSensors.sensorTypes();
- console.log(types.join(", "));
- }
- \endqml
-
- The documentation for the module API can be found in QmlSensors.
-
- \section1 QML Sensor Types
-
- These types represent specific types of sensors.
-
- Note that most properties come from the abstract \l{Sensor}{Sensor} element.
-
- \annotatedlist qml-sensors_type
-
- \section1 QML Reading Types
-
- The data from a sensor comes via a reading class.
-
- \annotatedlist qml-sensors_reading
-
- \section1 All QML Types
-*/
diff --git a/src/sensors/doc/src/sensor-examples.qdoc b/src/sensors/doc/src/sensor-examples.qdoc
index 769d8f69..8e8d8d75 100644
--- a/src/sensors/doc/src/sensor-examples.qdoc
+++ b/src/sensors/doc/src/sensor-examples.qdoc
@@ -1,35 +1,10 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\group qtsensors-examples
\title Qt Sensors Examples
\brief Examples for the Qt Sensors module
- \ingroup all-examples
These are the Qt Sensors examples.
diff --git a/src/sensors/doc/src/sensorfwbackend.qdoc b/src/sensors/doc/src/sensorfwbackend.qdoc
index 21539bdb..4e3a980d 100644
--- a/src/sensors/doc/src/sensorfwbackend.qdoc
+++ b/src/sensors/doc/src/sensorfwbackend.qdoc
@@ -1,29 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Jolla Mobile
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the documentation of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:FDL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Free Documentation License Usage
-** Alternatively, this file may be used under the terms of the GNU Free
-** Documentation License version 1.3 as published by the Free Software
-** Foundation and appearing in the file included in the packaging of
-** this file. Please review the following information to ensure
-** the GNU Free Documentation License version 1.3 requirements
-** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 Jolla Mobile
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only
/*!
\page senorfwbackend.html
diff --git a/src/sensors/gestures/qsensorgesture.cpp b/src/sensors/gestures/qsensorgesture.cpp
deleted file mode 100644
index b643998e..00000000
--- a/src/sensors/gestures/qsensorgesture.cpp
+++ /dev/null
@@ -1,252 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDir>
-#include <QPluginLoader>
-#include <QDebug>
-
-#include "qsensorgesture.h"
-#include "qsensorgesture_p.h"
-#include "qsensorgesturemanager.h"
-
-#include <private/qmetaobjectbuilder_p.h>
-
-/*!
- \class QSensorGesture
- \ingroup sensorgestures_main
- \inmodule QtSensors
- \since 5.1
-
- \brief The QSensorGesture class represents one or more sensor gesture recognizers.
-
- In addition to the QSensorGesture::detected() signal, Sensor Gesture Recognizers can
- have their own specific signals, and may be discovered through
- QSensorGesture::gestureSignals().
-
- \b {Note that QSensorGesture uses a custom meta-object in order to provide
- recognizer-specific signals. This means it is not possible to sub-class
- QSensorGesture and use Q_OBJECT. Also qobject_cast<QSensorGesture*>(ptr) will
- not work.}
-
- \sa QSensorGestureRecognizer
-
- You may use QSensorGestureManager to obtain the systems known sensor gesture ids.
-
- \sa QSensorGestureManager
- */
-
-#ifdef Q_QDOC
-/*!
- \fn QSensorGesture::detected(QString gestureId)
- Signals when the \a gestureId gesture has been recognized.
- */
-#endif
-
-/*!
- Constructs the sensor gesture, and initializes the \a ids list of recognizers,
- with parent \a parent
- */
-QSensorGesture::QSensorGesture(const QStringList &ids, QObject *parent) :
- QObject(parent)
-{
- d_ptr = new QSensorGesturePrivate();
- Q_FOREACH (const QString &id, ids) {
- QSensorGestureRecognizer * rec = QSensorGestureManager::sensorGestureRecognizer(id);
- if (rec != 0) {
- d_ptr->m_sensorRecognizers.append(rec);
- d_ptr->availableIds.append(id);
- } else {
- d_ptr->invalidIds.append(id);
- //add to not available things
- }
- }
-
- d_ptr->meta = 0;
-
- QMetaObjectBuilder builder;
- builder.setSuperClass(&QObject::staticMetaObject);
- builder.setClassName("QSensorGesture");
-
- Q_FOREACH (QSensorGestureRecognizer *recognizer, d_ptr->m_sensorRecognizers) {
- Q_FOREACH (const QString &gesture, recognizer->gestureSignals()) {
- QMetaMethodBuilder b = builder.addSignal(gesture.toLatin1());
- if (!d_ptr->localGestureSignals.contains(QLatin1String(b.signature())))
- d_ptr->localGestureSignals.append(QLatin1String(b.signature()));
- }
- recognizer->createBackend();
- }
- d_ptr->meta = builder.toMetaObject();
-
- if (d_ptr->m_sensorRecognizers.count() > 0) {
- d_ptr->valid = true;
- }
-}
-
-/*!
- Destroy the QSensorGesture
- */
-QSensorGesture::~QSensorGesture()
-{
- stopDetection();
- if (d_ptr->meta)
- free(d_ptr->meta);
- delete d_ptr;
-}
-
-/*!
- Returns the gesture recognizer ids that were found.
- */
-QStringList QSensorGesture::validIds() const
-{
- return d_ptr->availableIds;
-}
-
-/*!
- Returns the gesture recognizer ids that were not found.
- */
-QStringList QSensorGesture::invalidIds() const
-{
- return d_ptr->invalidIds;
-}
-
-/*!
- Starts the gesture detection routines in the recognizer.
- */
-void QSensorGesture::startDetection()
-{
- if (d_ptr->m_sensorRecognizers.count() < 1)
- return;
- if (d_ptr->isActive)
- return;
-
- Q_FOREACH (QSensorGestureRecognizer *recognizer, d_ptr->m_sensorRecognizers) {
-
- Q_ASSERT(recognizer !=0);
-
- connect(recognizer,SIGNAL(detected(QString)),
- this,SIGNAL(detected(QString)),Qt::UniqueConnection);
-
- //connect recognizer signals
- Q_FOREACH (QString method, recognizer->gestureSignals()) {
- method.prepend(QLatin1String("2"));
- connect(recognizer, method.toLatin1(),
- this, method.toLatin1(), Qt::UniqueConnection);
- }
-
- recognizer->startBackend();
- }
- d_ptr->isActive = true;
-}
-
-/*!
- Stops the gesture detection routines.
- */
-void QSensorGesture::stopDetection()
-{
- if (d_ptr->m_sensorRecognizers.count() < 1)
- return;
-
- if (!d_ptr->isActive)
- return;
-
- Q_FOREACH (QSensorGestureRecognizer *recognizer, d_ptr->m_sensorRecognizers) {
- disconnect(recognizer,SIGNAL(detected(QString)),
- this,SIGNAL(detected(QString)));
- //disconnect recognizer signals
- Q_FOREACH (QString method,recognizer->gestureSignals()) {
- method.prepend(QLatin1String("2"));
- disconnect(recognizer, method.toLatin1(),
- this, method.toLatin1());
- }
-
- recognizer->stopBackend();
- }
- d_ptr->isActive = false;
-}
-
-/*!
- Returns all the possible gestures signals that may be emitted.
- */
-QStringList QSensorGesture::gestureSignals() const
-{
- if (d_ptr->m_sensorRecognizers.count() > 0) {
- return d_ptr->localGestureSignals;
- }
- return QStringList();
-}
-
-/*!
- Returns whether this gesture is active or not.
- */
-
-bool QSensorGesture::isActive()
-{
- return d_ptr->isActive;
-}
-
-/*!
- \internal
-*/
-const QMetaObject* QSensorGesture::metaObject() const
-{
- return d_ptr->meta;
-}
-/*!
- \internal
-*/
-int QSensorGesture::qt_metacall(QMetaObject::Call c, int id, void **a)
-{
- id = QObject::qt_metacall(c, id, a);
-
- if (id < 0 || !d_ptr->meta)
- return id;
-
- QMetaObject::activate(this, d_ptr->meta, id, a);
- return id;
-}
-
-QSensorGesturePrivate::QSensorGesturePrivate(QObject *parent)
- : QObject(parent),isActive(0), valid(0)
-{
-}
-
-QSensorGesturePrivate::~QSensorGesturePrivate()
-{
-
-}
diff --git a/src/sensors/gestures/qsensorgesture.h b/src/sensors/gestures/qsensorgesture.h
deleted file mode 100644
index dd95b3bd..00000000
--- a/src/sensors/gestures/qsensorgesture.h
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORGESTURE_H
-#define QSENSORGESTURE_H
-
-#include <QtCore/QObject>
-#include <QtCore/QStringList>
-#include <QtSensors/qsensorsglobal.h>
-
-#include <QtCore/QList>
-#include <QtCore/QMap>
-#include <QtCore/QVector>
-
-#include <QtCore/qmetatype.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSensorGesturePrivate;
-
-class Q_SENSORS_EXPORT QSensorGesture : public QObject
-{
- //Do not use Q_OBJECT here
-public:
- explicit QSensorGesture(const QStringList &ids, QObject *parent = Q_NULLPTR);
- ~QSensorGesture();
-
- bool isActive();
-
- QStringList validIds() const;
- QStringList invalidIds() const;
-
- QStringList gestureSignals() const;
-
- void startDetection();
- void stopDetection();
-
-private:
- QSensorGesturePrivate * d_ptr;
-
-private:
- // Pretend to be a Q_OBJECT
- const QMetaObject *metaObject() const override;
- int qt_metacall(QMetaObject::Call, int, void **) override;
-
-#ifdef Q_QDOC
-Q_SIGNALS:
- // these signals are created at runtime, along with
- // gesture recognizer specific signals.
- void detected(QString);
-#endif
-};
-
-QT_END_NAMESPACE
-
-
-#endif // QSENSORGESTURE_H
diff --git a/src/sensors/gestures/qsensorgesture_p.h b/src/sensors/gestures/qsensorgesture_p.h
deleted file mode 100644
index 9ec80c8b..00000000
--- a/src/sensors/gestures/qsensorgesture_p.h
+++ /dev/null
@@ -1,85 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORGESTURE_P_H
-#define QSENSORGESTURE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists for the convenience
-// of other Qt classes. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-#include <QtSensors/QSensor>
-#include <QtSensors/QAccelerometer>
-#include <QtSensors/QAccelerometerFilter>
-#include <QTimer>
-
-#include "qsensorgesture.h"
-#include "qsensorgesturemanager.h"
-#include <QtCore/private/qmetaobjectbuilder_p.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSensorGesturePrivate : public QObject
-{
-
-public:
- QSensorGesturePrivate(QObject *parent = 0);
- ~QSensorGesturePrivate();
-
- QList<QSensorGestureRecognizer *> m_sensorRecognizers;
-
- QByteArray metadata;
- QMetaObject* meta;
- bool isActive;
- QStringList localGestureSignals;
- QStringList availableIds;
- QStringList invalidIds;
- bool valid;
-};
-
-
-QT_END_NAMESPACE
-
-#endif // QSENSORGESTURE_P_H
diff --git a/src/sensors/gestures/qsensorgesturemanager.cpp b/src/sensors/gestures/qsensorgesturemanager.cpp
deleted file mode 100644
index e99be929..00000000
--- a/src/sensors/gestures/qsensorgesturemanager.cpp
+++ /dev/null
@@ -1,138 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qsensorgesturemanager.h"
-#include "qsensorgesturemanagerprivate_p.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QSensorGestureManager
- \ingroup sensorgestures_main
- \inmodule QtSensors
- \since 5.1
-
- \brief The QSensorGestureManager class manages sensor gestures, registers and creates sensor gesture plugins.
-
- Sensor Gesture plugins register their recognizers using the registerSensorGestureRecognizer() function.
-
- \snippet sensorgestures/creating.cpp Receiving sensor gesture signals
-*/
-
-/*!
- \fn QSensorGestureManager::newSensorGestureAvailable()
- Signals when a new sensor gesture becomes available for use.
- */
-
-/*!
- Constructs the QSensorGestureManager as a child of \a parent
- */
-QSensorGestureManager::QSensorGestureManager(QObject *parent)
- : QObject(parent)
-{
- QSensorGestureManagerPrivate *d = QSensorGestureManagerPrivate::instance();
- if (!d) return; // hardly likely but just in case...
- connect(d,SIGNAL(newSensorGestureAvailable()),
- this,SIGNAL(newSensorGestureAvailable()));
-}
-
-/*!
- Destroy the QSensorGestureManager
-*/
-QSensorGestureManager::~QSensorGestureManager()
-{
-}
-
-/*!
- Registers the sensor recognizer \a recognizer for use.
- QSensorGestureManager retains ownership of the recognizer object.
- Returns true unless the gesture has already been registered, in
- which case the object is deleted.
-
- */
-
- bool QSensorGestureManager::registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer)
- {
- QSensorGestureManagerPrivate *d = QSensorGestureManagerPrivate::instance();
- if (!d) { // hardly likely but just in case...
- delete recognizer;
- return false;
- }
- bool ok = d->registerSensorGestureRecognizer(recognizer);
- if (!ok)
- delete recognizer;
-
- return ok;
- }
-
-
- /*!
- Returns the list of the currently registered gestures.
- Includes all the standard built-ins as well as available plugins.
- */
- QStringList QSensorGestureManager::gestureIds() const
- {
- QSensorGestureManagerPrivate *d = QSensorGestureManagerPrivate::instance();
- if (!d) return QStringList(); // hardly likely but just in case...
- return d->gestureIds();
- }
-
- /*!
- Returns the list of all the gesture signals for the registered \a gestureId gesture recognizer id.
- */
- QStringList QSensorGestureManager::recognizerSignals(const QString &gestureId) const
- {
- QSensorGestureRecognizer *recognizer = sensorGestureRecognizer(gestureId);
- if (recognizer != 0)
- return recognizer->gestureSignals();
- else
- return QStringList();
- }
-
-/*!
- Returns the sensor gesture object for the recognizer \a id.
- */
-QSensorGestureRecognizer *QSensorGestureManager::sensorGestureRecognizer(const QString &id)
-{
- QSensorGestureManagerPrivate *d = QSensorGestureManagerPrivate::instance();
- if (!d) return 0; // hardly likely but just in case...
- return d->sensorGestureRecognizer(id);
-}
-
-QT_END_NAMESPACE
diff --git a/src/sensors/gestures/qsensorgesturemanager.h b/src/sensors/gestures/qsensorgesturemanager.h
deleted file mode 100644
index 1ddc84c2..00000000
--- a/src/sensors/gestures/qsensorgesturemanager.h
+++ /dev/null
@@ -1,77 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORGESTUREMANAGER_P_H
-#define QSENSORGESTUREMANAGER_P_H
-
-#include <QtCore/QObject>
-#include <QtCore/QStringList>
-
-#include <QtSensors/qsensorgesture.h>
-#include <QtSensors/qsensorgesturerecognizer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSensorGestureManagerPrivate;
-class Q_SENSORS_EXPORT QSensorGestureManager : public QObject
-{
- Q_OBJECT
- Q_DECLARE_PRIVATE(QSensorGestureManager)
-
-public:
- explicit QSensorGestureManager(QObject *parent = Q_NULLPTR);
-
- ~QSensorGestureManager();
-
- bool registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer);
-
- QStringList gestureIds() const;
- QStringList recognizerSignals(const QString &recognizerId) const;
-
- static QSensorGestureRecognizer *sensorGestureRecognizer(const QString &id);
-
-Q_SIGNALS:
- void newSensorGestureAvailable();
-
-};
-
-
-QT_END_NAMESPACE
-
-#endif // QSENSORGESTUREMANAGER_P_H
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp b/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
deleted file mode 100644
index 81e87de0..00000000
--- a/src/sensors/gestures/qsensorgesturemanagerprivate.cpp
+++ /dev/null
@@ -1,244 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDir>
-#include <QLibraryInfo>
-
-#include <QtCore/private/qfactoryloader_p.h>
-
-#include "qsensorgesturerecognizer.h"
-#include "qsensorgesturemanagerprivate_p.h"
-#include "qsensorgestureplugininterface.h"
-
-#ifdef SIMULATOR_BUILD
-#include "simulatorgesturescommon_p.h"
-#endif
-
-Q_GLOBAL_STATIC(QSensorGestureManagerPrivate, sensorGestureManagerPrivate)
-
-QT_BEGIN_NAMESPACE
-
-QSensorGestureManagerPrivate::QSensorGestureManagerPrivate(QObject *parent) :
- QObject(parent)
-{
-#ifdef SIMULATOR_BUILD
- SensorGesturesConnection *connection = new SensorGesturesConnection(this);
- connect(connection,SIGNAL(sensorGestureDetected()),
- this,SLOT(sensorGestureDetected()));
-
- connect(this,SIGNAL(newSensorGestures(QStringList)),
- connection,SLOT(newSensorGestures(QStringList)));
-
- connect(this,SIGNAL(removeSensorGestures(QStringList)),
- connection,SLOT(removeSensorGestures(QStringList)));
-#endif
-
- loader = new QFactoryLoader("org.qt-project.QSensorGesturePluginInterface", QLatin1String("/sensorgestures"));
- loadPlugins();
-}
-
-QSensorGestureManagerPrivate::~QSensorGestureManagerPrivate()
-{
-// qDeleteAll(registeredSensorGestures);
-// delete loader;
-}
-
-
- void QSensorGestureManagerPrivate::initPlugin(QObject *plugin)
-{
- if (QSensorGesturePluginInterface *pInterface
- = qobject_cast<QSensorGesturePluginInterface *>(plugin)) {
-
- Q_FOREACH (const QString &id, pInterface->supportedIds()) {
-
- if (!knownIds.contains(id))
- knownIds.append(id);
- else
- qWarning() << id <<"from the plugin"
- << pInterface->name()
- << "is already known.";
-
- }
- plugins << plugin;
- } else {
- qWarning() << "Could not load "<< plugin;
- }
-}
-
-
-/*!
- Internal
- Loads the sensorgesture plugins.
- */
-void QSensorGestureManagerPrivate::loadPlugins()
-{
- Q_FOREACH (QObject *plugin, QPluginLoader::staticInstances()) {
- initPlugin(plugin);
- }
- QList<QJsonObject> meta = loader->metaData();
- for (int i = 0; i < meta.count(); i++) {
- QObject *plugin = loader->instance(i);
- initPlugin(plugin);
- }
-}
-
-
-/*!
- Internal
- creates the requested recognizer.
- */
-
-bool QSensorGestureManagerPrivate::loadRecognizer(const QString &recognizerId)
-{
- //if no plugin is used return true if this is a registered recognizer
-
- if (registeredSensorGestures.contains(recognizerId))
- return true;
-
- for (int i= 0; i < plugins.count(); i++) {
-
- if (QSensorGesturePluginInterface *pInterface
- = qobject_cast<QSensorGesturePluginInterface *>(plugins.at(i))) {
-
- if (pInterface->supportedIds().contains(recognizerId)) {
-
- if (!registeredSensorGestures.contains(recognizerId)) {
- //create these recognizers
- QList <QSensorGestureRecognizer *> recognizers = pInterface->createRecognizers();
-
- Q_FOREACH (QSensorGestureRecognizer *recognizer, recognizers) {
-
- if (registeredSensorGestures.contains(recognizer->id())) {
- qWarning() << "Ignoring recognizer " << recognizer->id() << "from plugin" << pInterface->name() << "because it is already registered";
- delete recognizer;
- } else {
- registeredSensorGestures.insert(recognizer->id(),recognizer);
- }
- }
- }
- return true;
- }
- }
- }
- return false;
-}
-
-bool QSensorGestureManagerPrivate::registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer)
-{
- if (!knownIds.contains(recognizer->id())) {
- knownIds.append(recognizer->id());
- Q_ASSERT (!registeredSensorGestures.contains(recognizer->id()));
- recognizer->setParent(0);
- registeredSensorGestures.insert(recognizer->id(),recognizer);
- Q_EMIT newSensorGestureAvailable();
-
- return true;
- }
- return false;
-}
-
-QSensorGestureRecognizer *QSensorGestureManagerPrivate::sensorGestureRecognizer(const QString &id)
-{
- QSensorGestureRecognizer *recognizer = 0;
-
- if (loadRecognizer(id)) {
- recognizer= registeredSensorGestures.value(id);
- }
-
- return recognizer;
-}
-
-QStringList QSensorGestureManagerPrivate::gestureIds()
-{
- return knownIds;
-}
-
-#ifdef SIMULATOR_BUILD
-void QSensorGestureManagerPrivate::sensorGestureDetected()
-{
- QString str = get_qtSensorGestureData();
-
- Q_FOREACH (const QString &id, gestureIds()) {
- QSensorGestureRecognizer *recognizer = sensorGestureRecognizer(id);
- if (recognizer != 0) {
- Q_FOREACH (const QString &sig, recognizer->gestureSignals()) {
- if (!sig.contains(QLatin1String("detected"))) { //weed out detected signals
- QString tmp;
- tmp = sig.left(sig.length() - 2);
- if (str == tmp) {
- // named signal for c++
- QMetaObject::invokeMethod(recognizer, str.toLocal8Bit(), Qt::DirectConnection);
- // detected signal for qml and c++
- QMetaObject::invokeMethod(recognizer, "detected", Qt::DirectConnection,
- Q_ARG(QString, str));
- break;
-
- }
- }
- }
- }
- }
-}
-
-void QSensorGestureManagerPrivate::recognizerStarted(const QSensorGestureRecognizer *recognizer)
-{
- QStringList list = recognizer->gestureSignals();
- list.removeOne(QLatin1String("detected(QString)"));
- Q_EMIT newSensorGestures(list);
-}
-
-void QSensorGestureManagerPrivate::recognizerStopped(const QSensorGestureRecognizer *recognizer)
-{
- QStringList list = recognizer->gestureSignals();
- list.removeOne(QLatin1String("detected(QString)"));
- Q_EMIT removeSensorGestures(list);
-}
-
-#endif
-
-QSensorGestureManagerPrivate * QSensorGestureManagerPrivate::instance()
-{
- QSensorGestureManagerPrivate *priv = sensorGestureManagerPrivate();
- // It's safe to return 0 because this is checked when used
- //if (!priv) qFatal("Cannot return from QSensorGestureManagerPrivate::instance() because sensorGestureManagerPrivate() returned 0.");
- return priv;
-}
-
-
-QT_END_NAMESPACE
diff --git a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h b/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
deleted file mode 100644
index 2ca4d648..00000000
--- a/src/sensors/gestures/qsensorgesturemanagerprivate_p.h
+++ /dev/null
@@ -1,111 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORGESTUREMANAGERPRIVATE_P_H
-#define QSENSORGESTUREMANAGERPRIVATE_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QObject>
-#include <QMap>
-#include <QStringList>
-#include <QDebug>
-#include <QSharedPointer>
-#include <QPluginLoader>
-
-#include "qsensorgesture.h"
-#include "qsensorgesturerecognizer.h"
-
-QT_BEGIN_NAMESPACE
-
-class QFactoryLoader;
-
-class QSensorGestureManagerPrivate : public QObject
-{
- Q_OBJECT
-public:
- explicit QSensorGestureManagerPrivate(QObject *parent = 0);
- ~QSensorGestureManagerPrivate();
-
- QMap<QString, QSensorGestureRecognizer *> registeredSensorGestures;
-
- QList <QObject *> plugins;
-
- QFactoryLoader *loader;
- void loadPlugins();
- bool loadRecognizer(const QString &id);
-
- QSensorGestureRecognizer *sensorGestureRecognizer(const QString &id);
-
- bool registerSensorGestureRecognizer(QSensorGestureRecognizer *recognizer);
- QStringList gestureIds();
- QStringList knownIds;
- void initPlugin(QObject *o);
-#ifdef SIMULATOR_BUILD
- void recognizerStarted(const QSensorGestureRecognizer *);
- void recognizerStopped(const QSensorGestureRecognizer *);
-#endif
-
- static QSensorGestureManagerPrivate * instance();
-Q_SIGNALS:
- void newSensorGestureAvailable();
-
-#ifdef SIMULATOR_BUILD
-Q_SIGNALS:
- void newSensorGestures(QStringList);
- void removeSensorGestures(QStringList);
-
-private slots:
- void sensorGestureDetected();
-
-#endif
-};
-
-QT_END_NAMESPACE
-
-#endif // QSENSORGESTUREMANAGERPRIVATE_P_H
diff --git a/src/sensors/gestures/qsensorgestureplugininterface.cpp b/src/sensors/gestures/qsensorgestureplugininterface.cpp
deleted file mode 100644
index c80862e3..00000000
--- a/src/sensors/gestures/qsensorgestureplugininterface.cpp
+++ /dev/null
@@ -1,97 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qsensorgestureplugininterface.h"
-
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QSensorGesturePluginInterface
- \ingroup sensorgestures_recognizer
- \inmodule QtSensors
-
- \brief The QSensorGesturePluginInterface class is the pure virtual interface to sensor gesture
- plugins.
-
- \since 5.1
-
- The QSensorGesturePluginInterface class is implemented in sensor gesture plugins to register
- sensor gesture recognizers with QSensorGestureManager.
-
- \sa {QtSensorGestures Plugins}
-*/
-
-/*!
- \fn QSensorGesturePluginInterface::createRecognizers()
-
- Called by the manager to create the recognizers.
- Plugins should initialize and register their recognizers using
- QSensorGestureManager::registerSensorGestureRecognizer() here.
-
- \sa QSensorGestureManager
-*/
-
-/*!
- \fn QSensorGesturePluginInterface::supportedIds() const
-
- Returns a list of the recognizer Id's that this plugin supports.
- */
-
-
-/*!
- \fn QSensorGesturePluginInterface::name() const
-
- Returns this plugins name.
- */
-
-/*!
- Construct the QSensorGesturePluginInterface.
-*/
-QSensorGesturePluginInterface::QSensorGesturePluginInterface()
-{
-}
-
-/*!
- Destroy the QSensorGesturePluginInterface.
-*/
-QSensorGesturePluginInterface::~QSensorGesturePluginInterface()
-{
-}
-
-QT_END_NAMESPACE
diff --git a/src/sensors/gestures/qsensorgestureplugininterface.h b/src/sensors/gestures/qsensorgestureplugininterface.h
deleted file mode 100644
index 3de9ab84..00000000
--- a/src/sensors/gestures/qsensorgestureplugininterface.h
+++ /dev/null
@@ -1,67 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORGESTUREPLUGININTERFACE_H
-#define QSENSORGESTUREPLUGININTERFACE_H
-
-#include <QtCore/QObject>
-#include <QtCore/QtGlobal>
-#include <QtCore/qplugin.h>
-#include <QtSensors/qsensorgesture.h>
-#include <QtSensors/qsensorgesturerecognizer.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSensorGestureRecognizer;
-
-class Q_SENSORS_EXPORT QSensorGesturePluginInterface
-{
-public:
- QSensorGesturePluginInterface();
- virtual ~QSensorGesturePluginInterface();
- virtual QList <QSensorGestureRecognizer *> createRecognizers() = 0;
- virtual QStringList supportedIds() const = 0;
- virtual QString name() const = 0;
-};
-
-Q_DECLARE_INTERFACE(QSensorGesturePluginInterface, "org.qt-project.QSensorGesturePluginInterface")
-
-QT_END_NAMESPACE
-
-#endif // QSENSORGESTUREPLUGININTERFACE_H
diff --git a/src/sensors/gestures/qsensorgesturerecognizer.cpp b/src/sensors/gestures/qsensorgesturerecognizer.cpp
deleted file mode 100644
index baf414e1..00000000
--- a/src/sensors/gestures/qsensorgesturerecognizer.cpp
+++ /dev/null
@@ -1,214 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qsensorgesturerecognizer.h"
-#include "qsensorgesture_p.h"
-
-#include "qsensorgesturemanager.h"
-#ifdef SIMULATOR_BUILD
-#include "qsensorgesturemanagerprivate_p.h"
-#endif
-QT_BEGIN_NAMESPACE
-
-/*!
- \class QSensorGestureRecognizer
- \ingroup sensorgestures_recognizer
- \inmodule QtSensors
- \since 5.1
-
- \brief The QSensorGestureRecognizer class is the base class for a sensor gesture
- recognizer.
-
- QSensorGesture recognizer developers should sub-class this to implement their own recognizer.
-
- All sensor gesture recognizers have a detected(QString) signal. Implementors can use this
- and send recognizer specific gestures, such as detected("shake_left") or implement custom signals
- such as shakeLeft().
-
- These custom signals will be available in the QSensorGesture object at runtime.
-
- \sa QSensorGestureRecognizer::gestureSignals()
-
- */
-
-/*!
- \fn void QSensorGestureRecognizer::create()
-
- Called by QSensorGesture object constructor to create the recognizers backend.
-
- Implementors would use this to instantiate QSensors and connect signals.
-
- */
-
-/*!
- \fn QString QSensorGestureRecognizer::id() const
- Returns the identifier for this recognizer.
- */
-/*!
- \fn bool QSensorGestureRecognizer::start()
-
- Called by QSensorGesture::startDetection() to start this recognizer.
- Implementors should start the sensors.
- Returns true if the operation is successful.
-
- */
-/*!
- \fn bool QSensorGestureRecognizer::stop()
-
- Called by QSensorGesture::stopDetection() to stop this recognizer.
- Returns true if the call succeeds, otherwise false.
-
- Implementors should stop the sensors.
-
- */
-/*!
- \fn bool QSensorGestureRecognizer::isActive()
-
- Returns true if this recognizer is active, otherwise false.
- */
-
-/*!
- \fn QSensorGestureRecognizer::detected(const QString &gestureId)
- Signals when the \a gestureId gesture has been recognized.
- */
-
-class QSensorGestureRecognizerPrivate
-{
-public:
- bool initialized;
- int count;
-};
-
-
-/*!
- Constructs the QSensorGestureRecognizer with \a parent as parent.
- */
-QSensorGestureRecognizer::QSensorGestureRecognizer(QObject *parent)
- :QObject(parent),
- d_ptr(new QSensorGestureRecognizerPrivate())
-{
-}
-
-/*!
- Destroy the QSensorGestureRecognizer
-*/
-QSensorGestureRecognizer::~QSensorGestureRecognizer()
-{
- delete d_ptr;
-}
-
-/*!
- Returns a list of signals that this recognizer supports.
-
- Note that all signals declared will be exported to the QSensorGesture
- object. If you need to use signals that are not exported, you should use a private class
- to do so.
-
- */
-QStringList QSensorGestureRecognizer::gestureSignals() const
-{
- QStringList list;
- bool ok = false;
- for (int i = 0; i < this->metaObject()->methodCount(); i++) {
- //weed out objectsignals and slots
- const QByteArray sig(this->metaObject()->method(i).methodSignature());
- if (this->metaObject()->indexOfSignal(sig) != -1) {
- if (sig.contains("detected"))
- ok = true;
- if (ok)
- list.append(QString::fromLatin1(sig));
- }
- }
- return list;
-}
-
-/*!
- Calls QSensorGestureRecognizer::create() if the recognizer is valid.
-*/
-void QSensorGestureRecognizer::createBackend()
-{
- if (d_ptr->initialized) {
- return;
- }
- d_ptr->initialized = true;
- create();
-}
-
-/*!
- Calls QSensorGestureRecognizer::start() if the recognizer isn't already initialized.
- This is called by the QSensorGesture object, so please use that instead.
-
-\sa QSensorGesture::startDetection()
-
-*/
-void QSensorGestureRecognizer::startBackend()
-{
- if (!d_ptr->initialized) {
- qWarning() << "Not starting. Gesture Recognizer not initialized";
- return;
- }
- if (d_ptr->count++ == 0) {
- start();
-#ifdef SIMULATOR_BUILD
- QSensorGestureManagerPrivate::instance()->recognizerStarted(this);
-#endif
- }
-}
-
-/*!
- Calls QSensorGestureRecognizer::stop() if no other clients are using it.
- This is called by the QSensorGesture object, so please use that instead.
-
-\sa QSensorGesture::stopDetection()
-*/
-void QSensorGestureRecognizer::stopBackend()
-{
- if (!d_ptr->initialized) {
- qWarning() << "Not stopping. Gesture Recognizer not initialized";
- return;
- }
- if (--d_ptr->count == 0) {
- stop();
-#ifdef SIMULATOR_BUILD
- QSensorGestureManagerPrivate::instance()->recognizerStopped(this);
-#endif
- }
-}
-
-QT_END_NAMESPACE
diff --git a/src/sensors/gestures/qsensorgesturerecognizer.h b/src/sensors/gestures/qsensorgesturerecognizer.h
deleted file mode 100644
index 27181983..00000000
--- a/src/sensors/gestures/qsensorgesturerecognizer.h
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QSENSORGESTURERECOGNIZER_H
-#define QSENSORGESTURERECOGNIZER_H
-
-#include <QtCore/QDebug>
-#include <QtCore/QTimer>
-#include <QtCore/QStringList>
-
-#include <QtSensors/qsensorgesture.h>
-
-QT_BEGIN_NAMESPACE
-
-class QSensorGestureRecognizerPrivate;
-class Q_SENSORS_EXPORT QSensorGestureRecognizer : public QObject
-{
- Q_OBJECT
-public:
- explicit QSensorGestureRecognizer(QObject *parent = Q_NULLPTR);
- virtual ~QSensorGestureRecognizer();
-
- virtual QString id() const = 0;
-
- virtual bool isActive() = 0;
-
- void startBackend();
- void stopBackend();
- void createBackend();
-
- QStringList gestureSignals() const;
-
-Q_SIGNALS:
- void detected(const QString &);
-
-protected:
- virtual void create() = 0;
- virtual bool start() = 0;
- virtual bool stop() = 0;
-
-private:
- QSensorGestureRecognizerPrivate * d_ptr;
-};
-
-QT_END_NAMESPACE
-
-#endif // QSENSORGESTURERECOGNIZER_H
diff --git a/src/sensors/gestures/simulatorgesturescommon.cpp b/src/sensors/gestures/simulatorgesturescommon.cpp
deleted file mode 100644
index b7860423..00000000
--- a/src/sensors/gestures/simulatorgesturescommon.cpp
+++ /dev/null
@@ -1,121 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "simulatorgesturescommon_p.h"
-
-#include <QtSimulator/version.h>
-#include <QtSimulator/QtSimulator>
-
-#include <QDebug>
-#include <QStringList>
-
-using namespace Simulator;
-
-
-Q_GLOBAL_STATIC(QString, qtSensorGestureData)
-
-SensorGesturesConnection::SensorGesturesConnection(QObject *parent)
- : QObject(parent)
-{
- mConnection = new Connection(Connection::Client, QLatin1String("QtSimulator_Mobility_ServerName1.3.0.0"),
- 0xbeef+1, Version(1,0,0,0), this);
- mWorker = mConnection->connectToServer(Connection::simulatorHostName(true), 0xbeef+1);
-
- if (!mWorker) {
- qWarning() << "Could not connect to server";
- return;
- }
-
- mWorker->addReceiver(this);
- mWorker->call("setRequestsSensorGestures");
-}
-
-SensorGesturesConnection::~SensorGesturesConnection()
-{
- mWorker->call("setSensorGestures", QStringList());
- delete mWorker;
-}
-
-void SensorGesturesConnection::setSensorGestureData(const QString &data)
-{
- QString gesture = data;
- if (data.contains(QLatin1String("detected"))) {
- gesture.remove(QLatin1String("detected("));
- gesture.remove(QLatin1String(")"));
- }
- *qtSensorGestureData() = gesture;
-}
-
-void SensorGesturesConnection::newSensorGestureDetected()
-{
- emit sensorGestureDetected();
-}
-
-void SensorGesturesConnection::newSensorGestures(const QStringList &gestures)
-{
- if (!mWorker) return;
-
- Q_FOREACH (const QString &gest, gestures) {
- if (!gest.contains(QLatin1String("detected"))) {
- QString tmp = gest.left(gest.length()-2);
- if (!allGestures.contains(tmp)) {
- allGestures.append(tmp);
- }
- }
- }
-
- mWorker->call("setSensorGestures", allGestures);
-}
-
-void SensorGesturesConnection::removeSensorGestures(const QStringList &gestures)
-{
- Q_FOREACH (const QString &gest, gestures) {
- QString tmp = gest.left(gest.length()-2);
- if (allGestures.contains(tmp)) {
- allGestures.removeOne(tmp);
- }
- }
- mWorker->call("setSensorGestures", allGestures);
-}
-
-QString get_qtSensorGestureData()
-{
- return *qtSensorGestureData();
-}
-
diff --git a/src/sensors/gestures/simulatorgesturescommon_p.h b/src/sensors/gestures/simulatorgesturescommon_p.h
deleted file mode 100644
index 63022238..00000000
--- a/src/sensors/gestures/simulatorgesturescommon_p.h
+++ /dev/null
@@ -1,92 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef SIMULATORGESTURESCOMMON_H
-#define SIMULATORGESTURESCOMMON_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QtSimulator/connection.h>
-#include <QtSimulator/connectionworker.h>
-#include <QStringList>
-
-class QTimer;
-
-namespace Simulator
-{
- class Connection;
- class ConnectionWorker;
-}
-
-class SensorGesturesConnection : public QObject
-{
- Q_OBJECT
-public:
- explicit SensorGesturesConnection(QObject *parent = 0);
- virtual ~SensorGesturesConnection();
-
-Q_SIGNALS:
- void sensorGestureDetected();
-
-public slots:
- void setSensorGestureData(const QString &);
- void newSensorGestureDetected();
- void newSensorGestures(const QStringList &gestures);
- void removeSensorGestures(const QStringList &gestures);
-
-private:
- Simulator::Connection *mConnection;
- Simulator::ConnectionWorker *mWorker;
- QStringList allGestures;
-
-};
-
-QString get_qtSensorGestureData();
-
-#endif //SIMULATORGESTURESCOMMON_H
-
diff --git a/src/sensors/make_sensor.pl b/src/sensors/make_sensor.pl
index bfa81472..74213f09 100755
--- a/src/sensors/make_sensor.pl
+++ b/src/sensors/make_sensor.pl
@@ -1,42 +1,25 @@
#!/usr/bin/perl
-#############################################################################
-##
-## Copyright (C) 2016 The Qt Company Ltd.
-## Contact: https://www.qt.io/licensing/
-##
-## This file is part of the QtSensors module of the Qt Toolkit.
-##
-## $QT_BEGIN_LICENSE:LGPL$
-## Commercial License Usage
-## Licensees holding valid commercial Qt licenses may use this file in
-## accordance with the commercial license agreement provided with the
-## Software or, alternatively, in accordance with the terms contained in
-## a written agreement between you and The Qt Company. For licensing terms
-## and conditions see https://www.qt.io/terms-conditions. For further
-## information use the contact form at https://www.qt.io/contact-us.
-##
-## GNU Lesser General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU Lesser
-## General Public License version 3 as published by the Free Software
-## Foundation and appearing in the file LICENSE.LGPL3 included in the
-## packaging of this file. Please review the following information to
-## ensure the GNU Lesser General Public License version 3 requirements
-## will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-##
-## GNU General Public License Usage
-## Alternatively, this file may be used under the terms of the GNU
-## General Public License version 2.0 or (at your option) the GNU General
-## Public license version 3 or any later version approved by the KDE Free
-## Qt Foundation. The licenses are as published by the Free Software
-## Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-## included in the packaging of this file. Please review the following
-## information to ensure the GNU General Public License requirements will
-## be met: https://www.gnu.org/licenses/gpl-2.0.html and
-## https://www.gnu.org/licenses/gpl-3.0.html.
-##
-## $QT_END_LICENSE$
-##
-#############################################################################
+# Copyright (C) 2021 The Qt Company Ltd.
+# SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only WITH Qt-GPL-exception-1.0
+
+# About this script
+#
+# The make_sensor.pl creates new sensor frontend placeholder implementations.
+# Both C++ and QML classes are generated. As the script makes assumptions on the
+# naming conventions and source file locations, the main
+# intended use case is adding new sensor frontends to the QtSensors module.
+#
+# To run the script, provide the sensor name starting with 'Q' as an argument
+# (here "QFlow"):
+#
+# perl make_sensor.pl QFlow
+#
+# This will generate the following files:
+# ../sensorsquick/qmlflow_p.h
+# ../sensorsquick/qmlflow.cpp
+# qflow_p.h
+# qflow.h
+# qflow.cpp
use strict;
use warnings;
@@ -75,8 +58,8 @@ $qmlfilebase = "qml".$qmlfilebase;
my $pheader = $filebase."_p.h";
my $header = $filebase.".h";
my $source = $filebase.".cpp";
-my $qmlsource = "../imports/sensors/".$qmlfilebase.".cpp";
-my $qmlheader = "../imports/sensors/".$qmlfilebase.".h";
+my $qmlsource = "../sensorsquick/".$qmlfilebase.".cpp";
+my $qmlheader = "../sensorsquick/".$qmlfilebase."_p.h";
my $pguard = uc($pheader);
$pguard =~ s/\./_/g;
@@ -93,45 +76,53 @@ if (! -e $qmlheader) {
#ifndef '.$qmlguard.'
#define '.$qmlguard.'
-#include "qmlsensor.h"
+#include "qmlsensor_p.h"
QT_BEGIN_NAMESPACE
class '.$sensor.';
-class '.$qmlsensor.' : public QmlSensor
+class Q_SENSORSQUICK_EXPORT '.$qmlsensor.' : public QmlSensor
{
Q_OBJECT
+ QML_NAMED_ELEMENT('.$no_q_sensor.')
+ QML_ADDED_IN_VERSION(6,2) // CHANGE VERSION
public:
explicit '.$qmlsensor.'(QObject *parent = 0);
~'.$qmlsensor.'();
-private:
QSensor *sensor() const override;
+
+private:
QmlSensorReading *createReading() const override;
'.$sensor.' *m_sensor;
};
-class '.$qmlreading.' : public QmlSensorReading
+class Q_SENSORSQUICK_EXPORT '.$qmlreading.' : public QmlSensorReading
{
Q_OBJECT
- Q_PROPERTY(qreal prop1 READ prop1 NOTIFY prop1Changed)
+ Q_PROPERTY(qreal myprop READ myprop NOTIFY mypropChanged BINDABLE bindableMyprop)
+ QML_NAMED_ELEMENT('.$no_q_reading.')
+ QML_UNCREATABLE("Cannot create '.$no_q_reading.'")
+ QML_ADDED_IN_VERSION(6,2) // CHANGE VERSION
public:
explicit '.$qmlreading.'('.$sensor.' *sensor);
~'.$qmlreading.'();
- qreal prop1() const;
+ qreal myprop() const;
+ QBindable<qreal> bindableMyprop() const;
Q_SIGNALS:
- void prop1Changed();
+ void mypropChanged();
private:
QSensorReading *reading() const override;
void readingUpdate() override;
'.$sensor.' *m_sensor;
- qreal m_prop1;
+ Q_OBJECT_BINDABLE_PROPERTY('.$qmlreading.', qreal,
+ m_myprop, &'.$qmlreading.'::mypropChanged);
};
QT_END_NAMESPACE
@@ -144,7 +135,7 @@ if (! -e $qmlsource) {
print "Creating $qmlsource\n";
open OUT, ">$qmlsource" or die $!;
print OUT '
-#include "qml'.lc($no_q_sensor).'.h"
+#include "qml'.lc($no_q_sensor).'_p.h"
#include <'.$sensor.'>
/*!
@@ -152,7 +143,7 @@ if (! -e $qmlsource) {
\instantiates '.$qmlsensor.'
\ingroup qml-sensors_type
\inqmlmodule QtSensors
- \since QtSensors 5.[INSERT VERSION HERE]
+ \since QtSensors 6.[INSERT VERSION HERE]
\inherits Sensor
\brief The '.$no_q_sensor.' element reports on fubbleness.
@@ -189,7 +180,7 @@ QSensor *'.$qmlsensor.'::sensor() const
\instantiates '.$qmlreading.'
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
- \since QtSensors 5.[INSERT VERSION HERE]
+ \since QtSensors 6.[INSERT VERSION HERE]
\inherits SensorReading
\brief The '.$no_q_reading.' element holds the most recent '.$no_q_sensor.' reading.
@@ -202,9 +193,7 @@ QSensor *'.$qmlsensor.'::sensor() const
*/
'.$qmlreading.'::'.$qmlreading.'('.$sensor.' *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
- , m_prop1(0)
+ : m_sensor(sensor)
{
}
@@ -213,15 +202,20 @@ QSensor *'.$qmlsensor.'::sensor() const
}
/*!
- \qmlproperty qreal '.$no_q_reading.'::prop1
+ \qmlproperty qreal '.$no_q_reading.'::myprop
This property holds the fubble of the device.
- Please see '.$reading.'::prop1 for information about this property.
+ Please see '.$reading.'::myprop for information about this property.
*/
-qreal '.$qmlreading.'::prop1() const
+qreal '.$qmlreading.'::myprop() const
{
- return m_prop1;
+ return m_myprop;
+}
+
+QBindable<qreal> '.$qmlreading.'::bindableMyprop() const
+{
+ return &m_myprop;
}
QSensorReading *'.$qmlreading.'::reading() const
@@ -231,11 +225,7 @@ QSensorReading *'.$qmlreading.'::reading() const
void '.$qmlreading.'::readingUpdate()
{
- qreal prop1 = m_sensor->reading()->prop1();
- if (m_prop1 != prop1) {
- m_prop1 = prop1;
- Q_EMIT prop1Changed();
- }
+ m_myprop = m_sensor->reading()->myprop();
}
';
close OUT;
@@ -323,7 +313,7 @@ public:
explicit '.$sensor.'(QObject *parent = 0);
~'.$sensor.'();
'.$reading.' *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY('.$sensor.')
@@ -351,7 +341,7 @@ IMPLEMENT_READING('.$reading.')
\class '.$reading.'
\ingroup sensors_reading
\inmodule QtSensors
- \since 5.[INSERT VERSION HERE]
+ \since 6.[INSERT VERSION HERE]
\brief The '.$reading.' class holds readings from the [X] sensor.
@@ -389,7 +379,7 @@ void '.$reading.'::setMyprop(qreal myprop)
\class '.$filter.'
\ingroup sensors_filter
\inmodule QtSensors
- \since 5.[INSERT VERSION HERE]
+ \since 6.[INSERT VERSION HERE]
\brief The '.$filter.' class is a convenience wrapper around QSensorFilter.
@@ -410,13 +400,13 @@ bool '.$filter.'::filter(QSensorReading *reading)
return filter(static_cast<'.$reading.'*>(reading));
}
-char const * const '.$sensor.'::type("'.$sensor.'");
+char const * const '.$sensor.'::sensorType("'.$sensor.'");
/*!
\class '.$sensor.'
\ingroup sensors_type
\inmodule QtSensors
- \since 5.[INSERT VERSION HERE]
+ \since 6.[INSERT VERSION HERE]
\brief The '.$sensor.' class is a convenience wrapper around QSensor.
@@ -433,7 +423,7 @@ char const * const '.$sensor.'::type("'.$sensor.'");
Construct the sensor as a child of \a parent.
*/
'.$sensor.'::'.$sensor.'(QObject *parent)
- : QSensor('.$sensor.'::type, parent)
+ : QSensor('.$sensor.'::sensorType, parent)
{
}
@@ -469,8 +459,7 @@ exit 0;
sub get_arg
{
if (scalar(@ARGV) == 0) {
- croak "Missing arg(s)";
+ croak "Missing sensor name argument (e.g. 'QFlow')";
}
return shift(@ARGV);
}
-
diff --git a/src/sensors/qaccelerometer.cpp b/src/sensors/qaccelerometer.cpp
index bb65d80b..685b3e16 100644
--- a/src/sensors/qaccelerometer.cpp
+++ b/src/sensors/qaccelerometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qaccelerometer.h"
#include "qaccelerometer_p.h"
@@ -155,7 +119,7 @@ bool QAccelerometerFilter::filter(QSensorReading *reading)
return filter(static_cast<QAccelerometerReading*>(reading));
}
-char const * const QAccelerometer::type("QAccelerometer");
+char const * const QAccelerometer::sensorType("QAccelerometer");
/*!
\enum QAccelerometer::AccelerationMode
@@ -205,7 +169,7 @@ char const * const QAccelerometer::type("QAccelerometer");
Construct the sensor as a child of \a parent.
*/
QAccelerometer::QAccelerometer(QObject *parent)
- : QSensor(QAccelerometer::type, *new QAccelerometerPrivate, parent)
+ : QSensor(QAccelerometer::sensorType, *new QAccelerometerPrivate, parent)
{
}
@@ -276,6 +240,6 @@ QAccelerometerReading *QAccelerometer::reading() const
\since 5.1
*/
-#include "moc_qaccelerometer.cpp"
QT_END_NAMESPACE
+#include "moc_qaccelerometer.cpp"
diff --git a/src/sensors/qaccelerometer.h b/src/sensors/qaccelerometer.h
index a44971f2..ac2e29fb 100644
--- a/src/sensors/qaccelerometer.h
+++ b/src/sensors/qaccelerometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QACCELEROMETER_H
#define QACCELEROMETER_H
@@ -77,11 +41,10 @@ class QAccelerometerPrivate;
class Q_SENSORS_EXPORT QAccelerometer : public QSensor
{
Q_OBJECT
- Q_ENUMS(AccelerationMode)
Q_PROPERTY(AccelerationMode accelerationMode READ accelerationMode WRITE setAccelerationMode
NOTIFY accelerationModeChanged)
public:
- explicit QAccelerometer(QObject *parent = Q_NULLPTR);
+ explicit QAccelerometer(QObject *parent = nullptr);
virtual ~QAccelerometer();
// Keep this enum in sync with QmlAccelerometer::AccelerationMode
@@ -90,12 +53,13 @@ public:
Gravity,
User
};
+ Q_ENUM(AccelerationMode)
AccelerationMode accelerationMode() const;
void setAccelerationMode(AccelerationMode accelerationMode);
QAccelerometerReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
Q_SIGNALS:
void accelerationModeChanged(AccelerationMode accelerationMode);
@@ -108,4 +72,3 @@ private:
QT_END_NAMESPACE
#endif
-
diff --git a/src/sensors/qaccelerometer_p.h b/src/sensors/qaccelerometer_p.h
index fece405b..c39c1947 100644
--- a/src/sensors/qaccelerometer_p.h
+++ b/src/sensors/qaccelerometer_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QACCELEROMETER_P_H
#define QACCELEROMETER_P_H
diff --git a/src/sensors/qaltimeter.cpp b/src/sensors/qaltimeter.cpp
deleted file mode 100644
index 1a986169..00000000
--- a/src/sensors/qaltimeter.cpp
+++ /dev/null
@@ -1,150 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qaltimeter.h>
-#include "qaltimeter_p.h"
-
-QT_BEGIN_NAMESPACE
-
-IMPLEMENT_READING(QAltimeterReading)
-
-/*!
- \class QAltimeterReading
- \ingroup sensors_reading
- \inmodule QtSensors
- \since 5.1
-
- \brief The QAltimeterReading class holds readings from the altimeter sensor.
-
- The altitude is reported in meters relative to mean sea level.
-*/
-
-/*!
- \property QAltimeterReading::altitude
- \brief The altitude in meters relative to mean sea level.
-*/
-
-qreal QAltimeterReading::altitude() const
-{
- return d->altitude;
-}
-
-/*!
- Sets the altitude to \a altitude.
-*/
-void QAltimeterReading::setAltitude(qreal altitude)
-{
- d->altitude = altitude;
-}
-
-// =====================================================================
-
-/*!
- \class QAltimeterFilter
- \ingroup sensors_filter
- \inmodule QtSensors
- \since 5.1
-
- \brief The QAltimeterFilter class is a convenience wrapper around QSensorFilter.
-
- The only difference is that the filter() method features a pointer to QAltimeterReading
- instead of QSensorReading.
-*/
-
-/*!
- \fn QAltimeterFilter::filter(QAltimeterReading *reading)
-
- Called when \a reading changes. Returns false to prevent the reading from propagating.
-
- \sa QSensorFilter::filter()
-*/
-
-bool QAltimeterFilter::filter(QSensorReading *reading)
-{
- return filter(static_cast<QAltimeterReading*>(reading));
-}
-
-char const * const QAltimeter::type("QAltimeter");
-
-/*!
- \class QAltimeter
- \ingroup sensors_type
- \inmodule QtSensors
- \since 5.1
-
- \brief The QAltimeter class is a convenience wrapper around QSensor.
-
- The only behavioural difference is that this class sets the type properly.
-
- This class also features a reading() function that returns a QAltimeterReading instead of a QSensorReading.
-
- For details about how the sensor works, see \l QAltimeterReading.
-
- \sa QAltimeterReading
-*/
-
-/*!
- Construct the sensor as a child of \a parent.
-*/
-QAltimeter::QAltimeter(QObject *parent)
- : QSensor(QAltimeter::type, parent)
-{
-}
-
-/*!
- Destroy the sensor. Stops the sensor if it has not already been stopped.
-*/
-QAltimeter::~QAltimeter()
-{
-}
-
-/*!
- \fn QAltimeter::reading() const
-
- Returns the reading class for this sensor.
-
- \sa QSensor::reading()
-*/
-
-QAltimeterReading *QAltimeter::reading() const
-{
- return static_cast<QAltimeterReading*>(QSensor::reading());
-}
-
-#include "moc_qaltimeter.cpp"
-QT_END_NAMESPACE
diff --git a/src/sensors/qaltimeter.h b/src/sensors/qaltimeter.h
deleted file mode 100644
index 50c9e83b..00000000
--- a/src/sensors/qaltimeter.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QALTIMETER_H
-#define QALTIMETER_H
-
-#include <QtSensors/qsensor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QAltimeterReadingPrivate;
-
-class Q_SENSORS_EXPORT QAltimeterReading : public QSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal altitude READ altitude)
- DECLARE_READING(QAltimeterReading)
-public:
- qreal altitude() const;
- void setAltitude(qreal altitude);
-};
-
-class Q_SENSORS_EXPORT QAltimeterFilter : public QSensorFilter
-{
-public:
- virtual bool filter(QAltimeterReading *reading) = 0;
-private:
- bool filter(QSensorReading *reading) override;
-};
-
-class Q_SENSORS_EXPORT QAltimeter : public QSensor
-{
- Q_OBJECT
-public:
- explicit QAltimeter(QObject *parent = Q_NULLPTR);
- ~QAltimeter();
- QAltimeterReading *reading() const;
- static char const * const type;
-
-private:
- Q_DISABLE_COPY(QAltimeter)
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/sensors/qaltimeter_p.h b/src/sensors/qaltimeter_p.h
deleted file mode 100644
index b1231c24..00000000
--- a/src/sensors/qaltimeter_p.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QALTIMETER_P_H
-#define QALTIMETER_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_NAMESPACE
-
-class QAltimeterReadingPrivate
-{
-public:
- QAltimeterReadingPrivate()
- : altitude(0)
- {
- }
-
- qreal altitude;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/sensors/qambientlightsensor.cpp b/src/sensors/qambientlightsensor.cpp
index 92b17c8c..c7bec4c7 100644
--- a/src/sensors/qambientlightsensor.cpp
+++ b/src/sensors/qambientlightsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qambientlightsensor.h"
#include "qambientlightsensor_p.h"
@@ -131,7 +95,7 @@ bool QAmbientLightFilter::filter(QSensorReading *reading)
return filter(static_cast<QAmbientLightReading*>(reading));
}
-char const * const QAmbientLightSensor::type("QAmbientLightSensor");
+char const * const QAmbientLightSensor::sensorType("QAmbientLightSensor");
/*!
\class QAmbientLightSensor
@@ -154,7 +118,7 @@ char const * const QAmbientLightSensor::type("QAmbientLightSensor");
Construct the sensor as a child of \a parent.
*/
QAmbientLightSensor::QAmbientLightSensor(QObject *parent)
- : QSensor(QAmbientLightSensor::type, parent)
+ : QSensor(QAmbientLightSensor::sensorType, parent)
{
}
@@ -178,6 +142,6 @@ QAmbientLightReading *QAmbientLightSensor::reading() const
return static_cast<QAmbientLightReading*>(QSensor::reading());
}
-#include "moc_qambientlightsensor.cpp"
QT_END_NAMESPACE
+#include "moc_qambientlightsensor.cpp"
diff --git a/src/sensors/qambientlightsensor.h b/src/sensors/qambientlightsensor.h
index 9d1acec9..962cf4aa 100644
--- a/src/sensors/qambientlightsensor.h
+++ b/src/sensors/qambientlightsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QAMBIENTLIGHTSENSOR_H
#define QAMBIENTLIGHTSENSOR_H
@@ -49,7 +13,6 @@ class QAmbientLightReadingPrivate;
class Q_SENSORS_EXPORT QAmbientLightReading : public QSensorReading
{
Q_OBJECT
- Q_ENUMS(LightLevel)
Q_PROPERTY(LightLevel lightLevel READ lightLevel)
DECLARE_READING(QAmbientLightReading)
public:
@@ -61,6 +24,7 @@ public:
Bright,
Sunny
};
+ Q_ENUM(LightLevel)
LightLevel lightLevel() const;
void setLightLevel(LightLevel lightLevel);
@@ -78,10 +42,10 @@ class Q_SENSORS_EXPORT QAmbientLightSensor : public QSensor
{
Q_OBJECT
public:
- explicit QAmbientLightSensor(QObject *parent = Q_NULLPTR);
+ explicit QAmbientLightSensor(QObject *parent = nullptr);
virtual ~QAmbientLightSensor();
QAmbientLightReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QAmbientLightSensor)
@@ -90,4 +54,3 @@ private:
QT_END_NAMESPACE
#endif
-
diff --git a/src/sensors/qambientlightsensor_p.h b/src/sensors/qambientlightsensor_p.h
index ed0a8c26..ace40c33 100644
--- a/src/sensors/qambientlightsensor_p.h
+++ b/src/sensors/qambientlightsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QAMBIENTLIGHTSENSOR_P_H
#define QAMBIENTLIGHTSENSOR_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QAmbientLightReadingPrivate
diff --git a/src/sensors/qambienttemperaturesensor.cpp b/src/sensors/qambienttemperaturesensor.cpp
index 6759e9f3..7c94a66d 100644
--- a/src/sensors/qambienttemperaturesensor.cpp
+++ b/src/sensors/qambienttemperaturesensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qambienttemperaturesensor.h>
#include "qambienttemperaturesensor_p.h"
@@ -101,7 +65,7 @@ bool QAmbientTemperatureFilter::filter(QSensorReading *reading)
return filter(static_cast<QAmbientTemperatureReading*>(reading));
}
-char const * const QAmbientTemperatureSensor::type("QAmbientTemperatureSensor");
+char const * const QAmbientTemperatureSensor::sensorType("QAmbientTemperatureSensor");
/*!
\class QAmbientTemperatureSensor
@@ -124,7 +88,7 @@ char const * const QAmbientTemperatureSensor::type("QAmbientTemperatureSensor");
Construct the sensor as a child of \a parent.
*/
QAmbientTemperatureSensor::QAmbientTemperatureSensor(QObject *parent)
- : QSensor(QAmbientTemperatureSensor::type, parent)
+ : QSensor(QAmbientTemperatureSensor::sensorType, parent)
{
}
@@ -148,5 +112,6 @@ QAmbientTemperatureReading *QAmbientTemperatureSensor::reading() const
return static_cast<QAmbientTemperatureReading*>(QSensor::reading());
}
-#include "moc_qambienttemperaturesensor.cpp"
QT_END_NAMESPACE
+
+#include "moc_qambienttemperaturesensor.cpp"
diff --git a/src/sensors/qambienttemperaturesensor.h b/src/sensors/qambienttemperaturesensor.h
index 4198b15a..f31916fd 100644
--- a/src/sensors/qambienttemperaturesensor.h
+++ b/src/sensors/qambienttemperaturesensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QAMBIENTTEMPERATURESENSOR_H
#define QAMBIENTTEMPERATURESENSOR_H
@@ -67,10 +31,10 @@ class Q_SENSORS_EXPORT QAmbientTemperatureSensor : public QSensor
{
Q_OBJECT
public:
- explicit QAmbientTemperatureSensor(QObject *parent = Q_NULLPTR);
+ explicit QAmbientTemperatureSensor(QObject *parent = nullptr);
~QAmbientTemperatureSensor();
QAmbientTemperatureReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QAmbientTemperatureSensor)
diff --git a/src/sensors/qambienttemperaturesensor_p.h b/src/sensors/qambienttemperaturesensor_p.h
index 7847925e..177dd267 100644
--- a/src/sensors/qambienttemperaturesensor_p.h
+++ b/src/sensors/qambienttemperaturesensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QAMBIENTTEMPERATURESENSOR_P_H
#define QAMBIENTTEMPERATURESENSOR_P_H
@@ -50,6 +14,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QAmbientTemperatureReadingPrivate
diff --git a/src/sensors/qcompass.cpp b/src/sensors/qcompass.cpp
index 5177a177..cb689c30 100644
--- a/src/sensors/qcompass.cpp
+++ b/src/sensors/qcompass.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qcompass.h"
#include "qcompass_p.h"
@@ -74,7 +38,7 @@ IMPLEMENT_READING(QCompassReading)
\brief the azimuth of the device.
Measured in degrees from magnetic north in a clockwise direction based on
- the top of the device, as defined by QPlatformScreen::nativeOrientation.
+ the top of the device, as defined by QScreen::nativeOrientation.
\sa {QCompassReading Units}
*/
@@ -141,7 +105,7 @@ bool QCompassFilter::filter(QSensorReading *reading)
return filter(static_cast<QCompassReading*>(reading));
}
-char const * const QCompass::type("QCompass");
+char const * const QCompass::sensorType("QCompass");
/*!
\class QCompass
@@ -164,7 +128,7 @@ char const * const QCompass::type("QCompass");
Construct the sensor as a child of \a parent.
*/
QCompass::QCompass(QObject *parent)
- : QSensor(QCompass::type, parent)
+ : QSensor(QCompass::sensorType, parent)
{
}
@@ -188,6 +152,6 @@ QCompassReading *QCompass::reading() const
return static_cast<QCompassReading*>(QSensor::reading());
}
-#include "moc_qcompass.cpp"
QT_END_NAMESPACE
+#include "moc_qcompass.cpp"
diff --git a/src/sensors/qcompass.h b/src/sensors/qcompass.h
index 0d22c746..3892298a 100644
--- a/src/sensors/qcompass.h
+++ b/src/sensors/qcompass.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QCOMPASS_H
#define QCOMPASS_H
@@ -72,10 +36,10 @@ class Q_SENSORS_EXPORT QCompass : public QSensor
{
Q_OBJECT
public:
- explicit QCompass(QObject *parent = Q_NULLPTR);
+ explicit QCompass(QObject *parent = nullptr);
virtual ~QCompass();
QCompassReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QCompass)
diff --git a/src/sensors/qcompass_p.h b/src/sensors/qcompass_p.h
index bb45f205..9f8d7b74 100644
--- a/src/sensors/qcompass_p.h
+++ b/src/sensors/qcompass_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QCOMPASS_P_H
#define QCOMPASS_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QCompassReadingPrivate
diff --git a/src/sensors/qdistancesensor.cpp b/src/sensors/qdistancesensor.cpp
deleted file mode 100644
index 3226c584..00000000
--- a/src/sensors/qdistancesensor.cpp
+++ /dev/null
@@ -1,162 +0,0 @@
- /****************************************************************************
- **
- ** Copyright (C) 2016 BlackBerry Limited. All rights reserved.
- ** Contact: https://www.qt.io/licensing/
- **
- ** This file is part of the QtSensors module of the Qt Toolkit.
- **
- ** $QT_BEGIN_LICENSE:LGPL$
- ** Commercial License Usage
- ** Licensees holding valid commercial Qt licenses may use this file in
- ** accordance with the commercial license agreement provided with the
- ** Software or, alternatively, in accordance with the terms contained in
- ** a written agreement between you and The Qt Company. For licensing terms
- ** and conditions see https://www.qt.io/terms-conditions. For further
- ** information use the contact form at https://www.qt.io/contact-us.
- **
- ** GNU Lesser General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU Lesser
- ** General Public License version 3 as published by the Free Software
- ** Foundation and appearing in the file LICENSE.LGPL3 included in the
- ** packaging of this file. Please review the following information to
- ** ensure the GNU Lesser General Public License version 3 requirements
- ** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
- **
- ** GNU General Public License Usage
- ** Alternatively, this file may be used under the terms of the GNU
- ** General Public License version 2.0 or (at your option) the GNU General
- ** Public license version 3 or any later version approved by the KDE Free
- ** Qt Foundation. The licenses are as published by the Free Software
- ** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
- ** included in the packaging of this file. Please review the following
- ** information to ensure the GNU General Public License requirements will
- ** be met: https://www.gnu.org/licenses/gpl-2.0.html and
- ** https://www.gnu.org/licenses/gpl-3.0.html.
- **
- ** $QT_END_LICENSE$
- **
- ****************************************************************************/
-
-#include <qdistancesensor.h>
-#include "qdistancesensor_p.h"
-
-QT_BEGIN_NAMESPACE
-
-IMPLEMENT_READING(QDistanceReading)
-
-/*!
- \class QDistanceReading
- \ingroup sensors_reading
- \inmodule QtSensors
- \since 5.4
-
- \brief The QDistanceReading class holds distance reading in cm from the proximity sensor.
-
- The QDistanceReading class holds distance reading in cm from the proximity sensor.
- Note: Some proximity sensor only support two values for distance, a near and far value.
- In this case, the sensor should report its maximum range value to represent the far state,
- and a lesser value to represent the near state.
-
- \section2 QDistanceReading Units
- The distance is measured in cm
-
- The distance sensor is typically located in the front face of a device, and thus will
- measure the distance of an object from the device's front face.
-*/
-
-/*!
- \property QDistanceReading::distance
- \brief distance of object from front face of device
-
- \sa {QDistanceReading Units}
-*/
-
-qreal QDistanceReading::distance() const
-{
- return d->distance;
-}
-
-/*!
- Sets distance to \a distance.
-*/
-void QDistanceReading::setDistance(qreal distance)
-{
- d->distance = distance;
-}
-
-// =====================================================================
-
-/*!
- \class QDistanceFilter
- \ingroup sensors_filter
- \inmodule QtSensors
- \since 5.4
-
- \brief The QDistanceFilter class is a convenience wrapper around QSensorFilter.
-
- The only difference is that the filter() method features a pointer to QDistanceReading
- instead of QSensorReading.
-*/
-
-/*!
- \fn QDistanceFilter::filter(QDistanceReading *reading)
-
- Called when \a reading changes. Returns false to prevent the reading from propagating.
-
- \sa QSensorFilter::filter()
-*/
-
-bool QDistanceFilter::filter(QSensorReading *reading)
-{
- return filter(static_cast<QDistanceReading*>(reading));
-}
-
-char const * const QDistanceSensor::type("QDistanceSensor");
-
-/*!
- \class QDistanceSensor
- \ingroup sensors_type
- \inmodule QtSensors
- \since 5.4
-
- \brief The QDistanceSensor class is a convenience wrapper around QSensor.
-
- The only behavioral difference is that this class sets the type properly.
-
- This class also features a reading() function that returns a QDistanceReading instead of a QSensorReading.
-
- For details about how the sensor works, see \l QDistanceReading.
-
- \sa QDistanceReading
-*/
-
-/*!
- Construct the sensor as a child of \a parent.
-*/
-QDistanceSensor::QDistanceSensor(QObject *parent)
- : QSensor(QDistanceSensor::type, parent)
-{
-}
-
-/*!
- Destroy the sensor. Stops the sensor if it has not already been stopped.
-*/
-QDistanceSensor::~QDistanceSensor()
-{
-}
-
-/*!
- \fn QDistanceSensor::reading() const
-
- Returns the reading class for this sensor.
-
- \sa QSensor::reading()
-*/
-
-QDistanceReading *QDistanceSensor::reading() const
-{
- return static_cast<QDistanceReading*>(QSensor::reading());
-}
-
-#include "moc_qdistancesensor.cpp"
-QT_END_NAMESPACE
diff --git a/src/sensors/qdistancesensor.h b/src/sensors/qdistancesensor.h
deleted file mode 100644
index a6aef947..00000000
--- a/src/sensors/qdistancesensor.h
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BlackBerry Limited. All rights reserved.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDISTANCESENSOR_H
-#define QDISTANCESENSOR_H
-
-#include <QtSensors/qsensor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QDistanceReadingPrivate;
-
-class Q_SENSORS_EXPORT QDistanceReading : public QSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(qreal distance READ distance)
- DECLARE_READING(QDistanceReading)
-public:
- qreal distance() const;
- void setDistance(qreal distance);
-};
-
-class Q_SENSORS_EXPORT QDistanceFilter : public QSensorFilter
-{
-public:
- virtual bool filter(QDistanceReading *reading) = 0;
-private:
- bool filter(QSensorReading *reading) override;
-};
-
-class Q_SENSORS_EXPORT QDistanceSensor : public QSensor
-{
- Q_OBJECT
-public:
- explicit QDistanceSensor(QObject *parent = Q_NULLPTR);
- ~QDistanceSensor();
- QDistanceReading *reading() const;
- static char const * const type;
-
-private:
- Q_DISABLE_COPY(QDistanceSensor)
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/sensors/qdistancesensor_p.h b/src/sensors/qdistancesensor_p.h
deleted file mode 100644
index 262fdb1e..00000000
--- a/src/sensors/qdistancesensor_p.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 BlackBerry Limited. All rights reserved.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QDISTANCESENSOR_P_H
-#define QDISTANCESENSOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_NAMESPACE
-
-class QDistanceReadingPrivate
-{
-public:
- QDistanceReadingPrivate()
- : distance(0.0)
- {
- }
-
- /*
- * Note that this class is copied so you may need to implement
- * a copy constructor if you have complex types or pointers
- * as values.
- */
-
- qreal distance;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/sensors/qgyroscope.cpp b/src/sensors/qgyroscope.cpp
index cb1eb698..8ffd6934 100644
--- a/src/sensors/qgyroscope.cpp
+++ b/src/sensors/qgyroscope.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qgyroscope.h"
#include "qgyroscope_p.h"
@@ -153,7 +117,7 @@ bool QGyroscopeFilter::filter(QSensorReading *reading)
return filter(static_cast<QGyroscopeReading*>(reading));
}
-char const * const QGyroscope::type("QGyroscope");
+char const * const QGyroscope::sensorType("QGyroscope");
/*!
\class QGyroscope
@@ -176,7 +140,7 @@ char const * const QGyroscope::type("QGyroscope");
Construct the sensor as a child of \a parent.
*/
QGyroscope::QGyroscope(QObject *parent)
- : QSensor(QGyroscope::type, parent)
+ : QSensor(QGyroscope::sensorType, parent)
{
}
@@ -200,6 +164,6 @@ QGyroscopeReading *QGyroscope::reading() const
return static_cast<QGyroscopeReading*>(QSensor::reading());
}
-#include "moc_qgyroscope.cpp"
QT_END_NAMESPACE
+#include "moc_qgyroscope.cpp"
diff --git a/src/sensors/qgyroscope.h b/src/sensors/qgyroscope.h
index 7d7e287e..43c1a452 100644
--- a/src/sensors/qgyroscope.h
+++ b/src/sensors/qgyroscope.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QGYROSCOPE_H
#define QGYROSCOPE_H
@@ -76,10 +40,10 @@ class Q_SENSORS_EXPORT QGyroscope : public QSensor
{
Q_OBJECT
public:
- explicit QGyroscope(QObject *parent = Q_NULLPTR);
+ explicit QGyroscope(QObject *parent = nullptr);
virtual ~QGyroscope();
QGyroscopeReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QGyroscope)
diff --git a/src/sensors/qgyroscope_p.h b/src/sensors/qgyroscope_p.h
index b8158421..dcc552cd 100644
--- a/src/sensors/qgyroscope_p.h
+++ b/src/sensors/qgyroscope_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QGYROSCOPE_P_H
#define QGYROSCOPE_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QGyroscopeReadingPrivate
diff --git a/src/sensors/qholstersensor.cpp b/src/sensors/qholstersensor.cpp
deleted file mode 100644
index b28815a6..00000000
--- a/src/sensors/qholstersensor.cpp
+++ /dev/null
@@ -1,156 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#include <qholstersensor.h>
-#include "qholstersensor_p.h"
-
-QT_BEGIN_NAMESPACE
-
-IMPLEMENT_READING(QHolsterReading)
-
-/*!
- \class QHolsterReading
- \ingroup sensors_reading
- \inmodule QtSensors
- \since 5.1
-
- \brief The QHolsterReading class holds readings from the holster sensor.
-
- \section2 QHolsterReading Units
- The holster sensor can detect if a device is holstered or not. A holster is a pocket,
- similar to a gun holster, specifically made for the device. If the device is inside of this
- pocket, it is holstered. The holster supports the device in detecting whether the device is
- holstered or not.
-*/
-
-/*!
- \property QHolsterReading::holstered
- \brief A value indicating whether the device is holstered.
-
- \sa {QHolsterReading Units}
-*/
-
-bool QHolsterReading::holstered() const
-{
- return d->holstered;
-}
-
-/*!
- Sets the holstered value to \a holstered.
-*/
-void QHolsterReading::setHolstered(bool holstered)
-{
- d->holstered = holstered;
-}
-
-// =====================================================================
-
-/*!
- \class QHolsterFilter
- \ingroup sensors_filter
- \inmodule QtSensors
- \since 5.1
-
- \brief The QHolsterFilter class is a convenience wrapper around QSensorFilter.
-
- The only difference is that the filter() method features a pointer to QHolsterReading
- instead of QSensorReading.
-*/
-
-/*!
- \fn QHolsterFilter::filter(QHolsterReading *reading)
-
- Called when \a reading changes. Returns false to prevent the reading from propagating.
-
- \sa QSensorFilter::filter()
-*/
-
-bool QHolsterFilter::filter(QSensorReading *reading)
-{
- return filter(static_cast<QHolsterReading*>(reading));
-}
-
-char const * const QHolsterSensor::type("QHolsterSensor");
-
-/*!
- \class QHolsterSensor
- \ingroup sensors_type
- \inmodule QtSensors
- \since 5.1
-
- \brief The QHolsterSensor class is a convenience wrapper around QSensor.
-
- The only behavioural difference is that this class sets the type properly.
-
- This class also features a reading() function that returns a QHolsterReading instead of a QSensorReading.
-
- For details about how the sensor works, see \l QHolsterReading.
-
- \sa QHolsterReading
-*/
-
-/*!
- Construct the sensor as a child of \a parent.
-*/
-QHolsterSensor::QHolsterSensor(QObject *parent)
- : QSensor(QHolsterSensor::type, parent)
-{
-}
-
-/*!
- Destroy the sensor. Stops the sensor if it has not already been stopped.
-*/
-QHolsterSensor::~QHolsterSensor()
-{
-}
-
-/*!
- \fn QHolsterSensor::reading() const
-
- Returns the reading class for this sensor.
-
- \sa QSensor::reading()
-*/
-
-QHolsterReading *QHolsterSensor::reading() const
-{
- return static_cast<QHolsterReading*>(QSensor::reading());
-}
-
-#include "moc_qholstersensor.cpp"
-QT_END_NAMESPACE
diff --git a/src/sensors/qholstersensor.h b/src/sensors/qholstersensor.h
deleted file mode 100644
index 43d02899..00000000
--- a/src/sensors/qholstersensor.h
+++ /dev/null
@@ -1,81 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QHOLSTERSENSOR_H
-#define QHOLSTERSENSOR_H
-
-#include <QtSensors/qsensor.h>
-
-QT_BEGIN_NAMESPACE
-
-class QHolsterReadingPrivate;
-
-class Q_SENSORS_EXPORT QHolsterReading : public QSensorReading
-{
- Q_OBJECT
- Q_PROPERTY(bool holstered READ holstered)
- DECLARE_READING(QHolsterReading)
-public:
- bool holstered() const;
- void setHolstered(bool holstered);
-};
-
-class Q_SENSORS_EXPORT QHolsterFilter : public QSensorFilter
-{
-public:
- virtual bool filter(QHolsterReading *reading) = 0;
-private:
- bool filter(QSensorReading *reading) override;
-};
-
-class Q_SENSORS_EXPORT QHolsterSensor : public QSensor
-{
- Q_OBJECT
-public:
- explicit QHolsterSensor(QObject *parent = Q_NULLPTR);
- ~QHolsterSensor();
- QHolsterReading *reading() const;
- static char const * const type;
-
-private:
- Q_DISABLE_COPY(QHolsterSensor)
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/sensors/qholstersensor_p.h b/src/sensors/qholstersensor_p.h
deleted file mode 100644
index 3d8b9801..00000000
--- a/src/sensors/qholstersensor_p.h
+++ /dev/null
@@ -1,68 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-#ifndef QHOLSTERSENSOR_P_H
-#define QHOLSTERSENSOR_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-QT_BEGIN_NAMESPACE
-
-class QHolsterReadingPrivate
-{
-public:
- QHolsterReadingPrivate()
- : holstered(false)
- {
- }
-
- bool holstered;
-};
-
-QT_END_NAMESPACE
-
-#endif
diff --git a/src/sensors/qhumiditysensor.cpp b/src/sensors/qhumiditysensor.cpp
index aaf60b65..9c0db944 100644
--- a/src/sensors/qhumiditysensor.cpp
+++ b/src/sensors/qhumiditysensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qhumiditysensor.h>
#include "qhumiditysensor_p.h"
@@ -129,7 +93,7 @@ bool QHumidityFilter::filter(QSensorReading *reading)
return filter(static_cast<QHumidityReading*>(reading));
}
-char const * const QHumiditySensor::type("QHumiditySensor");
+char const * const QHumiditySensor::sensorType("QHumiditySensor");
/*!
@@ -153,7 +117,7 @@ char const * const QHumiditySensor::type("QHumiditySensor");
Construct the sensor as a child of \a parent.
*/
QHumiditySensor::QHumiditySensor(QObject *parent)
- : QSensor(QHumiditySensor::type, parent)
+ : QSensor(QHumiditySensor::sensorType, parent)
{
}
@@ -177,5 +141,6 @@ QHumidityReading *QHumiditySensor::reading() const
return static_cast<QHumidityReading*>(QSensor::reading());
}
-#include "moc_qhumiditysensor.cpp"
QT_END_NAMESPACE
+
+#include "moc_qhumiditysensor.cpp"
diff --git a/src/sensors/qhumiditysensor.h b/src/sensors/qhumiditysensor.h
index f24d2be2..76a83b2c 100644
--- a/src/sensors/qhumiditysensor.h
+++ b/src/sensors/qhumiditysensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QHUMIDITYSENSOR_H
#define QHUMIDITYSENSOR_H
@@ -75,11 +39,11 @@ class Q_SENSORS_EXPORT QHumiditySensor : public QSensor
{
Q_OBJECT
public:
- explicit QHumiditySensor(QObject *parent = Q_NULLPTR);
+ explicit QHumiditySensor(QObject *parent = nullptr);
~QHumiditySensor();
QHumidityReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DECLARE_PRIVATE(QHumiditySensor)
diff --git a/src/sensors/qhumiditysensor_p.h b/src/sensors/qhumiditysensor_p.h
index 95b070ea..1d357c98 100644
--- a/src/sensors/qhumiditysensor_p.h
+++ b/src/sensors/qhumiditysensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QHUMIDITYSENSOR_P_H
#define QHUMIDITYSENSOR_P_H
diff --git a/src/sensors/qirproximitysensor.cpp b/src/sensors/qirproximitysensor.cpp
index 2be5a43a..4d205d05 100644
--- a/src/sensors/qirproximitysensor.cpp
+++ b/src/sensors/qirproximitysensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qirproximitysensor.h>
#include "qirproximitysensor_p.h"
@@ -49,6 +13,7 @@ IMPLEMENT_READING(QIRProximityReading)
\ingroup sensors_reading
\inmodule QtSensors
\since 5.1
+ \internal
\brief The QIRProximityReading class holds readings from the IR proximity sensor.
@@ -101,6 +66,7 @@ void QIRProximityReading::setReflectance(qreal reflectance)
\ingroup sensors_filter
\inmodule QtSensors
\since 5.1
+ \internal
\brief The QIRProximityFilter class is a convenience wrapper around QSensorFilter.
@@ -121,13 +87,14 @@ bool QIRProximityFilter::filter(QSensorReading *reading)
return filter(static_cast<QIRProximityReading*>(reading));
}
-char const * const QIRProximitySensor::type("QIRProximitySensor");
+char const * const QIRProximitySensor::sensorType("QIRProximitySensor");
/*!
\class QIRProximitySensor
\ingroup sensors_type
\inmodule QtSensors
\since 5.1
+ \internal
\brief The QIRProximitySensor class is a convenience wrapper around QSensor.
@@ -144,7 +111,7 @@ char const * const QIRProximitySensor::type("QIRProximitySensor");
Construct the sensor as a child of \a parent.
*/
QIRProximitySensor::QIRProximitySensor(QObject *parent)
- : QSensor(QIRProximitySensor::type, parent)
+ : QSensor(QIRProximitySensor::sensorType, parent)
{
}
diff --git a/src/sensors/qirproximitysensor.h b/src/sensors/qirproximitysensor.h
index 2941d6e0..ce22ab39 100644
--- a/src/sensors/qirproximitysensor.h
+++ b/src/sensors/qirproximitysensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QIRPROXIMITYSENSOR_H
#define QIRPROXIMITYSENSOR_H
@@ -68,10 +32,10 @@ class Q_SENSORS_EXPORT QIRProximitySensor : public QSensor
{
Q_OBJECT
public:
- explicit QIRProximitySensor(QObject *parent = Q_NULLPTR);
+ explicit QIRProximitySensor(QObject *parent = nullptr);
virtual ~QIRProximitySensor();
QIRProximityReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QIRProximitySensor)
diff --git a/src/sensors/qirproximitysensor_p.h b/src/sensors/qirproximitysensor_p.h
index 02c8275f..fb850928 100644
--- a/src/sensors/qirproximitysensor_p.h
+++ b/src/sensors/qirproximitysensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QIRPROXIMITYSENSOR_P_H
#define QIRPROXIMITYSENSOR_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QIRProximityReadingPrivate
diff --git a/src/sensors/qlidsensor.cpp b/src/sensors/qlidsensor.cpp
index a759afd9..bc413242 100644
--- a/src/sensors/qlidsensor.cpp
+++ b/src/sensors/qlidsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qlidsensor.h>
#include "qlidsensor_p.h"
@@ -48,6 +12,7 @@ IMPLEMENT_READING(QLidReading)
\ingroup sensors_reading
\inmodule QtSensors
\since 5.9
+ \internal
\brief The QLidReading class holds readings from the Lid sensor.
@@ -110,6 +75,7 @@ void QLidReading::setFrontLidClosed(bool closed)
\ingroup sensors_filter
\inmodule QtSensors
\since 5.9
+ \internal
\brief The QLidFilter class is a convenience wrapper around QSensorFilter.
@@ -130,13 +96,14 @@ bool QLidFilter::filter(QSensorReading *reading)
return filter(static_cast<QLidReading*>(reading));
}
-char const * const QLidSensor::type("QLidSensor");
+char const * const QLidSensor::sensorType("QLidSensor");
/*!
\class QLidSensor
\ingroup sensors_type
\inmodule QtSensors
\since 5.9
+ \internal
\brief The QLidSensor class is a convenience wrapper around QSensor.
@@ -154,7 +121,7 @@ char const * const QLidSensor::type("QLidSensor");
Construct the sensor as a child of \a parent.
*/
QLidSensor::QLidSensor(QObject *parent)
- : QSensor(QLidSensor::type, parent)
+ : QSensor(QLidSensor::sensorType, parent)
{
}
@@ -178,5 +145,6 @@ QLidReading *QLidSensor::reading() const
return static_cast<QLidReading*>(QSensor::reading());
}
-#include "moc_qlidsensor.cpp"
QT_END_NAMESPACE
+
+#include "moc_qlidsensor.cpp"
diff --git a/src/sensors/qlidsensor.h b/src/sensors/qlidsensor.h
index f7992cac..c0861ff9 100644
--- a/src/sensors/qlidsensor.h
+++ b/src/sensors/qlidsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QLIDSENSOR_H
#define QLIDSENSOR_H
@@ -76,10 +40,10 @@ class Q_SENSORS_EXPORT QLidSensor : public QSensor
{
Q_OBJECT
public:
- explicit QLidSensor(QObject *parent = Q_NULLPTR);
+ explicit QLidSensor(QObject *parent = nullptr);
~QLidSensor();
QLidReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QLidSensor)
diff --git a/src/sensors/qlidsensor_p.h b/src/sensors/qlidsensor_p.h
index 93d3b99e..ff14c0bd 100644
--- a/src/sensors/qlidsensor_p.h
+++ b/src/sensors/qlidsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Canonical, Ltd
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QLIDSENSOR_P_H
#define QLIDSENSOR_P_H
@@ -50,6 +14,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QLidReadingPrivate
diff --git a/src/sensors/qlightsensor.cpp b/src/sensors/qlightsensor.cpp
index a7892f3a..0803f0e5 100644
--- a/src/sensors/qlightsensor.cpp
+++ b/src/sensors/qlightsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qlightsensor.h"
#include "qlightsensor_p.h"
@@ -105,7 +69,7 @@ bool QLightFilter::filter(QSensorReading *reading)
return filter(static_cast<QLightReading*>(reading));
}
-char const * const QLightSensor::type("QLightSensor");
+char const * const QLightSensor::sensorType("QLightSensor");
/*!
\class QLightSensor
@@ -128,7 +92,7 @@ char const * const QLightSensor::type("QLightSensor");
Construct the sensor as a child of \a parent.
*/
QLightSensor::QLightSensor(QObject *parent)
- : QSensor(QLightSensor::type, *new QLightSensorPrivate, parent)
+ : QSensor(QLightSensor::sensorType, *new QLightSensorPrivate, parent)
{
}
@@ -185,6 +149,6 @@ void QLightSensor::setFieldOfView(qreal fieldOfView)
}
}
-#include "moc_qlightsensor.cpp"
QT_END_NAMESPACE
+#include "moc_qlightsensor.cpp"
diff --git a/src/sensors/qlightsensor.h b/src/sensors/qlightsensor.h
index 03f1871e..89dfbcd5 100644
--- a/src/sensors/qlightsensor.h
+++ b/src/sensors/qlightsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QLIGHTSENSOR_H
#define QLIGHTSENSOR_H
@@ -71,10 +35,10 @@ class Q_SENSORS_EXPORT QLightSensor : public QSensor
Q_OBJECT
Q_PROPERTY(qreal fieldOfView READ fieldOfView NOTIFY fieldOfViewChanged)
public:
- explicit QLightSensor(QObject *parent = Q_NULLPTR);
+ explicit QLightSensor(QObject *parent = nullptr);
virtual ~QLightSensor();
QLightReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
qreal fieldOfView() const;
void setFieldOfView(qreal fieldOfView);
diff --git a/src/sensors/qlightsensor_p.h b/src/sensors/qlightsensor_p.h
index f57b6088..4a570ca2 100644
--- a/src/sensors/qlightsensor_p.h
+++ b/src/sensors/qlightsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QLIGHTSENSOR_P_H
#define QLIGHTSENSOR_P_H
diff --git a/src/sensors/qmagnetometer.cpp b/src/sensors/qmagnetometer.cpp
index 0e28b5aa..601ebb0a 100644
--- a/src/sensors/qmagnetometer.cpp
+++ b/src/sensors/qmagnetometer.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qmagnetometer.h"
#include "qmagnetometer_p.h"
@@ -199,7 +163,7 @@ bool QMagnetometerFilter::filter(QSensorReading *reading)
return filter(static_cast<QMagnetometerReading*>(reading));
}
-char const * const QMagnetometer::type("QMagnetometer");
+char const * const QMagnetometer::sensorType("QMagnetometer");
/*!
\class QMagnetometer
@@ -222,7 +186,7 @@ char const * const QMagnetometer::type("QMagnetometer");
Construct the sensor as a child of \a parent.
*/
QMagnetometer::QMagnetometer(QObject *parent)
- : QSensor(QMagnetometer::type, *new QMagnetometerPrivate, parent)
+ : QSensor(QMagnetometer::sensorType, *new QMagnetometerPrivate, parent)
{
}
@@ -271,6 +235,6 @@ void QMagnetometer::setReturnGeoValues(bool returnGeoValues)
}
}
-#include "moc_qmagnetometer.cpp"
QT_END_NAMESPACE
+#include "moc_qmagnetometer.cpp"
diff --git a/src/sensors/qmagnetometer.h b/src/sensors/qmagnetometer.h
index f8b0fbfb..2e55a504 100644
--- a/src/sensors/qmagnetometer.h
+++ b/src/sensors/qmagnetometer.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QMAGNETOMETER_H
#define QMAGNETOMETER_H
@@ -83,10 +47,10 @@ class Q_SENSORS_EXPORT QMagnetometer : public QSensor
Q_OBJECT
Q_PROPERTY(bool returnGeoValues READ returnGeoValues WRITE setReturnGeoValues NOTIFY returnGeoValuesChanged)
public:
- explicit QMagnetometer(QObject *parent = Q_NULLPTR);
+ explicit QMagnetometer(QObject *parent = nullptr);
virtual ~QMagnetometer();
QMagnetometerReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
bool returnGeoValues() const;
void setReturnGeoValues(bool returnGeoValues);
diff --git a/src/sensors/qmagnetometer_p.h b/src/sensors/qmagnetometer_p.h
index 634378d5..7052e9e8 100644
--- a/src/sensors/qmagnetometer_p.h
+++ b/src/sensors/qmagnetometer_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QMAGNETOMETER_P_H
#define QMAGNETOMETER_P_H
@@ -59,7 +23,7 @@ class QMagnetometerPrivate : public QSensorPrivate
{
public:
QMagnetometerPrivate()
- : returnGeoValues(false)
+ : returnGeoValues(true)
{
}
diff --git a/src/sensors/qorientationsensor.cpp b/src/sensors/qorientationsensor.cpp
index d2147a6f..4e0702f6 100644
--- a/src/sensors/qorientationsensor.cpp
+++ b/src/sensors/qorientationsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qorientationsensor.h"
#include "qorientationsensor_p.h"
@@ -154,7 +118,7 @@ bool QOrientationFilter::filter(QSensorReading *reading)
return filter(static_cast<QOrientationReading*>(reading));
}
-char const * const QOrientationSensor::type("QOrientationSensor");
+char const * const QOrientationSensor::sensorType("QOrientationSensor");
/*!
\class QOrientationSensor
@@ -177,7 +141,7 @@ char const * const QOrientationSensor::type("QOrientationSensor");
Construct the sensor as a child of \a parent.
*/
QOrientationSensor::QOrientationSensor(QObject *parent)
- : QSensor(QOrientationSensor::type, parent)
+ : QSensor(QOrientationSensor::sensorType, parent)
{
}
@@ -201,6 +165,6 @@ QOrientationReading *QOrientationSensor::reading() const
return static_cast<QOrientationReading*>(QSensor::reading());
}
-#include "moc_qorientationsensor.cpp"
QT_END_NAMESPACE
+#include "moc_qorientationsensor.cpp"
diff --git a/src/sensors/qorientationsensor.h b/src/sensors/qorientationsensor.h
index 89823ca2..b9436822 100644
--- a/src/sensors/qorientationsensor.h
+++ b/src/sensors/qorientationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QORIENTATIONSENSOR_H
#define QORIENTATIONSENSOR_H
@@ -49,7 +13,6 @@ class QOrientationReadingPrivate;
class Q_SENSORS_EXPORT QOrientationReading : public QSensorReading
{
Q_OBJECT
- Q_ENUMS(Orientation)
Q_PROPERTY(Orientation orientation READ orientation)
DECLARE_READING(QOrientationReading)
public:
@@ -62,6 +25,7 @@ public:
FaceUp,
FaceDown
};
+ Q_ENUM(Orientation)
Orientation orientation() const;
void setOrientation(Orientation orientation);
@@ -79,10 +43,10 @@ class Q_SENSORS_EXPORT QOrientationSensor : public QSensor
{
Q_OBJECT
public:
- explicit QOrientationSensor(QObject *parent = Q_NULLPTR);
+ explicit QOrientationSensor(QObject *parent = nullptr);
virtual ~QOrientationSensor();
QOrientationReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QOrientationSensor)
@@ -91,4 +55,3 @@ private:
QT_END_NAMESPACE
#endif
-
diff --git a/src/sensors/qorientationsensor_p.h b/src/sensors/qorientationsensor_p.h
index 69b70157..4c39817c 100644
--- a/src/sensors/qorientationsensor_p.h
+++ b/src/sensors/qorientationsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QORIENTATIONSENSOR_P_H
#define QORIENTATIONSENSOR_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QOrientationReadingPrivate
diff --git a/src/sensors/qpressuresensor.cpp b/src/sensors/qpressuresensor.cpp
index 8877f8c5..393e861f 100644
--- a/src/sensors/qpressuresensor.cpp
+++ b/src/sensors/qpressuresensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include <qpressuresensor.h>
#include "qpressuresensor_p.h"
@@ -131,7 +95,7 @@ bool QPressureFilter::filter(QSensorReading *reading)
return filter(static_cast<QPressureReading*>(reading));
}
-char const * const QPressureSensor::type("QPressureSensor");
+char const * const QPressureSensor::sensorType("QPressureSensor");
/*!
\class QPressureSensor
@@ -154,7 +118,7 @@ char const * const QPressureSensor::type("QPressureSensor");
Construct the sensor as a child of \a parent.
*/
QPressureSensor::QPressureSensor(QObject *parent)
- : QSensor(QPressureSensor::type, parent)
+ : QSensor(QPressureSensor::sensorType, parent)
{
}
@@ -178,5 +142,6 @@ QPressureReading *QPressureSensor::reading() const
return static_cast<QPressureReading*>(QSensor::reading());
}
-#include "moc_qpressuresensor.cpp"
QT_END_NAMESPACE
+
+#include "moc_qpressuresensor.cpp"
diff --git a/src/sensors/qpressuresensor.h b/src/sensors/qpressuresensor.h
index 29ac235f..a3841b03 100644
--- a/src/sensors/qpressuresensor.h
+++ b/src/sensors/qpressuresensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPRESSURESENSOR_H
#define QPRESSURESENSOR_H
@@ -71,10 +35,10 @@ class Q_SENSORS_EXPORT QPressureSensor : public QSensor
{
Q_OBJECT
public:
- explicit QPressureSensor(QObject *parent = Q_NULLPTR);
+ explicit QPressureSensor(QObject *parent = nullptr);
~QPressureSensor();
QPressureReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QPressureSensor)
diff --git a/src/sensors/qpressuresensor_p.h b/src/sensors/qpressuresensor_p.h
index 2caa1338..668e3956 100644
--- a/src/sensors/qpressuresensor_p.h
+++ b/src/sensors/qpressuresensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPRESSURESENSOR_P_H
#define QPRESSURESENSOR_P_H
@@ -50,6 +14,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QPressureReadingPrivate
diff --git a/src/sensors/qproximitysensor.cpp b/src/sensors/qproximitysensor.cpp
index 53af4c40..73b609e3 100644
--- a/src/sensors/qproximitysensor.cpp
+++ b/src/sensors/qproximitysensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qproximitysensor.h"
#include "qproximitysensor_p.h"
@@ -110,7 +74,7 @@ bool QProximityFilter::filter(QSensorReading *reading)
return filter(static_cast<QProximityReading*>(reading));
}
-char const * const QProximitySensor::type("QProximitySensor");
+char const * const QProximitySensor::sensorType("QProximitySensor");
/*!
\class QProximitySensor
@@ -133,7 +97,7 @@ char const * const QProximitySensor::type("QProximitySensor");
Construct the sensor as a child of \a parent.
*/
QProximitySensor::QProximitySensor(QObject *parent)
- : QSensor(QProximitySensor::type, parent)
+ : QSensor(QProximitySensor::sensorType, parent)
{
}
@@ -157,6 +121,6 @@ QProximityReading *QProximitySensor::reading() const
return static_cast<QProximityReading*>(QSensor::reading());
}
-#include "moc_qproximitysensor.cpp"
QT_END_NAMESPACE
+#include "moc_qproximitysensor.cpp"
diff --git a/src/sensors/qproximitysensor.h b/src/sensors/qproximitysensor.h
index 46a8b218..5f7dc3c7 100644
--- a/src/sensors/qproximitysensor.h
+++ b/src/sensors/qproximitysensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPROXIMITYSENSOR_H
#define QPROXIMITYSENSOR_H
@@ -68,10 +32,10 @@ class Q_SENSORS_EXPORT QProximitySensor : public QSensor
{
Q_OBJECT
public:
- explicit QProximitySensor(QObject *parent = Q_NULLPTR);
+ explicit QProximitySensor(QObject *parent = nullptr);
virtual ~QProximitySensor();
QProximityReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
private:
Q_DISABLE_COPY(QProximitySensor)
diff --git a/src/sensors/qproximitysensor_p.h b/src/sensors/qproximitysensor_p.h
index 81f1604d..63dc5311 100644
--- a/src/sensors/qproximitysensor_p.h
+++ b/src/sensors/qproximitysensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QPROXIMITYSENSOR_P_H
#define QPROXIMITYSENSOR_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QProximityReadingPrivate
diff --git a/src/sensors/qrotationsensor.cpp b/src/sensors/qrotationsensor.cpp
index 6c9559ea..c1536def 100644
--- a/src/sensors/qrotationsensor.cpp
+++ b/src/sensors/qrotationsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qrotationsensor.h"
#include "qrotationsensor_p.h"
@@ -184,7 +148,7 @@ bool QRotationFilter::filter(QSensorReading *reading)
return filter(static_cast<QRotationReading*>(reading));
}
-char const * const QRotationSensor::type("QRotationSensor");
+char const * const QRotationSensor::sensorType("QRotationSensor");
/*!
\class QRotationSensor
@@ -207,7 +171,7 @@ char const * const QRotationSensor::type("QRotationSensor");
Construct the sensor as a child of \a parent.
*/
QRotationSensor::QRotationSensor(QObject *parent)
- : QSensor(QRotationSensor::type, *new QRotationSensorPrivate, parent)
+ : QSensor(QRotationSensor::sensorType, *new QRotationSensorPrivate, parent)
{
}
@@ -261,6 +225,6 @@ void QRotationSensor::setHasZ(bool hasZ)
}
}
-#include "moc_qrotationsensor.cpp"
QT_END_NAMESPACE
+#include "moc_qrotationsensor.cpp"
diff --git a/src/sensors/qrotationsensor.h b/src/sensors/qrotationsensor.h
index d6c43acc..be9ecb65 100644
--- a/src/sensors/qrotationsensor.h
+++ b/src/sensors/qrotationsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QROTATIONSENSOR_H
#define QROTATIONSENSOR_H
@@ -76,10 +40,10 @@ class Q_SENSORS_EXPORT QRotationSensor : public QSensor
Q_OBJECT
Q_PROPERTY(bool hasZ READ hasZ NOTIFY hasZChanged)
public:
- explicit QRotationSensor(QObject *parent = Q_NULLPTR);
+ explicit QRotationSensor(QObject *parent = nullptr);
virtual ~QRotationSensor();
QRotationReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
bool hasZ() const;
void setHasZ(bool hasZ);
diff --git a/src/sensors/qrotationsensor_p.h b/src/sensors/qrotationsensor_p.h
index d1f07669..cc6f8a9a 100644
--- a/src/sensors/qrotationsensor_p.h
+++ b/src/sensors/qrotationsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QROTATIONSENSOR_P_H
#define QROTATIONSENSOR_P_H
diff --git a/src/sensors/qsensor.cpp b/src/sensors/qsensor.cpp
index 8eab8872..72c58fe8 100644
--- a/src/sensors/qsensor.cpp
+++ b/src/sensors/qsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qsensor.h"
#include "qsensor_p.h"
@@ -280,7 +244,7 @@ void QSensorPrivate::init(const QByteArray &sensorType)
Only use this constructor if there is no derived sensor class available. Note that all
built-in sensors have a derived class, so using this constructor should only be necessary
- when implementing custom sensors, like in the \l {Qt Sensors - Grue Sensor Example}{Grue sensor example}.
+ when implementing custom sensors.
*/
QSensor::QSensor(const QByteArray &type, QObject *parent)
: QObject(*new QSensorPrivate, parent)
@@ -313,7 +277,7 @@ QSensor::~QSensor()
{
Q_D(QSensor);
stop();
- Q_FOREACH (QSensorFilter *filter, d->filters)
+ for (QSensorFilter *filter : d->filters)
filter->setSensor(0);
delete d->backend;
d->backend = 0;
@@ -364,7 +328,10 @@ void QSensor::setIdentifier(const QByteArray &identifier)
qWarning() << "ERROR: Cannot call QSensor::setIdentifier while connected to a backend!";
return;
}
+ if (d->identifier == identifier)
+ return;
d->identifier = identifier;
+ emit identifierChanged();
}
/*!
@@ -560,9 +527,6 @@ void QSensor::setSkipDuplicates(bool skipDuplicates)
continuous range of rates.
A discrete rate is noted by having both values the same.
- See the sensor_explorer example for an example of how to interpret and use
- this information.
-
Note that this information is not mandatory as not all sensors have a rate at which
they run. In such cases, the list will be empty.
@@ -847,7 +811,7 @@ void QSensor::setOutputRange(int index)
return;
}
bool warn = true;
- if (index >= 0 && index < d->outputRanges.count()) {
+ if (index >= 0 && index < d->outputRanges.size()) {
warn = false;
d->outputRange = index;
}
@@ -1362,7 +1326,7 @@ void QSensorReading::copyValuesFrom(QSensorReading *other)
\code
class MyReading : public QSensorReading
{
- Q_OBJECT
+ \Q_OBJECT
Q_PROPERTY(qreal myprop READ myprop)
DECLARE_READING(MyReading)
public:
@@ -1389,6 +1353,4 @@ void QSensorReading::copyValuesFrom(QSensorReading *other)
\sa DECLARE_READING()
*/
-#include "moc_qsensor.cpp"
QT_END_NAMESPACE
-
diff --git a/src/sensors/qsensor.h b/src/sensors/qsensor.h
index 7dd7ea19..d6ba3311 100644
--- a/src/sensors/qsensor.h
+++ b/src/sensors/qsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSOR_H
#define QSENSOR_H
@@ -56,33 +20,29 @@ class QSensorReading;
class QSensorReadingPrivate;
class QSensorFilter;
-// This type is no longer used in the API but third party apps may be using it
-typedef quint64 qtimestamp;
+using qrange = QPair<int,int>;
+using qrangelist = QList<qrange>;
-typedef QPair<int,int> qrange;
-typedef QList<qrange> qrangelist;
struct qoutputrange
{
qreal minimum;
qreal maximum;
qreal accuracy;
};
-typedef QList<qoutputrange> qoutputrangelist;
+
+using qoutputrangelist = QList<qoutputrange>;
class Q_SENSORS_EXPORT QSensor : public QObject
{
friend class QSensorBackend;
-
Q_OBJECT
- Q_ENUMS(Feature)
- Q_ENUMS(AxesOrientationMode)
- Q_PROPERTY(QByteArray identifier READ identifier WRITE setIdentifier)
- Q_PROPERTY(QByteArray type READ type)
+ Q_PROPERTY(QByteArray identifier READ identifier WRITE setIdentifier NOTIFY identifierChanged)
+ Q_PROPERTY(QByteArray type READ type CONSTANT)
Q_PROPERTY(bool connectedToBackend READ isConnectedToBackend)
Q_PROPERTY(qrangelist availableDataRates READ availableDataRates)
Q_PROPERTY(int dataRate READ dataRate WRITE setDataRate NOTIFY dataRateChanged)
Q_PROPERTY(QSensorReading* reading READ reading NOTIFY readingChanged)
- Q_PROPERTY(bool busy READ isBusy)
+ Q_PROPERTY(bool busy READ isBusy NOTIFY busyChanged)
Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged)
Q_PROPERTY(qoutputrangelist outputRanges READ outputRanges)
Q_PROPERTY(int outputRange READ outputRange WRITE setOutputRange)
@@ -108,6 +68,7 @@ public:
PressureSensorTemperature,
Reserved = 257 // Make sure at least 2 bytes are used for the enum to avoid breaking BC later
};
+ Q_ENUM(Feature)
// Keep in sync with QmlSensor::AxesOrientationMode
enum AxesOrientationMode {
@@ -115,8 +76,9 @@ public:
AutomaticOrientation,
UserOrientation
};
+ Q_ENUM(AxesOrientationMode)
- explicit QSensor(const QByteArray &type, QObject *parent = Q_NULLPTR);
+ explicit QSensor(const QByteArray &type, QObject *parent = nullptr);
virtual ~QSensor();
QByteArray identifier() const;
@@ -205,9 +167,10 @@ Q_SIGNALS:
void maxBufferSizeChanged(int maxBufferSize);
void efficientBufferSizeChanged(int efficientBufferSize);
void bufferSizeChanged(int bufferSize);
+ void identifierChanged();
protected:
- explicit QSensor(const QByteArray &type, QSensorPrivate &dd, QObject* parent = Q_NULLPTR);
+ explicit QSensor(const QByteArray &type, QSensorPrivate &dd, QObject* parent = nullptr);
QSensorBackend *backend() const;
private:
@@ -261,7 +224,7 @@ private:
#define DECLARE_READING_D(classname, pclassname)\
public:\
- classname(QObject *parent = Q_NULLPTR);\
+ classname(QObject *parent = nullptr);\
virtual ~classname();\
void copyValuesFrom(QSensorReading *other) override;\
private:\
@@ -272,7 +235,7 @@ private:
#define IMPLEMENT_READING_D(classname, pclassname)\
classname::classname(QObject *parent)\
- : QSensorReading(parent, Q_NULLPTR)\
+ : QSensorReading(parent, nullptr)\
, d(new pclassname)\
{}\
classname::~classname() {}\
@@ -296,4 +259,3 @@ Q_DECLARE_METATYPE(qrangelist)
Q_DECLARE_METATYPE(qoutputrangelist)
#endif
-
diff --git a/src/sensors/qsensor_p.h b/src/sensors/qsensor_p.h
index f3e41e4d..1b547fa1 100644
--- a/src/sensors/qsensor_p.h
+++ b/src/sensors/qsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSOR_P_H
#define QSENSOR_P_H
@@ -77,7 +41,7 @@ public:
, error(0)
, alwaysOn(false)
, skipDuplicates(false)
- , axesOrientationMode(QSensor::FixedOrientation)
+ , axesOrientationMode(QSensor::AxesOrientationMode::FixedOrientation)
, currentOrientation(0)
, userOrientation(0)
, bufferSize(1)
diff --git a/src/sensors/qsensorbackend.cpp b/src/sensors/qsensorbackend.cpp
index bb1a8855..beb56cf4 100644
--- a/src/sensors/qsensorbackend.cpp
+++ b/src/sensors/qsensorbackend.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qsensorbackend.h"
#include "qsensorbackend_p.h"
@@ -318,21 +282,27 @@ void QSensorBackend::sensorStopped()
}
/*!
- Inform the front end that the sensor is busy.
- This implicitly calls sensorStopped() and
- is typically called from start().
+ Inform the front end of the sensor's busy state according
+ to the provided \a busy parameter.
+
+ If the sensor is set \e busy this implicitly calls sensorStopped().
+ Busy indication is typically done in start().
Note that the front end must call QSensor::isBusy() to see if
the sensor is busy. If the sensor has stopped due to an error
the sensorError() function should be called to notify the class
of the error condition.
*/
-void QSensorBackend::sensorBusy()
+void QSensorBackend::sensorBusy(bool busy)
{
Q_D(QSensorBackend);
QSensorPrivate *sensorPrivate = d->m_sensor->d_func();
- sensorPrivate->active = false;
- sensorPrivate->busy = true;
+ if (sensorPrivate->busy == busy)
+ return;
+ if (busy)
+ sensorPrivate->active = false;
+ sensorPrivate->busy = busy;
+ emit d->m_sensor->busyChanged();
}
/*!
@@ -350,6 +320,6 @@ void QSensorBackend::sensorError(int error)
Q_EMIT d->m_sensor->sensorError(error);
}
-#include "moc_qsensorbackend.cpp"
QT_END_NAMESPACE
+#include "moc_qsensorbackend.cpp"
diff --git a/src/sensors/qsensorbackend.h b/src/sensors/qsensorbackend.h
index 3837c143..e890aec3 100644
--- a/src/sensors/qsensorbackend.h
+++ b/src/sensors/qsensorbackend.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSORBACKEND_H
#define QSENSORBACKEND_H
@@ -51,7 +15,7 @@ class Q_SENSORS_EXPORT QSensorBackend : public QObject
{
Q_OBJECT
public:
- explicit QSensorBackend(QSensor *sensor, QObject *parent = Q_NULLPTR);
+ explicit QSensorBackend(QSensor *sensor, QObject *parent = nullptr);
virtual ~QSensorBackend();
virtual void start() = 0;
@@ -80,7 +44,7 @@ public:
// used by the backend to inform us of events
void newReadingAvailable();
void sensorStopped();
- void sensorBusy();
+ void sensorBusy(bool busy = true);
void sensorError(int error);
private:
diff --git a/src/sensors/qsensorbackend_p.h b/src/sensors/qsensorbackend_p.h
index 15835102..5d7ef2d2 100644
--- a/src/sensors/qsensorbackend_p.h
+++ b/src/sensors/qsensorbackend_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 Research In Motion
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSORBACKEND_P_H
#define QSENSORBACKEND_P_H
diff --git a/src/sensors/qsensormanager.cpp b/src/sensors/qsensormanager.cpp
index 425a87b9..8ce509f4 100644
--- a/src/sensors/qsensormanager.cpp
+++ b/src/sensors/qsensormanager.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qsensormanager.h"
#include <QDebug>
@@ -53,7 +17,7 @@ QT_BEGIN_NAMESPACE
typedef QHash<QByteArray,QSensorBackendFactory*> FactoryForIdentifierMap;
typedef QHash<QByteArray,FactoryForIdentifierMap> BackendIdentifiersForTypeMap;
-static QLoggingCategory sensorsCategory("qt.sensors");
+Q_LOGGING_CATEGORY(lcSensorManager, "qt.sensors");
class QSensorManagerPrivate : public QObject
{
@@ -96,19 +60,21 @@ public:
QString config = QString::fromLocal8Bit(QTSENSORS_CONFIG_PATH);
#else
QStringList configs = QStandardPaths::standardLocations(QStandardPaths::ConfigLocation);
- if (configs.count() == 0) return; // QStandardPaths is broken?
- QString config = configs.at(configs.count()-1);
- if (config.isEmpty()) return; // QStandardPaths is broken?
- config += QLatin1String("/QtProject/Sensors.conf");
+ QString config;
+ for (const QString& c : configs) {
+ config = c + QLatin1String("/QtProject/Sensors.conf");
+ if (QFile::exists(config))
+ break;
+ }
#endif
- qCDebug(sensorsCategory) << "Loading config from" << config;
+ qCDebug(lcSensorManager) << "Loading config from" << config;
if (!QFile::exists(config)) {
- qCDebug(sensorsCategory) << "There is no config file" << config;
+ qCDebug(lcSensorManager) << "There is no config file" << config;
return;
}
QFile cfgfile(config);
if (!cfgfile.open(QFile::ReadOnly)) {
- qCWarning(sensorsCategory) << "Can't open config file" << config;
+ qCWarning(lcSensorManager) << "Can't open config file" << config;
return;
}
@@ -121,9 +87,9 @@ public:
isconfig = true;
else if (isconfig) {
//read out setting line
- line.remove(' ');
- QStringList pair = line.split('=');
- if (pair.count() == 2)
+ line.remove(QLatin1String(" "));
+ QStringList pair = line.split(QStringLiteral("="));
+ if (pair.size() == 2)
defaultIdentifierForType.insert(pair[0].toLatin1(), pair[1].toLatin1());
}
}
@@ -159,9 +125,8 @@ public Q_SLOTS:
// until things stop changing.
do {
sensorsChanged = false;
- Q_FOREACH (QSensorChangesInterface *changes, changeListeners) {
+ for (QSensorChangesInterface *changes : changeListeners)
changes->sensorsChanged();
- }
} while (sensorsChanged);
// We're going away now so clear the flag
@@ -176,9 +141,9 @@ Q_GLOBAL_STATIC(QSensorManagerPrivate, sensorManagerPrivate)
static void initPlugin(QObject *o, bool warnOnFail = true)
{
- qCDebug(sensorsCategory) << "Init plugin" << o;
+ qCDebug(lcSensorManager) << "Init plugin" << o;
if (!o) {
- qCWarning(sensorsCategory) << "Null plugin" << o;
+ qCWarning(lcSensorManager) << "Null plugin" << o;
return;
}
@@ -186,7 +151,7 @@ static void initPlugin(QObject *o, bool warnOnFail = true)
if (!d) return; // hardly likely but just in case...
if (d->seenPlugins.contains(o)) {
- qCDebug(sensorsCategory) << "Plugin is seen" << o;
+ qCDebug(lcSensorManager) << "Plugin is seen" << o;
return;
}
@@ -197,11 +162,11 @@ static void initPlugin(QObject *o, bool warnOnFail = true)
QSensorPluginInterface *plugin = qobject_cast<QSensorPluginInterface*>(o);
if (plugin) {
- qCDebug(sensorsCategory) << "Register sensors for " << plugin;
+ qCDebug(lcSensorManager) << "Register sensors for " << plugin;
d->seenPlugins.insert(o);
plugin->registerSensors();
} else if (warnOnFail) {
- qCWarning(sensorsCategory) << "Can't cast to plugin" << o;
+ qCWarning(lcSensorManager) << "Can't cast to plugin" << o;
}
}
@@ -213,14 +178,12 @@ void QSensorManagerPrivate::loadPlugins()
SENSORLOG() << "initializing static plugins";
// Qt-style static plugins
- Q_FOREACH (QObject *plugin, QPluginLoader::staticInstances()) {
- initPlugin(plugin, false/*do not warn on fail*/);
- }
-
+ for (QObject *plugin : QPluginLoader::staticInstances())
+ initPlugin(plugin, false /*do not warn on fail*/);
if (d->loadExternalPlugins) {
SENSORLOG() << "initializing plugins";
- QList<QJsonObject> meta = d->loader->metaData();
- for (int i = 0; i < meta.count(); i++) {
+ QList<QPluginParsedMetaData> meta = d->loader->metaData();
+ for (qsizetype i = 0; i < meta.size(); i++) {
QObject *plugin = d->loader->instance(i);
initPlugin(plugin);
}
@@ -253,19 +216,23 @@ void QSensorManagerPrivate::loadPlugins()
Register a sensor for \a type. The \a identifier must be unique.
The \a factory will be asked to create instances of the backend.
+
+ Sensor identifiers starting with \c generic or \c dummy are given lower
+ priority when choosing the default sensor if other sensors are found.
*/
void QSensorManager::registerBackend(const QByteArray &type, const QByteArray &identifier, QSensorBackendFactory *factory)
{
- Q_ASSERT(type.count());
- Q_ASSERT(identifier.count());
+ Q_ASSERT(type.size());
+ Q_ASSERT(identifier.size());
Q_ASSERT(factory);
QSensorManagerPrivate *d = sensorManagerPrivate();
if (!d) return; // hardly likely but just in case...
if (!d->backendsByType.contains(type)) {
(void)d->backendsByType[type];
d->firstIdentifierForType[type] = identifier;
- } else if (d->firstIdentifierForType[type].startsWith("generic.")) {
- // Don't let a generic backend be the default when some other backend exists!
+ } else if (d->firstIdentifierForType[type].startsWith("generic.") ||
+ d->firstIdentifierForType[type].startsWith("dummy.")) {
+ // Don't let a generic or dummy backend be the default when some other backend exists!
d->firstIdentifierForType[type] = identifier;
}
FactoryForIdentifierMap &factoryByIdentifier = d->backendsByType[type];
@@ -304,7 +271,7 @@ void QSensorManager::unregisterBackend(const QByteArray &type, const QByteArray
(void)factoryByIdentifier.take(identifier); // we don't own this pointer anyway
if (d->firstIdentifierForType[type] == identifier) {
- if (factoryByIdentifier.count()) {
+ if (factoryByIdentifier.size()) {
d->firstIdentifierForType[type] = factoryByIdentifier.begin().key();
if (d->firstIdentifierForType[type].startsWith("generic.")) {
// Don't let a generic backend be the default when some other backend exists!
@@ -320,7 +287,7 @@ void QSensorManager::unregisterBackend(const QByteArray &type, const QByteArray
(void)d->firstIdentifierForType.take(type);
}
}
- if (!factoryByIdentifier.count())
+ if (!factoryByIdentifier.size())
(void)d->backendsByType.take(type);
// Notify the app that the available sensor list has changed.
@@ -361,7 +328,7 @@ QSensorBackend *QSensorManager::createBackend(QSensor *sensor)
if (backend) return backend; // Got it!
// The default failed to instantiate so try any other registered sensors for this type
- Q_FOREACH (const QByteArray &identifier, factoryByIdentifier.keys()) {
+ for (const QByteArray &identifier : factoryByIdentifier.keys()) {
SENSORLOG() << "Trying" << identifier;
if (identifier == defaultIdentifier) continue; // Don't do the default one again
factory = factoryByIdentifier[identifier];
diff --git a/src/sensors/qsensormanager.h b/src/sensors/qsensormanager.h
index 375c9ef1..5957ee7a 100644
--- a/src/sensors/qsensormanager.h
+++ b/src/sensors/qsensormanager.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSORMANAGER_H
#define QSENSORMANAGER_H
diff --git a/src/sensors/qsensorplugin.cpp b/src/sensors/qsensorplugin.cpp
index 186539b7..bb85d574 100644
--- a/src/sensors/qsensorplugin.cpp
+++ b/src/sensors/qsensorplugin.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qsensorplugin.h"
diff --git a/src/sensors/qsensorplugin.h b/src/sensors/qsensorplugin.h
index fc3a44d7..3c8f4847 100644
--- a/src/sensors/qsensorplugin.h
+++ b/src/sensors/qsensorplugin.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSORPLUGIN_H
#define QSENSORPLUGIN_H
diff --git a/src/sensors/qsensorsglobal.h b/src/sensors/qsensorsglobal.h
index 70985c27..4a6a130c 100644
--- a/src/sensors/qsensorsglobal.h
+++ b/src/sensors/qsensorsglobal.h
@@ -1,60 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSORSGLOBAL_H
#define QSENSORSGLOBAL_H
#include <QtCore/qglobal.h>
-
-QT_BEGIN_NAMESPACE
-
-#ifndef QT_STATIC
-# if defined(QT_BUILD_SENSORS_LIB)
-# define Q_SENSORS_EXPORT Q_DECL_EXPORT
-# else
-# define Q_SENSORS_EXPORT Q_DECL_IMPORT
-# endif
-#else
-# define Q_SENSORS_EXPORT
-#endif
-
-QT_END_NAMESPACE
+#include <QtSensors/qtsensorsexports.h>
#endif // QSENSORSGLOBAL_H
diff --git a/src/sensors/qt_cmdline.cmake b/src/sensors/qt_cmdline.cmake
new file mode 100644
index 00000000..e69de29b
--- /dev/null
+++ b/src/sensors/qt_cmdline.cmake
diff --git a/src/sensors/qtapsensor.cpp b/src/sensors/qtapsensor.cpp
index b26e596f..378f0e39 100644
--- a/src/sensors/qtapsensor.cpp
+++ b/src/sensors/qtapsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qtapsensor.h"
#include "qtapsensor_p.h"
@@ -49,6 +13,7 @@ IMPLEMENT_READING(QTapReading)
\ingroup sensors_reading
\inmodule QtSensors
\since 5.1
+ \internal
\brief The QTapReading class represents one reading from the
tap sensor.
@@ -83,11 +48,17 @@ IMPLEMENT_READING(QTapReading)
the detected axis. Previous versions of the API did not allow this. Applications that check
for the _Pos and _Neg flags as values should be updated so they can work with all devices.
- \oldcode
+ For example, if you have code like
+
+ \code
if (reading->tapDirection() == QTapReading::X_Pos) {
...
}
- \newcode
+ \endcode
+
+ you can rewrite it as
+
+ \code
if (reading->tapDirection()&QTapReading::X_Pos) {
...
}
@@ -174,6 +145,7 @@ void QTapReading::setDoubleTap(bool doubleTap)
\ingroup sensors_filter
\inmodule QtSensors
\since 5.1
+ \internal
\brief The QTapFilter class is a convenience wrapper around QSensorFilter.
@@ -194,13 +166,14 @@ bool QTapFilter::filter(QSensorReading *reading)
return filter(static_cast<QTapReading*>(reading));
}
-char const * const QTapSensor::type("QTapSensor");
+char const * const QTapSensor::sensorType("QTapSensor");
/*!
\class QTapSensor
\ingroup sensors_type
\inmodule QtSensors
\since 5.1
+ \internal
\brief The QTapSensor class is a convenience wrapper around QSensor.
@@ -217,7 +190,7 @@ char const * const QTapSensor::type("QTapSensor");
Construct the sensor as a child of \a parent.
*/
QTapSensor::QTapSensor(QObject *parent)
- : QSensor(QTapSensor::type, *new QTapSensorPrivate, parent)
+ : QSensor(QTapSensor::sensorType, *new QTapSensorPrivate, parent)
{
}
@@ -269,6 +242,6 @@ void QTapSensor::setReturnDoubleTapEvents(bool returnDoubleTapEvents)
}
}
-#include "moc_qtapsensor.cpp"
QT_END_NAMESPACE
+#include "moc_qtapsensor.cpp"
diff --git a/src/sensors/qtapsensor.h b/src/sensors/qtapsensor.h
index 31ba67f6..6a76c311 100644
--- a/src/sensors/qtapsensor.h
+++ b/src/sensors/qtapsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QTAPSENSOR_H
#define QTAPSENSOR_H
@@ -49,7 +13,6 @@ class QTapReadingPrivate;
class Q_SENSORS_EXPORT QTapReading : public QSensorReading
{
Q_OBJECT
- Q_ENUMS(TapDirection)
Q_PROPERTY(TapDirection tapDirection READ tapDirection)
Q_PROPERTY(bool doubleTap READ isDoubleTap)
DECLARE_READING(QTapReading)
@@ -69,6 +32,7 @@ public:
Y_Both = 0x0222,
Z_Both = 0x0444
};
+ Q_ENUM(TapDirection)
TapDirection tapDirection() const;
void setTapDirection(TapDirection tapDirection);
@@ -93,10 +57,10 @@ class Q_SENSORS_EXPORT QTapSensor : public QSensor
Q_PROPERTY(bool returnDoubleTapEvents READ returnDoubleTapEvents WRITE setReturnDoubleTapEvents
NOTIFY returnDoubleTapEventsChanged)
public:
- explicit QTapSensor(QObject *parent = Q_NULLPTR);
+ explicit QTapSensor(QObject *parent = nullptr);
virtual ~QTapSensor();
QTapReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
bool returnDoubleTapEvents() const;
void setReturnDoubleTapEvents(bool returnDoubleTapEvents);
@@ -112,4 +76,3 @@ private:
QT_END_NAMESPACE
#endif
-
diff --git a/src/sensors/qtapsensor_p.h b/src/sensors/qtapsensor_p.h
index abfb134a..4a9a37f5 100644
--- a/src/sensors/qtapsensor_p.h
+++ b/src/sensors/qtapsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QTAPSENSOR_P_H
#define QTAPSENSOR_P_H
diff --git a/src/sensors/qtiltsensor.cpp b/src/sensors/qtiltsensor.cpp
index d904527c..bda3c0a5 100644
--- a/src/sensors/qtiltsensor.cpp
+++ b/src/sensors/qtiltsensor.cpp
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#include "qtiltsensor.h"
#include "qtiltsensor_p.h"
@@ -63,7 +27,8 @@ IMPLEMENT_READING(QTiltReading)
/*!
\property QTiltReading::yRotation
- \brief This property holds the amount of tilt on the Y axis.
+ \brief This property holds the amount of tilt on the Y axis,
+ measured in degrees.
*/
qreal QTiltReading::yRotation() const
{
@@ -71,7 +36,7 @@ qreal QTiltReading::yRotation() const
}
/*!
- Sets yRotation to \a y.
+ Sets yRotation to \a y degrees.
*/
void QTiltReading::setYRotation(qreal y)
{
@@ -80,7 +45,8 @@ void QTiltReading::setYRotation(qreal y)
/*!
\property QTiltReading::xRotation
- \brief This property holds the amount of tilt on the X axis.
+ \brief This property holds the amount of tilt on the X axis,
+ measured in degrees.
*/
qreal QTiltReading::xRotation() const
@@ -89,7 +55,7 @@ qreal QTiltReading::xRotation() const
}
/*!
- Sets xRotation to \a x.
+ Sets xRotation to \a x degrees.
*/
void QTiltReading::setXRotation(qreal x)
{
@@ -123,7 +89,7 @@ bool QTiltFilter::filter(QSensorReading *reading)
return filter(static_cast<QTiltReading*>(reading));
}
-char const * const QTiltSensor::type("QTiltSensor");
+char const * const QTiltSensor::sensorType("QTiltSensor");
/*!
\class QTiltSensor
@@ -133,7 +99,7 @@ char const * const QTiltSensor::type("QTiltSensor");
\brief The QTiltSensor class is a convenience wrapper around QSensor.
- The only behavioural difference is that this class sets the type properly.QMetaObject::invokeMethod(backend(), "calibrate");
+ The only behavioural difference is that this class sets the type properly.
This class also features a reading() function that returns a QTiltReading instead of a QSensorReading.
@@ -148,7 +114,7 @@ char const * const QTiltSensor::type("QTiltSensor");
Construct the sensor as a child of \a parent.
*/
QTiltSensor::QTiltSensor(QObject *parent)
- : QSensor(QTiltSensor::type, parent)
+ : QSensor(QTiltSensor::sensorType, parent)
{
}
@@ -174,12 +140,13 @@ QTiltReading *QTiltSensor::reading() const
}
/*!
- Calibrates the tilt sensor. Uses the current tilt angles as 0.
+ Calibrates the tilt sensor. Uses the current tilt angles as 0 degrees.
*/
void QTiltSensor::calibrate()
{
QMetaObject::invokeMethod(backend(), "calibrate", Qt::DirectConnection);
}
-#include "moc_qtiltsensor.cpp"
QT_END_NAMESPACE
+
+#include "moc_qtiltsensor.cpp"
diff --git a/src/sensors/qtiltsensor.h b/src/sensors/qtiltsensor.h
index 2e0d0a78..50584199 100644
--- a/src/sensors/qtiltsensor.h
+++ b/src/sensors/qtiltsensor.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QTILTSENSOR_H
#define QTILTSENSOR_H
@@ -74,10 +38,10 @@ class Q_SENSORS_EXPORT QTiltSensor : public QSensor
{
Q_OBJECT
public:
- explicit QTiltSensor(QObject *parent = Q_NULLPTR);
+ explicit QTiltSensor(QObject *parent = nullptr);
~QTiltSensor();
QTiltReading *reading() const;
- static char const * const type;
+ static char const * const sensorType;
Q_INVOKABLE void calibrate();
diff --git a/src/sensors/qtiltsensor_p.h b/src/sensors/qtiltsensor_p.h
index b6a49b00..838c6042 100644
--- a/src/sensors/qtiltsensor_p.h
+++ b/src/sensors/qtiltsensor_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QTILTSENSOR_P_H
#define QTILTSENSOR_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
class QTiltReadingPrivate
diff --git a/src/sensors/sensorlog_p.h b/src/sensors/sensorlog_p.h
index 49e73166..ae3956cb 100644
--- a/src/sensors/sensorlog_p.h
+++ b/src/sensors/sensorlog_p.h
@@ -1,41 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
#ifndef QSENSORLOG_P_H
#define QSENSORLOG_P_H
@@ -51,6 +15,8 @@
// We mean it.
//
+#include <QtCore/private/qglobal_p.h>
+
QT_BEGIN_NAMESPACE
#ifdef ENABLE_RUNTIME_SENSORLOG
diff --git a/src/sensors/sensors.pro b/src/sensors/sensors.pro
deleted file mode 100644
index c4035038..00000000
--- a/src/sensors/sensors.pro
+++ /dev/null
@@ -1,87 +0,0 @@
-TARGET = QtSensors
-CONFIG += strict_flags
-QT = core-private
-
-CONFIG(debug,debug|release):DEFINES += ENABLE_RUNTIME_SENSORLOG
-!isEmpty(SENSORS_CONFIG_PATH):DEFINES += "QTSENSORS_CONFIG_PATH=\\\"$$SENSORS_CONFIG_PATH\\\""
-
-qtHaveModule(simulator) {
- DEFINES += SIMULATOR_BUILD
- QT_FOR_PRIVATE += simulator
-}
-
-QMAKE_DOCS = $$PWD/doc/qtsensors.qdocconf
-
-ANDROID_LIB_DEPENDENCIES = \
- plugins/sensors/libqtsensors_android.so
-
-PUBLIC_HEADERS += \
- qsensorbackend.h\
- qsensormanager.h\
- qsensorplugin.h\
- qsensorsglobal.h
-
-PRIVATE_HEADERS += \
- sensorlog_p.h\
-
-SOURCES += qsensorbackend.cpp\
- qsensormanager.cpp\
- qsensorplugin.cpp
-
-SOURCES += \
- gestures/qsensorgesture.cpp \
- gestures/qsensorgesturerecognizer.cpp \
- gestures/qsensorgesturemanager.cpp \
- gestures/qsensorgesturemanagerprivate.cpp \
- gestures/qsensorgestureplugininterface.cpp
-
-GESTURE_HEADERS += \
- gestures/qsensorgesture.h\
- gestures/qsensorgesture_p.h\
- gestures/qsensorgesturerecognizer.h \
- gestures/qsensorgesturemanager.h \
- gestures/qsensorgesturemanagerprivate_p.h \
- gestures/qsensorgestureplugininterface.h
-
-qtHaveModule(simulator) {
- SOURCES += gestures/simulatorgesturescommon.cpp
- GESTURE_HEADERS += gestures/simulatorgesturescommon_p.h
-}
-
-# 3 files per sensor (including QSensor)
-SENSORS=\
- qsensor\
- qaccelerometer\
- qaltimeter\
- qambientlightsensor\
- qambienttemperaturesensor\
- qcompass\
- qdistancesensor\
- qholstersensor\
- qlightsensor\
- qmagnetometer\
- qorientationsensor\
- qproximitysensor\
- qirproximitysensor\
- qrotationsensor\
- qtapsensor\
- qtiltsensor\
- qgyroscope\
- qpressuresensor \
- qhumiditysensor \
- qlidsensor
-
-for(s,SENSORS) {
- # Client API
- PUBLIC_HEADERS += $${s}.h
- SOURCES += $${s}.cpp
- # Private header
- PRIVATE_HEADERS += $${s}_p.h
-}
-
-HEADERS += $$PUBLIC_HEADERS $$PRIVATE_HEADERS $$GESTURE_HEADERS
-
-MODULE_PLUGIN_TYPES = \
- sensors \
- sensorgestures
-load(qt_module)
diff --git a/src/sensorsquick/CMakeLists.txt b/src/sensorsquick/CMakeLists.txt
new file mode 100644
index 00000000..b8ae9f57
--- /dev/null
+++ b/src/sensorsquick/CMakeLists.txt
@@ -0,0 +1,39 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+qt_internal_add_qml_module(SensorsQuick
+ URI "QtSensors"
+ VERSION "${PROJECT_VERSION}"
+ SOURCES
+ qmlaccelerometer.cpp qmlaccelerometer_p.h
+ qmlambientlightsensor.cpp qmlambientlightsensor_p.h
+ qmlambienttemperaturesensor.cpp qmlambienttemperaturesensor_p.h
+ qmlcompass.cpp qmlcompass_p.h
+ qmlgyroscope.cpp qmlgyroscope_p.h
+ qmlhumiditysensor.cpp qmlhumiditysensor_p.h
+ qmlirproximitysensor.cpp qmlirproximitysensor_p.h
+ qmllidsensor.cpp qmllidsensor_p.h
+ qmllightsensor.cpp qmllightsensor_p.h
+ qmlmagnetometer.cpp qmlmagnetometer_p.h
+ qmlorientationsensor.cpp qmlorientationsensor_p.h
+ qmlpressuresensor.cpp qmlpressuresensor_p.h
+ qmlproximitysensor.cpp qmlproximitysensor_p.h
+ qmlrotationsensor.cpp qmlrotationsensor_p.h
+ qmlsensor.cpp qmlsensor_p.h
+ qmlsensorglobal.cpp qmlsensorglobal_p.h
+ qmlsensorrange.cpp qmlsensorrange_p.h
+ qmltapsensor.cpp qmltapsensor_p.h
+ qmltiltsensor.cpp qmltiltsensor_p.h
+ qsensorsquickglobal_p.h
+ DEFINES
+ QT_BUILD_SENSORSQUICK_LIB
+ DEPENDENCIES
+ QtQml
+ PUBLIC_LIBRARIES
+ Qt::Core
+ Qt::Qml
+ Qt::Sensors
+ LIBRARIES
+ Qt::CorePrivate
+ GENERATE_CPP_EXPORTS
+)
diff --git a/src/imports/sensors/qmlaccelerometer.cpp b/src/sensorsquick/qmlaccelerometer.cpp
index 8d78fbfc..70394043 100644
--- a/src/imports/sensors/qmlaccelerometer.cpp
+++ b/src/sensorsquick/qmlaccelerometer.cpp
@@ -1,48 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlaccelerometer.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlaccelerometer_p.h"
#include <QtSensors/QAccelerometer>
/*!
\qmltype Accelerometer
- \instantiates QmlAccelerometer
+//! \instantiates QmlAccelerometer
\ingroup qml-sensors_type
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -102,7 +66,7 @@ QSensor *QmlAccelerometer::sensor() const
/*!
\qmltype AccelerometerReading
- \instantiates QmlAccelerometerReading
+//! \instantiates QmlAccelerometerReading
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -118,8 +82,7 @@ QSensor *QmlAccelerometer::sensor() const
*/
QmlAccelerometerReading::QmlAccelerometerReading(QAccelerometer *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
+ : m_sensor(sensor)
{
}
@@ -139,6 +102,11 @@ qreal QmlAccelerometerReading::x() const
return m_x;
}
+QBindable<qreal> QmlAccelerometerReading::bindableX() const
+{
+ return &m_x;
+}
+
/*!
\qmlproperty qreal AccelerometerReading::y
This property holds the acceleration on the Y axis.
@@ -151,6 +119,11 @@ qreal QmlAccelerometerReading::y() const
return m_y;
}
+QBindable<qreal> QmlAccelerometerReading::bindableY() const
+{
+ return &m_y;
+}
+
/*!
\qmlproperty qreal AccelerometerReading::z
This property holds the acceleration on the Z axis.
@@ -163,6 +136,11 @@ qreal QmlAccelerometerReading::z() const
return m_z;
}
+QBindable<qreal> QmlAccelerometerReading::bindableZ() const
+{
+ return &m_z;
+}
+
QSensorReading *QmlAccelerometerReading::reading() const
{
return m_sensor->reading();
@@ -170,19 +148,7 @@ QSensorReading *QmlAccelerometerReading::reading() const
void QmlAccelerometerReading::readingUpdate()
{
- qreal aX = m_sensor->reading()->x();
- if (m_x != aX) {
- m_x = aX;
- Q_EMIT xChanged();
- }
- qreal aY = m_sensor->reading()->y();
- if (m_y != aY) {
- m_y = aY;
- Q_EMIT yChanged();
- }
- qreal aZ = m_sensor->reading()->z();
- if (m_z != aZ) {
- m_z = aZ;
- Q_EMIT zChanged();
- }
+ m_x = m_sensor->reading()->x();
+ m_y = m_sensor->reading()->y();
+ m_z = m_sensor->reading()->z();
}
diff --git a/src/sensorsquick/qmlaccelerometer_p.h b/src/sensorsquick/qmlaccelerometer_p.h
new file mode 100644
index 00000000..aae90879
--- /dev/null
+++ b/src/sensorsquick/qmlaccelerometer_p.h
@@ -0,0 +1,94 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLACCELEROMETER_P_H
+#define QMLACCELEROMETER_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QAccelerometer;
+
+class Q_SENSORSQUICK_EXPORT QmlAccelerometer : public QmlSensor
+{
+ Q_OBJECT
+ Q_PROPERTY(AccelerationMode accelerationMode READ accelerationMode WRITE setAccelerationMode
+ NOTIFY accelerationModeChanged REVISION 1)
+ QML_NAMED_ELEMENT(Accelerometer)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlAccelerometer(QObject *parent = 0);
+ ~QmlAccelerometer();
+
+ // Keep this enum in sync with QAccelerometer::AccelerationMode
+ enum AccelerationMode {
+ Combined,
+ Gravity,
+ User
+ };
+ Q_ENUM(AccelerationMode)
+
+ AccelerationMode accelerationMode() const;
+ void setAccelerationMode(AccelerationMode accelerationMode);
+
+ QSensor *sensor() const override;
+
+signals:
+ Q_REVISION(1) void accelerationModeChanged(AccelerationMode accelerationMode);
+
+private:
+ QAccelerometer *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlAccelerometerReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal x READ x NOTIFY xChanged BINDABLE bindableX)
+ Q_PROPERTY(qreal y READ y NOTIFY yChanged BINDABLE bindableY)
+ Q_PROPERTY(qreal z READ z NOTIFY zChanged BINDABLE bindableZ)
+ QML_NAMED_ELEMENT(AccelerometerReading)
+ QML_UNCREATABLE("Cannot create AccelerometerReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlAccelerometerReading(QAccelerometer *sensor);
+ ~QmlAccelerometerReading();
+
+ qreal x() const;
+ QBindable<qreal> bindableX() const;
+ qreal y() const;
+ QBindable<qreal> bindableY() const;
+ qreal z() const;
+ QBindable<qreal> bindableZ() const;
+
+Q_SIGNALS:
+ void xChanged();
+ void yChanged();
+ void zChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QAccelerometer *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlAccelerometerReading, qreal,
+ m_x, &QmlAccelerometerReading::xChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlAccelerometerReading, qreal,
+ m_y, &QmlAccelerometerReading::yChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlAccelerometerReading, qreal,
+ m_z, &QmlAccelerometerReading::zChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/imports/sensors/qmlambientlightsensor.cpp b/src/sensorsquick/qmlambientlightsensor.cpp
index 5d9ab3b6..475ec98d 100644
--- a/src/imports/sensors/qmlambientlightsensor.cpp
+++ b/src/sensorsquick/qmlambientlightsensor.cpp
@@ -1,48 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlambientlightsensor.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlambientlightsensor_p.h"
#include <QtSensors/QAmbientLightSensor>
/*!
\qmltype AmbientLightSensor
- \instantiates QmlAmbientLightSensor
+//! \instantiates QmlAmbientLightSensor
\ingroup qml-sensors_type
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -79,7 +43,7 @@ QSensor *QmlAmbientLightSensor::sensor() const
/*!
\qmltype AmbientLightReading
- \instantiates QmlAmbientLightSensorReading
+//! \instantiates QmlAmbientLightSensorReading
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -95,8 +59,7 @@ QSensor *QmlAmbientLightSensor::sensor() const
*/
QmlAmbientLightSensorReading::QmlAmbientLightSensorReading(QAmbientLightSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
+ : m_sensor(sensor)
{
}
@@ -126,6 +89,11 @@ QAmbientLightReading::LightLevel QmlAmbientLightSensorReading::lightLevel() cons
return m_lightLevel;
}
+QBindable<QAmbientLightReading::LightLevel> QmlAmbientLightSensorReading::bindableLightLevel() const
+{
+ return &m_lightLevel;
+}
+
QSensorReading *QmlAmbientLightSensorReading::reading() const
{
return m_sensor->reading();
@@ -133,9 +101,5 @@ QSensorReading *QmlAmbientLightSensorReading::reading() const
void QmlAmbientLightSensorReading::readingUpdate()
{
- QAmbientLightReading::LightLevel ll = m_sensor->reading()->lightLevel();
- if (m_lightLevel != ll) {
- m_lightLevel = ll;
- Q_EMIT lightLevelChanged();
- }
+ m_lightLevel = m_sensor->reading()->lightLevel();
}
diff --git a/src/sensorsquick/qmlambientlightsensor_p.h b/src/sensorsquick/qmlambientlightsensor_p.h
new file mode 100644
index 00000000..83bcd60c
--- /dev/null
+++ b/src/sensorsquick/qmlambientlightsensor_p.h
@@ -0,0 +1,70 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLAMBIENTLIGHTSENSOR_P_H
+#define QMLAMBIENTLIGHTSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+#include <QtSensors/QAmbientLightSensor>
+
+QT_BEGIN_NAMESPACE
+
+class QAmbientLightSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlAmbientLightSensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(AmbientLightSensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlAmbientLightSensor(QObject *parent = 0);
+ ~QmlAmbientLightSensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QAmbientLightSensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+
+};
+
+class Q_SENSORSQUICK_EXPORT QmlAmbientLightSensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(QAmbientLightReading::LightLevel lightLevel READ lightLevel
+ NOTIFY lightLevelChanged BINDABLE bindableLightLevel)
+ QML_NAMED_ELEMENT(AmbientLightReading)
+ QML_UNCREATABLE("Cannot create AmbientLightReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+
+ explicit QmlAmbientLightSensorReading(QAmbientLightSensor *sensor);
+ ~QmlAmbientLightSensorReading();
+
+ QAmbientLightReading::LightLevel lightLevel() const;
+ QBindable<QAmbientLightReading::LightLevel> bindableLightLevel() const;
+
+Q_SIGNALS:
+ void lightLevelChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QAmbientLightSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlAmbientLightSensorReading, QAmbientLightReading::LightLevel,
+ m_lightLevel, &QmlAmbientLightSensorReading::lightLevelChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlambienttemperaturesensor.cpp b/src/sensorsquick/qmlambienttemperaturesensor.cpp
new file mode 100644
index 00000000..876cda63
--- /dev/null
+++ b/src/sensorsquick/qmlambienttemperaturesensor.cpp
@@ -0,0 +1,95 @@
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#include "qmlambienttemperaturesensor_p.h"
+#include <QtSensors/QAmbientTemperatureSensor>
+
+/*!
+ \qmltype AmbientTemperatureSensor
+//! \instantiates QmlAmbientTemperatureSensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.1
+ \inherits Sensor
+ \brief The AmbientTemperatureSensor element reports on the ambient temperature.
+
+ The AmbientTemperatureSensor element reports on the ambient temperature.
+
+ This element wraps the QAmbientTemperatureSensor class. Please see the documentation for
+ QAmbientTemperatureSensor for details.
+
+ \sa AmbientTemperatureReading
+*/
+
+QmlAmbientTemperatureSensor::QmlAmbientTemperatureSensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QAmbientTemperatureSensor(this))
+{
+}
+
+QmlAmbientTemperatureSensor::~QmlAmbientTemperatureSensor()
+{
+}
+
+QmlSensorReading *QmlAmbientTemperatureSensor::createReading() const
+{
+ return new QmlAmbientTemperatureReading(m_sensor);
+}
+
+QSensor *QmlAmbientTemperatureSensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype AmbientTemperatureReading
+//! \instantiates QmlAmbientTemperatureReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.1
+ \inherits SensorReading
+ \brief The AmbientTemperatureReading element holds the most recent temperature reading.
+
+ The AmbientTemperatureReading element holds the most recent temperature reading.
+
+ This element wraps the QAmbientTemperatureReading class. Please see the documentation for
+ QAmbientTemperatureReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlAmbientTemperatureReading::QmlAmbientTemperatureReading(QAmbientTemperatureSensor *sensor)
+ : m_sensor(sensor)
+ , m_temperature(0)
+{
+}
+
+QmlAmbientTemperatureReading::~QmlAmbientTemperatureReading()
+{
+}
+
+/*!
+ \qmlproperty qreal AmbientTemperatureReading::temperature
+ This property holds the ambient temperature in degree Celsius.
+
+ Please see QAmbientTemperatureReading::temperature for information about this property.
+*/
+
+qreal QmlAmbientTemperatureReading::temperature() const
+{
+ return m_temperature;
+}
+
+QBindable<qreal> QmlAmbientTemperatureReading::bindableTemperature() const
+{
+ return &m_temperature;
+}
+
+QSensorReading *QmlAmbientTemperatureReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlAmbientTemperatureReading::readingUpdate()
+{
+ m_temperature = m_sensor->reading()->temperature();
+}
diff --git a/src/sensorsquick/qmlambienttemperaturesensor_p.h b/src/sensorsquick/qmlambienttemperaturesensor_p.h
new file mode 100644
index 00000000..898c0617
--- /dev/null
+++ b/src/sensorsquick/qmlambienttemperaturesensor_p.h
@@ -0,0 +1,68 @@
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#ifndef QMLAMBIENTTEMPERATURESENSOR_P_H
+#define QMLAMBIENTTEMPERATURESENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QAmbientTemperatureSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlAmbientTemperatureSensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(AmbientTemperatureSensor)
+ QML_ADDED_IN_VERSION(5,1)
+public:
+ explicit QmlAmbientTemperatureSensor(QObject *parent = 0);
+ ~QmlAmbientTemperatureSensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QmlSensorReading *createReading() const override;
+
+ QAmbientTemperatureSensor *m_sensor;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlAmbientTemperatureReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal temperature READ temperature
+ NOTIFY temperatureChanged BINDABLE bindableTemperature)
+ QML_NAMED_ELEMENT(AmbientTemperatureReading)
+ QML_UNCREATABLE("Cannot create AmbientTemperatureReading")
+ QML_ADDED_IN_VERSION(5,1)
+public:
+ explicit QmlAmbientTemperatureReading(QAmbientTemperatureSensor *sensor);
+ ~QmlAmbientTemperatureReading();
+
+ qreal temperature() const;
+ QBindable<qreal> bindableTemperature() const;
+
+Q_SIGNALS:
+ void temperatureChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+
+ QAmbientTemperatureSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlAmbientTemperatureReading, qreal,
+ m_temperature, &QmlAmbientTemperatureReading::temperatureChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlcompass.cpp b/src/sensorsquick/qmlcompass.cpp
new file mode 100644
index 00000000..c7088d33
--- /dev/null
+++ b/src/sensorsquick/qmlcompass.cpp
@@ -0,0 +1,113 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlcompass_p.h"
+#include <QtSensors/QCompass>
+
+/*!
+ \qmltype Compass
+//! \instantiates QmlCompass
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits Sensor
+ \brief The Compass element reports on heading using magnetic north as a reference.
+
+ The Compass element reports on heading using magnetic north as a reference.
+
+ This element wraps the QCompass class. Please see the documentation for
+ QCompass for details.
+
+ \sa CompassReading
+*/
+
+QmlCompass::QmlCompass(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QCompass(this))
+{
+}
+
+QmlCompass::~QmlCompass()
+{
+}
+
+QmlSensorReading *QmlCompass::createReading() const
+{
+ return new QmlCompassReading(m_sensor);
+}
+
+QSensor *QmlCompass::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype CompassReading
+//! \instantiates QmlCompassReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits SensorReading
+ \brief The CompassReading element holds the most recent Compass reading.
+
+ The CompassReading element holds the most recent Compass reading.
+
+ This element wraps the QCompassReading class. Please see the documentation for
+ QCompassReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlCompassReading::QmlCompassReading(QCompass *sensor)
+ : m_sensor(sensor)
+{
+}
+
+QmlCompassReading::~QmlCompassReading()
+{
+}
+
+/*!
+ \qmlproperty qreal CompassReading::azimuth
+ This property holds the azimuth of the device.
+
+ Please see QCompassReading::azimuth for information about this property.
+*/
+
+qreal QmlCompassReading::azimuth() const
+{
+ return m_azimuth;
+}
+
+QBindable<qreal> QmlCompassReading::bindableAzimuth() const
+{
+ return &m_azimuth;
+}
+
+/*!
+ \qmlproperty qreal CompassReading::calibrationLevel
+ This property holds the calibration level of the reading.
+
+ Please see QCompassReading::calibrationLevel for information about this property.
+*/
+
+qreal QmlCompassReading::calibrationLevel() const
+{
+ return m_calibrationLevel;
+}
+
+QBindable<qreal> QmlCompassReading::bindableCalibrationLevel() const
+{
+ return &m_calibrationLevel;
+}
+
+QSensorReading *QmlCompassReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlCompassReading::readingUpdate()
+{
+ m_azimuth = m_sensor->reading()->azimuth();
+ m_calibrationLevel = m_sensor->reading()->calibrationLevel();
+}
diff --git a/src/sensorsquick/qmlcompass_p.h b/src/sensorsquick/qmlcompass_p.h
new file mode 100644
index 00000000..312bf13c
--- /dev/null
+++ b/src/sensorsquick/qmlcompass_p.h
@@ -0,0 +1,73 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLCOMPASS_P_H
+#define QMLCOMPASS_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QCompass;
+
+class Q_SENSORSQUICK_EXPORT QmlCompass : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(Compass)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlCompass(QObject *parent = 0);
+ ~QmlCompass();
+
+ QSensor *sensor() const override;
+
+private:
+ QCompass *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlCompassReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal azimuth READ azimuth NOTIFY azimuthChanged BINDABLE bindableAzimuth)
+ Q_PROPERTY(qreal calibrationLevel READ calibrationLevel
+ NOTIFY calibrationLevelChanged BINDABLE bindableCalibrationLevel)
+ QML_NAMED_ELEMENT(CompassReading)
+ QML_UNCREATABLE("Cannot create CompassReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlCompassReading(QCompass *sensor);
+ ~QmlCompassReading();
+
+ qreal azimuth() const;
+ QBindable<qreal> bindableAzimuth() const;
+ qreal calibrationLevel() const;
+ QBindable<qreal> bindableCalibrationLevel() const;
+
+Q_SIGNALS:
+ void azimuthChanged();
+ void calibrationLevelChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QCompass *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlCompassReading, qreal,
+ m_azimuth, &QmlCompassReading::azimuthChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlCompassReading, qreal,
+ m_calibrationLevel, &QmlCompassReading::calibrationLevelChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlgyroscope.cpp b/src/sensorsquick/qmlgyroscope.cpp
new file mode 100644
index 00000000..bb4458f7
--- /dev/null
+++ b/src/sensorsquick/qmlgyroscope.cpp
@@ -0,0 +1,130 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlgyroscope_p.h"
+#include <QtSensors/QGyroscope>
+
+/*!
+ \qmltype Gyroscope
+//! \instantiates QmlGyroscope
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits Sensor
+ \brief The Gyroscope element reports on rotational acceleration
+ around the X, Y and Z axes.
+
+ This element wraps the QGyroscope class. Please see the documentation for
+ QGyroscope for details.
+
+ \sa GyroscopeReading
+*/
+
+QmlGyroscope::QmlGyroscope(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QGyroscope(this))
+{
+}
+
+QmlGyroscope::~QmlGyroscope()
+{
+}
+
+QmlSensorReading *QmlGyroscope::createReading() const
+{
+ return new QmlGyroscopeReading(m_sensor);
+}
+
+QSensor *QmlGyroscope::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype GyroscopeReading
+//! \instantiates QmlGyroscopeReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits SensorReading
+ \brief The GyroscopeReading element holds the most recent Gyroscope reading.
+
+ The GyroscopeReading element holds the most recent Gyroscope reading.
+
+ This element wraps the QGyroscopeReading class. Please see the documentation for
+ QGyroscopeReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlGyroscopeReading::QmlGyroscopeReading(QGyroscope *sensor)
+ : m_sensor(sensor)
+{
+}
+
+QmlGyroscopeReading::~QmlGyroscopeReading()
+{
+}
+
+/*!
+ \qmlproperty qreal GyroscopeReading::x
+ This property holds the angular velocity around the x axis.
+
+ Please see QGyroscopeReading::x for information about this property.
+*/
+
+qreal QmlGyroscopeReading::x() const
+{
+ return m_x;
+}
+
+QBindable<qreal> QmlGyroscopeReading::bindableX() const
+{
+ return &m_x;
+}
+
+/*!
+ \qmlproperty qreal GyroscopeReading::y
+ This property holds the angular velocity around the y axis.
+
+ Please see QGyroscopeReading::y for information about this property.
+*/
+
+qreal QmlGyroscopeReading::y() const
+{
+ return m_y;
+}
+
+QBindable<qreal> QmlGyroscopeReading::bindableY() const
+{
+ return &m_y;
+}
+
+/*!
+ \qmlproperty qreal GyroscopeReading::z
+ This property holds the angular velocity around the z axis.
+
+ Please see QGyroscopeReading::z for information about this property.
+*/
+
+qreal QmlGyroscopeReading::z() const
+{
+ return m_z;
+}
+
+QBindable<qreal> QmlGyroscopeReading::bindableZ() const
+{
+ return &m_z;
+}
+
+QSensorReading *QmlGyroscopeReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlGyroscopeReading::readingUpdate()
+{
+ m_x = m_sensor->reading()->x();
+ m_y = m_sensor->reading()->y();
+ m_z = m_sensor->reading()->z();
+}
diff --git a/src/sensorsquick/qmlgyroscope_p.h b/src/sensorsquick/qmlgyroscope_p.h
new file mode 100644
index 00000000..02697718
--- /dev/null
+++ b/src/sensorsquick/qmlgyroscope_p.h
@@ -0,0 +1,78 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLGYROSCOPE_P_H
+#define QMLGYROSCOPE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QGyroscope;
+
+class Q_SENSORSQUICK_EXPORT QmlGyroscope : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(Gyroscope)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlGyroscope(QObject *parent = 0);
+ ~QmlGyroscope();
+
+ QSensor *sensor() const override;
+
+private:
+ QGyroscope *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlGyroscopeReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal x READ x NOTIFY xChanged BINDABLE bindableX)
+ Q_PROPERTY(qreal y READ y NOTIFY yChanged BINDABLE bindableY)
+ Q_PROPERTY(qreal z READ z NOTIFY zChanged BINDABLE bindableZ)
+ QML_NAMED_ELEMENT(GyroscopeReading)
+ QML_UNCREATABLE("Cannot create GyroscopeReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlGyroscopeReading(QGyroscope *sensor);
+ ~QmlGyroscopeReading();
+
+ qreal x() const;
+ QBindable<qreal> bindableX() const;
+ qreal y() const;
+ QBindable<qreal> bindableY() const;
+ qreal z() const;
+ QBindable<qreal> bindableZ() const;
+
+Q_SIGNALS:
+ void xChanged();
+ void yChanged();
+ void zChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QGyroscope *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlGyroscopeReading, qreal,
+ m_x, &QmlGyroscopeReading::xChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlGyroscopeReading, qreal,
+ m_y, &QmlGyroscopeReading::yChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlGyroscopeReading, qreal,
+ m_z, &QmlGyroscopeReading::zChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlhumiditysensor.cpp b/src/sensorsquick/qmlhumiditysensor.cpp
new file mode 100644
index 00000000..915e81b6
--- /dev/null
+++ b/src/sensorsquick/qmlhumiditysensor.cpp
@@ -0,0 +1,115 @@
+// Copyright (C) 2016 Canonical Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlhumiditysensor_p.h"
+#include <QtSensors/QHumiditySensor>
+
+/*!
+ \qmltype HumiditySensor
+//! \instantiates QmlHumiditySensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.9
+ \inherits Sensor
+ \brief The HumiditySensor element reports on humidity.
+
+ The HumiditySensor element reports on humidity.
+
+ This element wraps the QHumiditySensor class. Please see the documentation for
+ QHumiditySensor for details.
+
+ \sa HumidityReading
+*/
+
+QmlHumiditySensor::QmlHumiditySensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QHumiditySensor(this))
+{
+}
+
+QmlHumiditySensor::~QmlHumiditySensor()
+{
+}
+
+QmlSensorReading *QmlHumiditySensor::createReading() const
+{
+ return new QmlHumidityReading(m_sensor);
+}
+
+QSensor *QmlHumiditySensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype HumidityReading
+//! \instantiates QmlHumidityReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.9
+ \inherits SensorReading
+ \brief The HumidityReading element holds the most recent HumiditySensor reading.
+
+ The HumidityReading element holds the most recent HumiditySensor reading.
+
+ This element wraps the QHumidityReading class. Please see the documentation for
+ QHumidityReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlHumidityReading::QmlHumidityReading(QHumiditySensor *sensor)
+ : m_sensor(sensor)
+ , m_relativeHumidity(0)
+ , m_absoluteHumidity(0)
+{
+}
+
+QmlHumidityReading::~QmlHumidityReading()
+{
+}
+
+/*!
+ \qmlproperty qreal HumidityReading::relativeHumidity
+ This property holds the relative humidity as a percentage.
+
+ Please see QHumidityReading::relativeHumidity for information about this property.
+*/
+
+qreal QmlHumidityReading::relativeHumidity() const
+{
+ return m_relativeHumidity;
+}
+
+QBindable<qreal> QmlHumidityReading::bindableRelativeHumidity() const
+{
+ return &m_relativeHumidity;
+}
+
+/*!
+ \qmlproperty qreal HumidityReading::absoluteHumidity
+ This property holds the absolute humidity in grams per cubic meter (g/m3).
+
+ Please see QHumidityReading::absoluteHumidity for information about this property.
+*/
+
+qreal QmlHumidityReading::absoluteHumidity() const
+{
+ return m_absoluteHumidity;
+}
+
+QBindable<qreal> QmlHumidityReading::bindableAbsoluteHumidity() const
+{
+ return &m_absoluteHumidity;
+}
+
+QSensorReading *QmlHumidityReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlHumidityReading::readingUpdate()
+{
+ m_relativeHumidity = m_sensor->reading()->relativeHumidity();
+ m_absoluteHumidity = m_sensor->reading()->absoluteHumidity();
+}
diff --git a/src/sensorsquick/qmlhumiditysensor_p.h b/src/sensorsquick/qmlhumiditysensor_p.h
new file mode 100644
index 00000000..e01b0dc3
--- /dev/null
+++ b/src/sensorsquick/qmlhumiditysensor_p.h
@@ -0,0 +1,77 @@
+// Copyright (C) 2016 Canonical Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLHUMIDITYSENSOR_P_H
+#define QMLHUMIDITYSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QHumiditySensor;
+
+class Q_SENSORSQUICK_EXPORT QmlHumiditySensor : public QmlSensor
+{
+ Q_OBJECT
+
+ QML_NAMED_ELEMENT(HumiditySensor)
+ QML_ADDED_IN_VERSION(5,9)
+public:
+ explicit QmlHumiditySensor(QObject *parent = nullptr);
+ ~QmlHumiditySensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QmlSensorReading *createReading() const override;
+
+ QHumiditySensor *m_sensor;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlHumidityReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal relativeHumidity READ relativeHumidity
+ NOTIFY relativeHumidityChanged BINDABLE bindableRelativeHumidity)
+ Q_PROPERTY(qreal absoluteHumidity READ absoluteHumidity
+ NOTIFY absoluteHumidityChanged BINDABLE bindableAbsoluteHumidity)
+ QML_NAMED_ELEMENT(HumidityReading)
+ QML_UNCREATABLE("Cannot create HumidityReading")
+ QML_ADDED_IN_VERSION(5,9)
+public:
+ explicit QmlHumidityReading(QHumiditySensor *sensor);
+ ~QmlHumidityReading();
+
+ qreal relativeHumidity() const;
+ QBindable<qreal> bindableRelativeHumidity() const;
+ qreal absoluteHumidity() const;
+ QBindable<qreal> bindableAbsoluteHumidity() const;
+
+Q_SIGNALS:
+ void relativeHumidityChanged();
+ void absoluteHumidityChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+
+ QHumiditySensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlHumidityReading, qreal,
+ m_relativeHumidity, &QmlHumidityReading::relativeHumidityChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlHumidityReading, qreal,
+ m_absoluteHumidity, &QmlHumidityReading::absoluteHumidityChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlirproximitysensor.cpp b/src/sensorsquick/qmlirproximitysensor.cpp
new file mode 100644
index 00000000..84ccc455
--- /dev/null
+++ b/src/sensorsquick/qmlirproximitysensor.cpp
@@ -0,0 +1,96 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlirproximitysensor_p.h"
+#include <QtSensors/QIRProximitySensor>
+
+/*!
+ \qmltype IRProximitySensor
+//! \instantiates QmlIRProximitySensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits Sensor
+ \brief The IRProximitySensor element reports on infra-red reflectance values.
+ \internal
+
+ This element wraps the QIRProximitySensor class. Please see the documentation for
+ QIRProximitySensor for details.
+
+ \sa IRProximityReading
+*/
+
+QmlIRProximitySensor::QmlIRProximitySensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QIRProximitySensor(this))
+{
+}
+
+QmlIRProximitySensor::~QmlIRProximitySensor()
+{
+}
+
+QmlSensorReading *QmlIRProximitySensor::createReading() const
+{
+ return new QmlIRProximitySensorReading(m_sensor);
+}
+
+QSensor *QmlIRProximitySensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype IRProximityReading
+//! \instantiates QmlIRProximitySensorReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits SensorReading
+ \brief The IRProximityReading element holds the most recent IR proximity reading.
+ \internal
+
+ The IRProximityReading element holds the most recent IR proximity reading.
+
+ This element wraps the QIRProximityReading class. Please see the documentation for
+ QIRProximityReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlIRProximitySensorReading::QmlIRProximitySensorReading(QIRProximitySensor *sensor)
+ : m_sensor(sensor)
+{
+}
+
+QmlIRProximitySensorReading::~QmlIRProximitySensorReading()
+{
+}
+
+/*!
+ \qmlproperty qreal IRProximityReading::reflectance
+ This property holds the reflectance value.
+
+ Please see QIRProximityReading::reflectance for information about this property.
+*/
+
+qreal QmlIRProximitySensorReading::reflectance() const
+{
+ return m_reflectance;
+}
+
+QBindable<qreal> QmlIRProximitySensorReading::bindableReflectance() const
+{
+ return &m_reflectance;
+}
+
+
+QSensorReading *QmlIRProximitySensorReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlIRProximitySensorReading::readingUpdate()
+{
+ m_reflectance = m_sensor->reading()->reflectance();
+}
diff --git a/src/sensorsquick/qmlirproximitysensor_p.h b/src/sensorsquick/qmlirproximitysensor_p.h
new file mode 100644
index 00000000..b1f97d5d
--- /dev/null
+++ b/src/sensorsquick/qmlirproximitysensor_p.h
@@ -0,0 +1,67 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLIRPROXIMITYSENSOR_P_H
+#define QMLIRPROXIMITYSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QIRProximitySensor;
+
+class Q_SENSORSQUICK_EXPORT QmlIRProximitySensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(IRProximitySensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlIRProximitySensor(QObject *parent = 0);
+ ~QmlIRProximitySensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QIRProximitySensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlIRProximitySensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal reflectance READ reflectance
+ NOTIFY reflectanceChanged BINDABLE bindableReflectance)
+ QML_NAMED_ELEMENT(IRProximityReading)
+ QML_UNCREATABLE("Cannot create IRProximityReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlIRProximitySensorReading(QIRProximitySensor *sensor);
+ ~QmlIRProximitySensorReading();
+
+ qreal reflectance() const;
+ QBindable<qreal> bindableReflectance() const;
+
+Q_SIGNALS:
+ void reflectanceChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QIRProximitySensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlIRProximitySensorReading, qreal,
+ m_reflectance, &QmlIRProximitySensorReading::reflectanceChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmllidsensor.cpp b/src/sensorsquick/qmllidsensor.cpp
new file mode 100644
index 00000000..be1f600b
--- /dev/null
+++ b/src/sensorsquick/qmllidsensor.cpp
@@ -0,0 +1,116 @@
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#include "qmllidsensor_p.h"
+#include <QtSensors/QLidSensor>
+
+/*!
+ \qmltype LidSensor
+//! \instantiates QmlLidSensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.9
+ \inherits Sensor
+ \brief The LidSensor element reports on whether a device is closed.
+ \internal
+
+ The LidSensor element reports on whether a device is closed.
+
+ This element wraps the QLidSensor class. Please see the documentation for
+ QLidSensor for details.
+
+ \sa LidReading
+*/
+
+QmlLidSensor::QmlLidSensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QLidSensor(this))
+{
+}
+
+QmlLidSensor::~QmlLidSensor()
+{
+}
+
+QmlSensorReading *QmlLidSensor::createReading() const
+{
+ return new QmlLidReading(m_sensor);
+}
+
+QSensor *QmlLidSensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype LidReading
+//! \instantiates QmlLidReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.9
+ \inherits SensorReading
+ \brief The LidReading element holds the most recent LidSensor reading.
+ \internal
+
+ The LidReading element holds the most recent LidSensor reading.
+
+ This element wraps the QLidReading class. Please see the documentation for
+ QLidReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlLidReading::QmlLidReading(QLidSensor *sensor)
+ : m_sensor(sensor)
+ , m_backClosed(false)
+ , m_frontClosed(true)
+{
+}
+
+QmlLidReading::~QmlLidReading()
+{
+}
+
+/*!
+ \qmlproperty qreal LidReading::backLidClosed
+ This property holds whether the back lid is closed.
+
+ Please see QLidReading::backLidClosed for information about this property.
+*/
+
+bool QmlLidReading::backLidClosed() const
+{
+ return m_backClosed;
+}
+
+QBindable<bool> QmlLidReading::bindableBackLidClosed() const
+{
+ return &m_backClosed;
+}
+
+/*!
+ \qmlproperty qreal LidReading::frontLidClosed
+ This property holds whether the front lid is closed.
+
+ Please see QLidReading::frontLidClosed for information about this property.
+*/
+
+bool QmlLidReading::frontLidClosed() const
+{
+ return m_frontClosed;
+}
+
+QBindable<bool> QmlLidReading::bindableFrontLidClosed() const
+{
+ return &m_frontClosed;
+}
+
+QSensorReading *QmlLidReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlLidReading::readingUpdate()
+{
+ m_backClosed = m_sensor->reading()->backLidClosed();
+ m_frontClosed = m_sensor->reading()->frontLidClosed();
+}
diff --git a/src/sensorsquick/qmllidsensor_p.h b/src/sensorsquick/qmllidsensor_p.h
new file mode 100644
index 00000000..1ddf60a9
--- /dev/null
+++ b/src/sensorsquick/qmllidsensor_p.h
@@ -0,0 +1,75 @@
+// Copyright (C) 2016 Canonical, Ltd
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#ifndef QMLLIDSENSOR_P_H
+#define QMLLIDSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QLidSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlLidSensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(LidSensor)
+ QML_ADDED_IN_VERSION(5,9)
+public:
+ explicit QmlLidSensor(QObject *parent = 0);
+ ~QmlLidSensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QmlSensorReading *createReading() const override;
+
+ QLidSensor *m_sensor;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlLidReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(bool backLidClosed READ backLidClosed
+ NOTIFY backLidChanged BINDABLE bindableBackLidClosed)
+ Q_PROPERTY(bool frontLidClosed READ frontLidClosed
+ NOTIFY frontLidChanged BINDABLE bindableFrontLidClosed)
+ QML_NAMED_ELEMENT(LidReading)
+ QML_UNCREATABLE("Cannot create LidReading")
+ QML_ADDED_IN_VERSION(5,9)
+public:
+ explicit QmlLidReading(QLidSensor *sensor);
+ ~QmlLidReading();
+
+ bool backLidClosed() const;
+ QBindable<bool> bindableBackLidClosed() const;
+ bool frontLidClosed() const;
+ QBindable<bool> bindableFrontLidClosed() const;
+
+Q_SIGNALS:
+ void backLidChanged(bool closed);
+ bool frontLidChanged(bool closed);
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+
+ QLidSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlLidReading, bool,
+ m_backClosed, &QmlLidReading::backLidChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlLidReading, bool,
+ m_frontClosed, &QmlLidReading::frontLidChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmllightsensor.cpp b/src/sensorsquick/qmllightsensor.cpp
new file mode 100644
index 00000000..f80dd630
--- /dev/null
+++ b/src/sensorsquick/qmllightsensor.cpp
@@ -0,0 +1,109 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmllightsensor_p.h"
+#include <QtSensors/QLightSensor>
+
+/*!
+ \qmltype LightSensor
+//! \instantiates QmlLightSensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits Sensor
+ \brief The LightSensor element reports on light levels using LUX.
+
+ The LightSensor element reports on light levels using LUX.
+
+ This element wraps the QLightSensor class. Please see the documentation for
+ QLightSensor for details.
+
+ \sa LightReading
+*/
+
+QmlLightSensor::QmlLightSensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QLightSensor(this))
+{
+ connect(m_sensor, SIGNAL(fieldOfViewChanged(qreal)),
+ this, SIGNAL(fieldOfViewChanged(qreal)));
+}
+
+QmlLightSensor::~QmlLightSensor()
+{
+}
+
+QmlSensorReading *QmlLightSensor::createReading() const
+{
+ return new QmlLightSensorReading(m_sensor);
+}
+
+QSensor *QmlLightSensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmlproperty qreal LightSensor::fieldOfView
+ This property holds a value indicating the field of view.
+
+ Please see QLightSensor::fieldOfView for information about this property.
+*/
+
+qreal QmlLightSensor::fieldOfView() const
+{
+ return m_sensor->fieldOfView();
+}
+
+/*!
+ \qmltype LightReading
+//! \instantiates QmlLightSensorReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits SensorReading
+ \brief The LightReading element holds the most recent LightSensor reading.
+
+ The LightReading element holds the most recent LightSensor reading.
+
+ This element wraps the QLightReading class. Please see the documentation for
+ QLightReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlLightSensorReading::QmlLightSensorReading(QLightSensor *sensor)
+ : m_sensor(sensor)
+{
+}
+
+QmlLightSensorReading::~QmlLightSensorReading()
+{
+}
+
+/*!
+ \qmlproperty qreal LightReading::illuminance
+ This property holds the light level.
+
+ Please see QLightReading::illuminance for information about this property.
+*/
+
+qreal QmlLightSensorReading::illuminance() const
+{
+ return m_illuminance;
+}
+
+QBindable<qreal> QmlLightSensorReading::bindableIlluminance() const
+{
+ return &m_illuminance;
+}
+
+QSensorReading *QmlLightSensorReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlLightSensorReading::readingUpdate()
+{
+ m_illuminance = m_sensor->reading()->lux();
+}
diff --git a/src/sensorsquick/qmllightsensor_p.h b/src/sensorsquick/qmllightsensor_p.h
new file mode 100644
index 00000000..6758ffba
--- /dev/null
+++ b/src/sensorsquick/qmllightsensor_p.h
@@ -0,0 +1,72 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLLIGHTSENSOR_P_H
+#define QMLLIGHTSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QLightSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlLightSensor : public QmlSensor
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal fieldOfView READ fieldOfView NOTIFY fieldOfViewChanged)
+ QML_NAMED_ELEMENT(LightSensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlLightSensor(QObject *parent = 0);
+ ~QmlLightSensor();
+
+ qreal fieldOfView() const;
+ QSensor *sensor() const override;
+
+Q_SIGNALS:
+ void fieldOfViewChanged(qreal fieldOfView);
+
+private:
+ QLightSensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlLightSensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal illuminance READ illuminance
+ NOTIFY illuminanceChanged BINDABLE bindableIlluminance)
+ QML_NAMED_ELEMENT(LightReading)
+ QML_UNCREATABLE("Cannot create LightReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlLightSensorReading(QLightSensor *sensor);
+ ~QmlLightSensorReading();
+
+ qreal illuminance() const;
+ QBindable<qreal> bindableIlluminance() const;
+
+Q_SIGNALS:
+ void illuminanceChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QLightSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlLightSensorReading, qreal,
+ m_illuminance, &QmlLightSensorReading::illuminanceChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/imports/sensors/qmlmagnetometer.cpp b/src/sensorsquick/qmlmagnetometer.cpp
index dba0ec4e..1bbaa0eb 100644
--- a/src/imports/sensors/qmlmagnetometer.cpp
+++ b/src/sensorsquick/qmlmagnetometer.cpp
@@ -1,48 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlmagnetometer.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlmagnetometer_p.h"
#include <QtSensors/QMagnetometer>
/*!
\qmltype Magnetometer
- \instantiates QmlMagnetometer
+//! \instantiates QmlMagnetometer
\ingroup qml-sensors_type
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -100,7 +64,7 @@ void QmlMagnetometer::setReturnGeoValues(bool geo)
/*!
\qmltype MagnetometerReading
- \instantiates QmlMagnetometerReading
+//! \instantiates QmlMagnetometerReading
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -116,8 +80,7 @@ void QmlMagnetometer::setReturnGeoValues(bool geo)
*/
QmlMagnetometerReading::QmlMagnetometerReading(QMagnetometer *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
+ : m_sensor(sensor)
{
}
@@ -137,6 +100,11 @@ qreal QmlMagnetometerReading::x() const
return m_x;
}
+QBindable<qreal> QmlMagnetometerReading::bindableX() const
+{
+ return &m_x;
+}
+
/*!
\qmlproperty qreal MagnetometerReading::y
This property holds the raw magnetic flux density on the Y axis.
@@ -149,6 +117,11 @@ qreal QmlMagnetometerReading::y() const
return m_y;
}
+QBindable<qreal> QmlMagnetometerReading::bindableY() const
+{
+ return &m_y;
+}
+
/*!
\qmlproperty qreal MagnetometerReading::z
This property holds the raw magnetic flux density on the Z axis.
@@ -161,6 +134,11 @@ qreal QmlMagnetometerReading::z() const
return m_z;
}
+QBindable<qreal> QmlMagnetometerReading::bindableZ() const
+{
+ return &m_z;
+}
+
/*!
\qmlproperty qreal MagnetometerReading::calibrationLevel
This property holds the accuracy of the reading.
@@ -173,6 +151,11 @@ qreal QmlMagnetometerReading::calibrationLevel() const
return m_calibrationLevel;
}
+QBindable<qreal> QmlMagnetometerReading::bindableCalibrationLevel() const
+{
+ return &m_calibrationLevel;
+}
+
QSensorReading *QmlMagnetometerReading::reading() const
{
return m_sensor->reading();
@@ -180,24 +163,8 @@ QSensorReading *QmlMagnetometerReading::reading() const
void QmlMagnetometerReading::readingUpdate()
{
- qreal magX = m_sensor->reading()->x();
- if (m_x != magX) {
- m_x = magX;
- Q_EMIT xChanged();
- }
- qreal magY = m_sensor->reading()->y();
- if (m_y != magY) {
- m_y = magY;
- Q_EMIT yChanged();
- }
- qreal magZ = m_sensor->reading()->z();
- if (m_z != magZ) {
- m_z = magZ;
- Q_EMIT zChanged();
- }
- qreal calLevel = m_sensor->reading()->calibrationLevel();
- if (m_calibrationLevel != calLevel) {
- m_calibrationLevel = calLevel;
- Q_EMIT calibrationLevelChanged();
- }
+ m_x = m_sensor->reading()->x();
+ m_y = m_sensor->reading()->y();
+ m_z = m_sensor->reading()->z();
+ m_calibrationLevel= m_sensor->reading()->calibrationLevel();
}
diff --git a/src/sensorsquick/qmlmagnetometer_p.h b/src/sensorsquick/qmlmagnetometer_p.h
new file mode 100644
index 00000000..9080f3e7
--- /dev/null
+++ b/src/sensorsquick/qmlmagnetometer_p.h
@@ -0,0 +1,93 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLMAGNETOMETER_P_H
+#define QMLMAGNETOMETER_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QMagnetometer;
+
+class Q_SENSORSQUICK_EXPORT QmlMagnetometer : public QmlSensor
+{
+ Q_OBJECT
+ Q_PROPERTY(bool returnGeoValues READ returnGeoValues WRITE setReturnGeoValues NOTIFY returnGeoValuesChanged)
+ QML_NAMED_ELEMENT(Magnetometer)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlMagnetometer(QObject *parent = 0);
+ ~QmlMagnetometer();
+
+ bool returnGeoValues() const;
+ void setReturnGeoValues(bool geo);
+
+ QSensor *sensor() const override;
+
+Q_SIGNALS:
+ void returnGeoValuesChanged(bool returnGeoValues);
+
+private:
+ QMagnetometer *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlMagnetometerReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal x READ x NOTIFY xChanged BINDABLE bindableX)
+ Q_PROPERTY(qreal y READ y NOTIFY yChanged BINDABLE bindableY)
+ Q_PROPERTY(qreal z READ z NOTIFY zChanged BINDABLE bindableZ)
+ Q_PROPERTY(qreal calibrationLevel READ calibrationLevel
+ NOTIFY calibrationLevelChanged BINDABLE bindableCalibrationLevel)
+ QML_NAMED_ELEMENT(MagnetometerReading)
+ QML_UNCREATABLE("Cannot create MagnetometerReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlMagnetometerReading(QMagnetometer *sensor);
+ ~QmlMagnetometerReading();
+
+ qreal x() const;
+ QBindable<qreal> bindableX() const;
+ qreal y() const;
+ QBindable<qreal> bindableY() const;
+ qreal z() const;
+ QBindable<qreal> bindableZ() const;
+ qreal calibrationLevel() const;
+ QBindable<qreal> bindableCalibrationLevel() const;
+
+
+Q_SIGNALS:
+ void xChanged();
+ void yChanged();
+ void zChanged();
+ void calibrationLevelChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QMagnetometer *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlMagnetometerReading, qreal,
+ m_x, &QmlMagnetometerReading::xChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlMagnetometerReading, qreal,
+ m_y, &QmlMagnetometerReading::yChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlMagnetometerReading, qreal,
+ m_z, &QmlMagnetometerReading::zChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlMagnetometerReading, qreal,
+ m_calibrationLevel, &QmlMagnetometerReading::calibrationLevelChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/imports/sensors/qmlorientationsensor.cpp b/src/sensorsquick/qmlorientationsensor.cpp
index 25bda074..c40bd474 100644
--- a/src/imports/sensors/qmlorientationsensor.cpp
+++ b/src/sensorsquick/qmlorientationsensor.cpp
@@ -1,48 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlorientationsensor.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlorientationsensor_p.h"
#include <QtSensors/QOrientationSensor>
/*!
\qmltype OrientationSensor
- \instantiates QmlOrientationSensor
+//! \instantiates QmlOrientationSensor
\ingroup qml-sensors_type
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -79,7 +43,7 @@ QSensor *QmlOrientationSensor::sensor() const
/*!
\qmltype OrientationReading
- \instantiates QmlOrientationSensorReading
+//! \instantiates QmlOrientationSensorReading
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -95,8 +59,7 @@ QSensor *QmlOrientationSensor::sensor() const
*/
QmlOrientationSensorReading::QmlOrientationSensorReading(QOrientationSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
+ : m_sensor(sensor)
{
}
@@ -126,6 +89,11 @@ QOrientationReading::Orientation QmlOrientationSensorReading::orientation() cons
return m_orientation;
}
+QBindable<QOrientationReading::Orientation> QmlOrientationSensorReading::bindableOrientation() const
+{
+ return &m_orientation;
+}
+
QSensorReading *QmlOrientationSensorReading::reading() const
{
return m_sensor->reading();
@@ -133,9 +101,5 @@ QSensorReading *QmlOrientationSensorReading::reading() const
void QmlOrientationSensorReading::readingUpdate()
{
- QOrientationReading::Orientation o = m_sensor->reading()->orientation();
- if (m_orientation != o) {
- m_orientation = o;
- Q_EMIT orientationChanged();
- }
+ m_orientation = m_sensor->reading()->orientation();
}
diff --git a/src/sensorsquick/qmlorientationsensor_p.h b/src/sensorsquick/qmlorientationsensor_p.h
new file mode 100644
index 00000000..9be7b7e5
--- /dev/null
+++ b/src/sensorsquick/qmlorientationsensor_p.h
@@ -0,0 +1,69 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLORIENTATIONSENSOR_P_H
+#define QMLORIENTATIONSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+#include <QtSensors/QOrientationSensor>
+
+QT_BEGIN_NAMESPACE
+
+class QOrientationSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlOrientationSensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(OrientationSensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlOrientationSensor(QObject *parent = 0);
+ ~QmlOrientationSensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QOrientationSensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlOrientationSensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(QOrientationReading::Orientation orientation READ orientation
+ NOTIFY orientationChanged BINDABLE bindableOrientation)
+ QML_NAMED_ELEMENT(OrientationReading)
+ QML_UNCREATABLE("Cannot create OrientationReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+
+ explicit QmlOrientationSensorReading(QOrientationSensor *sensor);
+ ~QmlOrientationSensorReading();
+
+ QOrientationReading::Orientation orientation() const;
+ QBindable<QOrientationReading::Orientation> bindableOrientation() const;
+
+Q_SIGNALS:
+ void orientationChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QOrientationSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlOrientationSensorReading, QOrientationReading::Orientation,
+ m_orientation, &QmlOrientationSensorReading::orientationChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlpressuresensor.cpp b/src/sensorsquick/qmlpressuresensor.cpp
new file mode 100644
index 00000000..d2e38a33
--- /dev/null
+++ b/src/sensorsquick/qmlpressuresensor.cpp
@@ -0,0 +1,115 @@
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#include "qmlpressuresensor_p.h"
+#include <QtSensors/QPressureSensor>
+
+/*!
+ \qmltype PressureSensor
+//! \instantiates QmlPressureSensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.1
+ \inherits Sensor
+ \brief The PressureSensor element reports on atmospheric pressure values.
+
+ The PressureSensor element reports on atmospheric pressure values.
+
+ This element wraps the QPressureSensor class. Please see the documentation for
+ QPressureSensor for details.
+
+ \sa PressureReading
+*/
+
+QmlPressureSensor::QmlPressureSensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QPressureSensor(this))
+{
+}
+
+QmlPressureSensor::~QmlPressureSensor()
+{
+}
+
+QmlSensorReading *QmlPressureSensor::createReading() const
+{
+ return new QmlPressureReading(m_sensor);
+}
+
+QSensor *QmlPressureSensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype PressureReading
+//! \instantiates QmlPressureReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.1
+ \inherits SensorReading
+ \brief The PressureReading element holds the most recent PressureSensor reading.
+
+ The PressureReading element holds the most recent PressureSensor reading.
+
+ This element wraps the QPressureReading class. Please see the documentation for
+ QPressureReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlPressureReading::QmlPressureReading(QPressureSensor *sensor)
+ : m_sensor(sensor)
+ , m_pressure(0)
+ , m_temperature(0)
+{
+}
+
+QmlPressureReading::~QmlPressureReading()
+{
+}
+
+/*!
+ \qmlproperty qreal PressureReading::pressure
+ This property holds the atmospheric pressure value in Pascals.
+
+ Please see QPressureReading::pressure for information about this property.
+*/
+
+qreal QmlPressureReading::pressure() const
+{
+ return m_pressure;
+}
+
+QBindable<qreal> QmlPressureReading::bindablePressure() const
+{
+ return &m_pressure;
+}
+
+/*!
+ \qmlproperty qreal PressureReading::temperature
+ This property holds the pressure sensor's temperature value in degrees Celsius.
+
+ Please see QPressureReading::temperature for information about this property.
+ \since QtSensors 5.2
+*/
+
+qreal QmlPressureReading::temperature() const
+{
+ return m_temperature;
+}
+
+QBindable<qreal> QmlPressureReading::bindableTemperature() const
+{
+ return &m_temperature;
+}
+
+QSensorReading *QmlPressureReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlPressureReading::readingUpdate()
+{
+ m_pressure = m_sensor->reading()->pressure();
+ m_temperature = m_sensor->reading()->temperature();
+}
diff --git a/src/sensorsquick/qmlpressuresensor_p.h b/src/sensorsquick/qmlpressuresensor_p.h
new file mode 100644
index 00000000..8b531fba
--- /dev/null
+++ b/src/sensorsquick/qmlpressuresensor_p.h
@@ -0,0 +1,74 @@
+// Copyright (C) 2016 Research In Motion
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+#ifndef QMLPRESSURESENSOR_P_H
+#define QMLPRESSURESENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QPressureSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlPressureSensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(PressureSensor)
+ QML_ADDED_IN_VERSION(5,1)
+public:
+ explicit QmlPressureSensor(QObject *parent = 0);
+ ~QmlPressureSensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QmlSensorReading *createReading() const override;
+
+ QPressureSensor *m_sensor;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlPressureReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal pressure READ pressure NOTIFY pressureChanged BINDABLE bindablePressure)
+ Q_PROPERTY(qreal temperature READ temperature
+ NOTIFY temperatureChanged REVISION 1 BINDABLE bindableTemperature)
+ QML_NAMED_ELEMENT(PressureReading)
+ QML_UNCREATABLE("Cannot create PressureReading")
+ QML_ADDED_IN_VERSION(5,1)
+public:
+ explicit QmlPressureReading(QPressureSensor *sensor);
+ ~QmlPressureReading();
+
+ qreal pressure() const;
+ QBindable<qreal> bindablePressure() const;
+ qreal temperature() const;
+ QBindable<qreal> bindableTemperature() const;
+
+Q_SIGNALS:
+ void pressureChanged();
+ Q_REVISION(1) void temperatureChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+
+ QPressureSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlPressureReading, qreal,
+ m_pressure, &QmlPressureReading::pressureChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlPressureReading, qreal,
+ m_temperature, &QmlPressureReading::temperatureChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmlproximitysensor.cpp b/src/sensorsquick/qmlproximitysensor.cpp
new file mode 100644
index 00000000..6019a15a
--- /dev/null
+++ b/src/sensorsquick/qmlproximitysensor.cpp
@@ -0,0 +1,95 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlproximitysensor_p.h"
+#include <QtSensors/QProximitySensor>
+
+/*!
+ \qmltype ProximitySensor
+//! \instantiates QmlProximitySensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits Sensor
+ \brief The ProximitySensor element reports on object proximity.
+
+ The ProximitySensor element reports on object proximity.
+
+ This element wraps the QProximitySensor class. Please see the documentation for
+ QProximitySensor for details.
+
+ \sa ProximityReading
+*/
+
+QmlProximitySensor::QmlProximitySensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QProximitySensor(this))
+{
+}
+
+QmlProximitySensor::~QmlProximitySensor()
+{
+}
+
+QmlSensorReading *QmlProximitySensor::createReading() const
+{
+ return new QmlProximitySensorReading(m_sensor);
+}
+
+QSensor *QmlProximitySensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmltype ProximityReading
+//! \instantiates QmlProximitySensorReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits SensorReading
+ \brief The ProximityReading element holds the most recent ProximitySensor reading.
+
+ The ProximityReading element holds the most recent ProximitySensor reading.
+
+ This element wraps the QProximityReading class. Please see the documentation for
+ QProximityReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlProximitySensorReading::QmlProximitySensorReading(QProximitySensor *sensor)
+ : m_sensor(sensor)
+{
+}
+
+QmlProximitySensorReading::~QmlProximitySensorReading()
+{
+}
+
+/*!
+ \qmlproperty bool ProximityReading::near
+ This property holds a value indicating if something is near.
+
+ Please see QProximityReading::near for information about this property.
+*/
+
+bool QmlProximitySensorReading::near() const
+{
+ return m_near;
+}
+
+QBindable<bool> QmlProximitySensorReading::bindableNear() const
+{
+ return &m_near;
+}
+
+QSensorReading *QmlProximitySensorReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlProximitySensorReading::readingUpdate()
+{
+ m_near = m_sensor->reading()->close();
+}
diff --git a/src/sensorsquick/qmlproximitysensor_p.h b/src/sensorsquick/qmlproximitysensor_p.h
new file mode 100644
index 00000000..8ce4fdb8
--- /dev/null
+++ b/src/sensorsquick/qmlproximitysensor_p.h
@@ -0,0 +1,68 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLPROXIMITYSENSOR_P_H
+#define QMLPROXIMITYSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+#ifdef near
+#undef near
+#endif
+QT_BEGIN_NAMESPACE
+
+class QProximitySensor;
+
+class Q_SENSORSQUICK_EXPORT QmlProximitySensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(ProximitySensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlProximitySensor(QObject *parent = 0);
+ ~QmlProximitySensor();
+
+ QSensor *sensor() const override;
+
+private:
+ QProximitySensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlProximitySensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(bool near READ near NOTIFY nearChanged BINDABLE bindableNear)
+ QML_NAMED_ELEMENT(ProximityReading)
+ QML_UNCREATABLE("Cannot create ProximityReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlProximitySensorReading(QProximitySensor *sensor);
+ ~QmlProximitySensorReading();
+
+ bool near() const;
+ QBindable<bool> bindableNear() const;
+
+Q_SIGNALS:
+ void nearChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QProximitySensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlProximitySensorReading, bool,
+ m_near, &QmlProximitySensorReading::nearChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/imports/sensors/qmlrotationsensor.cpp b/src/sensorsquick/qmlrotationsensor.cpp
index ffa47fd9..d21b062f 100644
--- a/src/imports/sensors/qmlrotationsensor.cpp
+++ b/src/sensorsquick/qmlrotationsensor.cpp
@@ -1,48 +1,12 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlrotationsensor.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlrotationsensor_p.h"
#include <QtSensors/QRotationSensor>
/*!
\qmltype RotationSensor
- \instantiates QmlRotationSensor
+//! \instantiates QmlRotationSensor
\ingroup qml-sensors_type
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -81,7 +45,7 @@ QSensor *QmlRotationSensor::sensor() const
}
/*!
- \qmlproperty qreal RotationSensor::hasZ
+ \qmlproperty bool RotationSensor::hasZ
This property holds a value indicating if the z angle is available.
Please see QRotationSensor::hasZ for information about this property.
@@ -92,13 +56,9 @@ bool QmlRotationSensor::hasZ() const
return m_sensor->hasZ();
}
-void QmlRotationSensor::_update()
-{
-}
-
/*!
\qmltype RotationReading
- \instantiates QmlRotationSensorReading
+//! \instantiates QmlRotationSensorReading
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
\since QtSensors 5.0
@@ -114,8 +74,7 @@ void QmlRotationSensor::_update()
*/
QmlRotationSensorReading::QmlRotationSensorReading(QRotationSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
+ : m_sensor(sensor)
{
}
@@ -135,6 +94,11 @@ qreal QmlRotationSensorReading::x() const
return m_x;
}
+QBindable<qreal> QmlRotationSensorReading::bindableX() const
+{
+ return &m_x;
+}
+
/*!
\qmlproperty qreal RotationReading::y
This property holds the rotation around the y axis.
@@ -147,6 +111,11 @@ qreal QmlRotationSensorReading::y() const
return m_y;
}
+QBindable<qreal> QmlRotationSensorReading::bindableY() const
+{
+ return &m_y;
+}
+
/*!
\qmlproperty qreal RotationReading::z
This property holds the rotation around the z axis.
@@ -159,6 +128,11 @@ qreal QmlRotationSensorReading::z() const
return m_z;
}
+QBindable<qreal> QmlRotationSensorReading::bindableZ() const
+{
+ return &m_z;
+}
+
QSensorReading *QmlRotationSensorReading::reading() const
{
return m_sensor->reading();
@@ -166,19 +140,7 @@ QSensorReading *QmlRotationSensorReading::reading() const
void QmlRotationSensorReading::readingUpdate()
{
- qreal rX = m_sensor->reading()->x();
- if (m_x != rX) {
- m_x = rX;
- Q_EMIT xChanged();
- }
- qreal rY = m_sensor->reading()->y();
- if (m_y != rY) {
- m_y = rY;
- Q_EMIT yChanged();
- }
- qreal rZ = m_sensor->reading()->z();
- if (m_z != rZ) {
- m_z = rZ;
- Q_EMIT zChanged();
- }
+ m_x = m_sensor->reading()->x();
+ m_y = m_sensor->reading()->y();
+ m_z = m_sensor->reading()->z();
}
diff --git a/src/sensorsquick/qmlrotationsensor_p.h b/src/sensorsquick/qmlrotationsensor_p.h
new file mode 100644
index 00000000..1ef008b8
--- /dev/null
+++ b/src/sensorsquick/qmlrotationsensor_p.h
@@ -0,0 +1,83 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLROTATIONSENSOR_P_H
+#define QMLROTATIONSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class QRotationSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlRotationSensor : public QmlSensor
+{
+ Q_OBJECT
+ Q_PROPERTY(bool hasZ READ hasZ NOTIFY hasZChanged)
+ QML_NAMED_ELEMENT(RotationSensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlRotationSensor(QObject *parent = 0);
+ ~QmlRotationSensor();
+
+ bool hasZ() const;
+ QSensor *sensor() const override;
+
+Q_SIGNALS:
+ void hasZChanged(bool hasZ);
+
+private:
+ QRotationSensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlRotationSensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal x READ x NOTIFY xChanged BINDABLE bindableX)
+ Q_PROPERTY(qreal y READ y NOTIFY yChanged BINDABLE bindableY)
+ Q_PROPERTY(qreal z READ z NOTIFY zChanged BINDABLE bindableZ)
+ QML_NAMED_ELEMENT(RotationReading)
+ QML_UNCREATABLE("Cannot create RotationReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlRotationSensorReading(QRotationSensor *sensor);
+ ~QmlRotationSensorReading();
+
+ qreal x() const;
+ QBindable<qreal> bindableX() const;
+ qreal y() const;
+ QBindable<qreal> bindableY() const;
+ qreal z() const;
+ QBindable<qreal> bindableZ() const;
+
+Q_SIGNALS:
+ void xChanged();
+ void yChanged();
+ void zChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QRotationSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlRotationSensorReading, qreal,
+ m_x, &QmlRotationSensorReading::xChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlRotationSensorReading, qreal,
+ m_y, &QmlRotationSensorReading::yChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlRotationSensorReading, qreal,
+ m_z, &QmlRotationSensorReading::zChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/imports/sensors/qmlsensor.cpp b/src/sensorsquick/qmlsensor.cpp
index 84eea6f7..d507e919 100644
--- a/src/imports/sensors/qmlsensor.cpp
+++ b/src/sensorsquick/qmlsensor.cpp
@@ -1,51 +1,45 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmlsensor.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlsensor_p.h"
#include <QtSensors/QSensor>
#include <QDebug>
+#include <QtCore/private/qobject_p.h>
QT_BEGIN_NAMESPACE
+class QmlSensorPrivate : public QObjectPrivate
+{
+ Q_DECLARE_PUBLIC(QmlSensor)
+public:
+
+ QList<QmlSensorRange *> availableRanges;
+ QList<QmlSensorOutputRange *> outputRanges;
+};
+
+template<typename Item>
+qsizetype readonlyListCount(QQmlListProperty<Item> *p)
+{
+ return static_cast<const QList<Item *> *>(p->data)->size();
+}
+
+template<typename Item>
+Item *readonlyListAt(QQmlListProperty<Item> *p, qsizetype idx)
+{
+ return static_cast<const QList<Item *> *>(p->data)->at(idx);
+};
+
+template<typename Item>
+QQmlListProperty<Item> readonlyListProperty(const QObject *o, const QList<Item *> *list)
+{
+ // Unfortunately QQmlListProperty won't accept a const object, even on the readonly ctor.
+ return QQmlListProperty<Item>(const_cast<QObject *>(o), const_cast<QList<Item *> *>(list),
+ readonlyListCount<Item>, readonlyListAt<Item>);
+}
+
/*!
\qmltype Sensor
- \instantiates QmlSensor
+//! \instantiates QmlSensor
\inqmlmodule QtSensors
\since QtSensors 5.0
\brief The Sensor element serves as a base type for sensors.
@@ -59,10 +53,7 @@ QT_BEGIN_NAMESPACE
*/
QmlSensor::QmlSensor(QObject *parent)
- : QObject(parent)
- , m_parsed(false)
- , m_active(false)
- , m_reading(0)
+ : QObject(*(new QmlSensorPrivate), parent)
{
}
@@ -77,16 +68,14 @@ QmlSensor::~QmlSensor()
Please see QSensor::identifier for information about this property.
*/
-QString QmlSensor::identifier() const
+QByteArray QmlSensor::identifier() const
{
- return m_identifier;
+ return sensor()->identifier();
}
-void QmlSensor::setIdentifier(const QString &identifier)
+void QmlSensor::setIdentifier(const QByteArray &identifier)
{
- if (m_parsed) return;
- m_identifier = identifier;
- Q_EMIT identifierChanged();
+ sensor()->setIdentifier(identifier);
}
/*!
@@ -94,9 +83,9 @@ void QmlSensor::setIdentifier(const QString &identifier)
This property holds the type of the sensor.
*/
-QString QmlSensor::type() const
+QByteArray QmlSensor::type() const
{
- return QString::fromLatin1(sensor()->type());
+ return sensor()->type();
}
/*!
@@ -132,23 +121,19 @@ bool QmlSensor::isBusy() const
void QmlSensor::setActive(bool active)
{
- m_active = active;
- if (!m_parsed) return; // delay (it'll get called again later)!
- bool wasActive = sensor()->isActive();
- if (wasActive == active) return;
- if (active) {
+ if (!m_componentComplete) {
+ m_activateOnComplete = active;
+ return;
+ }
+ if (active)
sensor()->start();
- m_active = sensor()->isActive();
- } else {
+ else
sensor()->stop();
- }
- if (m_active != wasActive)
- emit activeChanged();
}
bool QmlSensor::isActive() const
{
- return m_active;
+ return sensor()->isActive();
}
/*!
@@ -193,19 +178,10 @@ void QmlSensor::setSkipDuplicates(bool skipDuplicates)
Please see QSensor::availableDataRates for information about this property.
*/
-
QQmlListProperty<QmlSensorRange> QmlSensor::availableDataRates() const
{
- QList<QmlSensorRange*> ret;
- ret.reserve(sensor()->availableDataRates().size());
- foreach (const qrange &r, sensor()->availableDataRates()) {
- QmlSensorRange *range = new QmlSensorRange;
- //QQmlEngine::setObjectOwnership(range, QQmlEngine::JavaScriptOwnership);
- range->setMinumum(r.first);
- range->setMaximum(r.second);
- ret << range;
- }
- return QQmlListProperty<QmlSensorRange>(const_cast<QmlSensor*>(this), ret);
+ Q_D(const QmlSensor);
+ return readonlyListProperty<QmlSensorRange>(this, &d->availableRanges);
}
/*!
@@ -237,17 +213,8 @@ void QmlSensor::setDataRate(int rate)
QQmlListProperty<QmlSensorOutputRange> QmlSensor::outputRanges() const
{
- QList<QmlSensorOutputRange*> ret;
- ret.reserve(sensor()->outputRanges().size());
- foreach (const qoutputrange &r, sensor()->outputRanges()) {
- QmlSensorOutputRange *range = new QmlSensorOutputRange;
- //QQmlEngine::setObjectOwnership(range, QQmlEngine::JavaScriptOwnership);
- range->setMinimum(r.minimum);
- range->setMaximum(r.maximum);
- range->setAccuracy(r.accuracy);
- ret << range;
- }
- return QQmlListProperty<QmlSensorOutputRange>(const_cast<QmlSensor*>(this), ret);
+ Q_D(const QmlSensor);
+ return readonlyListProperty<QmlSensorOutputRange>(this, &d->outputRanges);
}
/*!
@@ -304,6 +271,26 @@ QmlSensorReading *QmlSensor::reading() const
return m_reading;
}
+QBindable<QmlSensorReading*> QmlSensor::bindableReading() const
+{
+ return &m_reading;
+}
+
+/*!
+ \qmlmethod bool Sensor::isFeatureSupported(feature)
+ \since QtSensors 6.7
+ Checks if a specific feature is supported by the backend.
+ Returns \c true if the \a feature is supported, and \c false otherwise.
+ For feature descriptions see \l {QSensor::Feature}.
+
+ Please see QSensor::isFeatureSupported for information.
+*/
+
+bool QmlSensor::isFeatureSupported(Feature feature) const
+{
+ return sensor()->isFeatureSupported(static_cast<QSensor::Feature>(feature));
+}
+
/*!
\qmlproperty Sensor::AxesOrientationMode Sensor::axesOrientationMode
\since QtSensors 5.1
@@ -399,20 +386,21 @@ void QmlSensor::setBufferSize(int bufferSize)
/*!
\qmlmethod bool Sensor::start()
- Start retrieving values from the sensor. Returns true if the sensor was started, false otherwise.
+ Start retrieving values from the sensor. Returns true if the sensor
+ was started, false otherwise.
Please see QSensor::start() for information.
*/
bool QmlSensor::start()
{
- setActive(true);
- return isActive();
+ return sensor()->start();
}
/*!
\qmlmethod bool Sensor::stop()
Stop retrieving values from the sensor.
+ Returns true if the sensor was stopped, false otherwise.
Please see QSensor::stop() for information.
*/
@@ -428,7 +416,7 @@ void QmlSensor::classBegin()
void QmlSensor::componentComplete()
{
- m_parsed = true;
+ m_componentComplete = true;
connect(sensor(), SIGNAL(sensorError(int)), this, SIGNAL(errorChanged()));
connect(sensor(), SIGNAL(activeChanged()), this, SIGNAL(activeChanged()));
@@ -441,63 +429,67 @@ void QmlSensor::componentComplete()
connect(sensor(), SIGNAL(bufferSizeChanged(int)), this, SIGNAL(bufferSizeChanged(int)));
connect(sensor(), SIGNAL(maxBufferSizeChanged(int)), this, SIGNAL(maxBufferSizeChanged(int)));
connect(sensor(), SIGNAL(efficientBufferSizeChanged(int)), this, SIGNAL(efficientBufferSizeChanged(int)));
-
- // We need to set this on the sensor object now
- sensor()->setIdentifier(m_identifier.toLocal8Bit());
+ connect(sensor(), &QSensor::busyChanged, this, &QmlSensor::busyChanged);
+ connect(sensor(), &QSensor::identifierChanged, this, &QmlSensor::identifierChanged);
// These can change!
- QByteArray oldIdentifier = sensor()->identifier();
int oldDataRate = dataRate();
int oldOutputRange = outputRange();
- bool ok = sensor()->connectToBackend();
- if (ok) {
+ if (sensor()->connectToBackend())
Q_EMIT connectedToBackendChanged();
- m_reading = createReading();
- m_reading->setParent(this);
- }
- if (oldIdentifier != sensor()->identifier()) {
- m_identifier = QString::fromLatin1(sensor()->identifier());
- Q_EMIT identifierChanged();
- }
+ m_reading.setValueBypassingBindings(createReading());
+ m_reading->setParent(this);
if (oldDataRate != dataRate())
Q_EMIT dataRateChanged();
if (oldOutputRange != outputRange())
Q_EMIT outputRangeChanged();
+ Q_D(QmlSensor);
+ const auto available = sensor()->availableDataRates();
+ d->availableRanges.reserve(available.size());
+ for (const qrange &r : available) {
+ auto *range = new QmlSensorRange(this);
+ range->setMinumum(r.first);
+ range->setMaximum(r.second);
+ d->availableRanges.append(range);
+ }
+ const auto output = sensor()->outputRanges();
+ d->outputRanges.reserve(output.size());
+ for (const qoutputrange &r : output) {
+ auto *range = new QmlSensorOutputRange(this);
+ range->setMinimum(r.minimum);
+ range->setMaximum(r.maximum);
+ range->setAccuracy(r.accuracy);
+ d->outputRanges.append(range);
+ }
+
// meta-data should become non-empty
if (!description().isEmpty())
Q_EMIT descriptionChanged();
- if (sensor()->availableDataRates().count())
+ if (available.size())
Q_EMIT availableDataRatesChanged();
- if (sensor()->outputRanges().count())
+ if (output.size())
Q_EMIT outputRangesChanged();
- _update();
-
connect(sensor(), SIGNAL(readingChanged()), this, SLOT(updateReading()));
- if (m_active) {
- m_active = false;
+ if (m_activateOnComplete)
start();
- }
-}
-
-void QmlSensor::_update()
-{
}
void QmlSensor::updateReading()
{
if (m_reading) {
m_reading->update();
+ m_reading.notify();
Q_EMIT readingChanged();
}
}
/*!
\qmltype SensorReading
- \instantiates QmlSensorReading
+//! \instantiates QmlSensorReading
\inqmlmodule QtSensors
\since QtSensors 5.0
\brief The SensorReading element serves as a base type for sensor readings.
@@ -510,15 +502,6 @@ void QmlSensor::updateReading()
This element cannot be directly created.
*/
-QmlSensorReading::QmlSensorReading(QSensor *)
- : QObject(0)
-{
-}
-
-QmlSensorReading::~QmlSensorReading()
-{
-}
-
/*!
\qmlproperty quint64 SensorReading::timestamp
A timestamp for the reading.
@@ -531,13 +514,15 @@ quint64 QmlSensorReading::timestamp() const
return m_timestamp;
}
+QBindable<quint64> QmlSensorReading::bindableTimestamp() const
+{
+ return &m_timestamp;
+}
+
+
void QmlSensorReading::update()
{
- quint64 ts = reading()->timestamp();
- if (m_timestamp != ts) {
- m_timestamp = ts;
- Q_EMIT timestampChanged();
- }
+ m_timestamp = reading()->timestamp();
readingUpdate();
}
diff --git a/src/imports/sensors/qmlsensor.h b/src/sensorsquick/qmlsensor_p.h
index e46278b2..d08d797f 100644
--- a/src/imports/sensors/qmlsensor.h
+++ b/src/sensorsquick/qmlsensor_p.h
@@ -1,48 +1,30 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QMLSENSOR_H
-#define QMLSENSOR_H
-
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLSENSOR_P_H
+#define QMLSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qsensorsquickglobal_p.h"
+
+#include <QObject>
+#include <QProperty>
#include <QQmlParserStatus>
+#include <QtQml/qqml.h>
#include <QQmlListProperty>
-#include "qmlsensorrange.h"
+#include <QtSensors/QSensor>
+
+#include "qmlsensorrange_p.h"
QT_BEGIN_NAMESPACE
@@ -51,18 +33,19 @@ class QSensorReading;
class QmlSensorReading;
-class QmlSensor : public QObject, public QQmlParserStatus
+class QmlSensorPrivate;
+class Q_SENSORSQUICK_EXPORT QmlSensor : public QObject, public QQmlParserStatus
{
Q_OBJECT
- Q_ENUMS(AxesOrientationMode)
+ Q_DECLARE_PRIVATE(QmlSensor)
Q_INTERFACES(QQmlParserStatus)
- Q_PROPERTY(QString identifier READ identifier WRITE setIdentifier NOTIFY identifierChanged)
- Q_PROPERTY(QString type READ type NOTIFY typeChanged)
+ Q_PROPERTY(QByteArray identifier READ identifier WRITE setIdentifier NOTIFY identifierChanged)
+ Q_PROPERTY(QByteArray type READ type CONSTANT)
Q_PROPERTY(bool connectedToBackend READ isConnectedToBackend NOTIFY connectedToBackendChanged)
Q_PROPERTY(QQmlListProperty<QmlSensorRange> availableDataRates READ availableDataRates NOTIFY availableDataRatesChanged)
Q_PROPERTY(int dataRate READ dataRate WRITE setDataRate NOTIFY dataRateChanged)
- Q_PROPERTY(QmlSensorReading* reading READ reading NOTIFY readingChanged)
- Q_PROPERTY(bool busy READ isBusy)
+ Q_PROPERTY(QmlSensorReading* reading READ reading NOTIFY readingChanged BINDABLE bindableReading)
+ Q_PROPERTY(bool busy READ isBusy NOTIFY busyChanged)
Q_PROPERTY(bool active READ isActive WRITE setActive NOTIFY activeChanged)
Q_PROPERTY(QQmlListProperty<QmlSensorOutputRange> outputRanges READ outputRanges NOTIFY outputRangesChanged)
Q_PROPERTY(int outputRange READ outputRange WRITE setOutputRange NOTIFY outputRangeChanged)
@@ -77,21 +60,38 @@ class QmlSensor : public QObject, public QQmlParserStatus
Q_PROPERTY(int efficientBufferSize READ efficientBufferSize NOTIFY efficientBufferSizeChanged REVISION 1)
Q_PROPERTY(int bufferSize READ bufferSize WRITE setBufferSize NOTIFY bufferSizeChanged REVISION 1)
+ QML_NAMED_ELEMENT(Sensor)
+ QML_UNCREATABLE("Cannot create Sensor")
+ QML_ADDED_IN_VERSION(5,0)
public:
+ // Keep in sync with QSensor::Feature
+ enum Feature : int {
+ Buffering = QSensor::Buffering,
+ AlwaysOn = QSensor::AlwaysOn,
+ GeoValues = QSensor::GeoValues,
+ FieldOfView = QSensor::FieldOfView,
+ AccelerationMode = QSensor::AccelerationMode,
+ SkipDuplicates = QSensor::SkipDuplicates,
+ AxesOrientation = QSensor::AxesOrientation,
+ PressureSensorTemperature = QSensor::PressureSensorTemperature
+ };
+ Q_ENUM(Feature)
+
// Keep in sync with QSensor::AxesOrientationMode
enum AxesOrientationMode {
FixedOrientation,
AutomaticOrientation,
UserOrientation
};
+ Q_ENUM(AxesOrientationMode)
explicit QmlSensor(QObject *parent = 0);
~QmlSensor();
- QString identifier() const;
- void setIdentifier(const QString &identifier);
+ QByteArray identifier() const;
+ void setIdentifier(const QByteArray &identifier);
- QString type() const;
+ QByteArray type() const;
bool isConnectedToBackend() const;
@@ -118,6 +118,9 @@ public:
int error() const;
QmlSensorReading *reading() const;
+ QBindable<QmlSensorReading*> bindableReading() const;
+
+ Q_INVOKABLE Q_REVISION(6, 7) bool isFeatureSupported(Feature feature) const;
AxesOrientationMode axesOrientationMode() const;
void setAxesOrientationMode(AxesOrientationMode axesOrientationMode);
@@ -134,13 +137,16 @@ public:
int bufferSize() const;
void setBufferSize(int bufferSize);
+ virtual QSensor *sensor() const = 0;
+
+ void componentComplete() override;
+
public Q_SLOTS:
bool start();
void stop();
Q_SIGNALS:
void identifierChanged();
- void typeChanged();
void connectedToBackendChanged();
void availableDataRatesChanged();
void dataRateChanged();
@@ -151,6 +157,7 @@ Q_SIGNALS:
void descriptionChanged();
void errorChanged();
void alwaysOnChanged();
+ void busyChanged();
Q_REVISION(1) void skipDuplicatesChanged(bool skipDuplicates);
Q_REVISION(1) void axesOrientationModeChanged(AxesOrientationMode axesOrientationMode);
Q_REVISION(1) void currentOrientationChanged(int currentOrientation);
@@ -160,33 +167,33 @@ Q_SIGNALS:
Q_REVISION(1) void bufferSizeChanged(int bufferSize);
protected:
- virtual QSensor *sensor() const = 0;
virtual QmlSensorReading *createReading() const = 0;
private Q_SLOTS:
void updateReading();
-protected Q_SLOTS:
- void componentComplete() override;
-
private:
void classBegin() override;
- virtual void _update();
- bool m_parsed;
- bool m_active;
- QString m_identifier;
- QmlSensorReading *m_reading;
+ bool m_componentComplete = false;
+ bool m_activateOnComplete = false;
+ Q_OBJECT_BINDABLE_PROPERTY_WITH_ARGS(QmlSensor, QmlSensorReading*,
+ m_reading, nullptr)
};
-class QmlSensorReading : public QObject
+class Q_SENSORSQUICK_EXPORT QmlSensorReading : public QObject
{
Q_OBJECT
- Q_PROPERTY(quint64 timestamp READ timestamp NOTIFY timestampChanged)
+ Q_PROPERTY(quint64 timestamp READ timestamp NOTIFY timestampChanged BINDABLE bindableTimestamp)
+ QML_NAMED_ELEMENT(SensorReading)
+ QML_UNCREATABLE("Cannot create SensorReading")
+ QML_ADDED_IN_VERSION(5,0)
public:
- explicit QmlSensorReading(QSensor *sensor);
- ~QmlSensorReading();
+ explicit QmlSensorReading() = default;
+ ~QmlSensorReading() = default;
quint64 timestamp() const;
+ QBindable<quint64> bindableTimestamp() const;
+
void update();
Q_SIGNALS:
@@ -195,7 +202,8 @@ Q_SIGNALS:
private:
virtual QSensorReading *reading() const = 0;
virtual void readingUpdate() = 0;
- quint64 m_timestamp;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlSensorReading, quint64,
+ m_timestamp, &QmlSensorReading::timestampChanged)
};
QT_END_NAMESPACE
diff --git a/src/sensorsquick/qmlsensorglobal.cpp b/src/sensorsquick/qmlsensorglobal.cpp
new file mode 100644
index 00000000..73f865c4
--- /dev/null
+++ b/src/sensorsquick/qmlsensorglobal.cpp
@@ -0,0 +1,86 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlsensorglobal_p.h"
+#include <QtSensors/QSensor>
+
+QT_BEGIN_NAMESPACE
+
+/*!
+ \qmltype QmlSensors
+//! \instantiates QmlSensorGlobal
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \brief The QmlSensors singleton provides the module API.
+
+ The QmlSensors singleton provides the module API.
+
+ This element cannot be directly created, but its functionality
+ can be accessed as a QML singleton as illustrated below:
+
+ \code
+ import QtSensors
+ import QtSensors as Sensors
+ ...
+ Component.onCompleted: {
+ var types = Sensors.QmlSensors.sensorTypes();
+ console.log(types.join(", "));
+ }
+ \endcode
+*/
+
+QmlSensorGlobal::QmlSensorGlobal(QObject *parent)
+ : QObject(parent)
+ , m_sensor(new QSensor(QByteArray(), this))
+{
+ connect(m_sensor, SIGNAL(availableSensorsChanged()), this, SIGNAL(availableSensorsChanged()));
+}
+
+QmlSensorGlobal::~QmlSensorGlobal()
+{
+}
+
+/*!
+ \qmlmethod list<string> QmlSensors::sensorTypes()
+ Returns a list of the sensor types that have been registered.
+
+ Please see QSensor::sensorTypes() for information.
+*/
+QStringList QmlSensorGlobal::sensorTypes() const
+{
+ QStringList ret;
+ const QList<QByteArray> sensorTypes = QSensor::sensorTypes();
+ ret.reserve(sensorTypes.size());
+ for (const QByteArray &type : sensorTypes)
+ ret << QString::fromLocal8Bit(type);
+ return ret;
+}
+
+/*!
+ \qmlmethod list<string> QmlSensors::sensorsForType(type)
+ Returns a list of the sensor identifiers that have been registered for \a type.
+
+ Please see QSensor::sensorsForType() for information.
+*/
+QStringList QmlSensorGlobal::sensorsForType(const QString &type) const
+{
+ QStringList ret;
+ const QList<QByteArray> sensors = QSensor::sensorsForType(type.toLocal8Bit());
+ ret.reserve(sensors.size());
+ for (const QByteArray &identifier : sensors)
+ ret << QString::fromLocal8Bit(identifier);
+ return ret;
+}
+
+/*!
+ \qmlmethod string QmlSensors::defaultSensorForType(type)
+ Returns the default sensor identifier that has been registered for \a type.
+
+ Please see QSensor::defaultSensorForType() for information.
+*/
+QString QmlSensorGlobal::defaultSensorForType(const QString &type) const
+{
+ return QString::fromLocal8Bit(QSensor::defaultSensorForType(type.toLocal8Bit()));
+}
+
+QT_END_NAMESPACE
diff --git a/src/sensorsquick/qmlsensorglobal_p.h b/src/sensorsquick/qmlsensorglobal_p.h
new file mode 100644
index 00000000..8b5214a2
--- /dev/null
+++ b/src/sensorsquick/qmlsensorglobal_p.h
@@ -0,0 +1,50 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLSENSORGLOBAL_P_H
+#define QMLSENSORGLOBAL_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qsensorsquickglobal_p.h"
+#include <QtQml/qqml.h>
+#include <QObject>
+#include <QStringList>
+
+QT_BEGIN_NAMESPACE
+
+class QSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlSensorGlobal : public QObject
+{
+ Q_OBJECT
+public:
+ explicit QmlSensorGlobal(QObject *parent = 0);
+ ~QmlSensorGlobal();
+
+ Q_INVOKABLE QStringList sensorTypes() const;
+ Q_INVOKABLE QStringList sensorsForType(const QString &type) const;
+ Q_INVOKABLE QString defaultSensorForType(const QString &type) const;
+ QML_NAMED_ELEMENT(QmlSensors)
+ QML_SINGLETON
+ QML_ADDED_IN_VERSION(5,0)
+
+Q_SIGNALS:
+ void availableSensorsChanged();
+
+private:
+ QSensor *m_sensor;
+};
+
+QT_END_NAMESPACE
+
+#endif
diff --git a/src/sensorsquick/qmlsensorrange.cpp b/src/sensorsquick/qmlsensorrange.cpp
new file mode 100644
index 00000000..2a1d4ae9
--- /dev/null
+++ b/src/sensorsquick/qmlsensorrange.cpp
@@ -0,0 +1,52 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmlsensorrange_p.h"
+
+QmlSensorRange::QmlSensorRange(QObject *parent)
+ : QObject(parent),
+ min(0),
+ max(0)
+{
+}
+
+QmlSensorRange::~QmlSensorRange()
+{
+}
+
+int QmlSensorRange::minimum() const
+{
+ return min;
+}
+
+int QmlSensorRange::maximum() const
+{
+ return max;
+}
+
+QmlSensorOutputRange::QmlSensorOutputRange(QObject *parent)
+ : QObject(parent),
+ min(0),
+ max(0),
+ acc(0)
+{
+}
+
+QmlSensorOutputRange::~QmlSensorOutputRange()
+{
+}
+
+qreal QmlSensorOutputRange::minimum() const
+{
+ return min;
+}
+
+qreal QmlSensorOutputRange::maximum() const
+{
+ return max;
+}
+
+qreal QmlSensorOutputRange::accuracy() const
+{
+ return acc;
+}
diff --git a/src/sensorsquick/qmlsensorrange_p.h b/src/sensorsquick/qmlsensorrange_p.h
new file mode 100644
index 00000000..324c24db
--- /dev/null
+++ b/src/sensorsquick/qmlsensorrange_p.h
@@ -0,0 +1,77 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLSENSORRANGE_P_H
+#define QMLSENSORRANGE_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtQml/qqml.h>
+#include <QObject>
+#include "qsensorsquickglobal_p.h"
+
+QT_BEGIN_NAMESPACE
+
+class Q_SENSORSQUICK_EXPORT QmlSensorRange : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(int minimum READ minimum)
+ Q_PROPERTY(int maximum READ maximum)
+ QML_NAMED_ELEMENT(Range)
+ QML_UNCREATABLE("Cannot create Range")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlSensorRange(QObject *parent = 0);
+ ~QmlSensorRange();
+
+ int minimum() const;
+ void setMinumum(int mini) { min = mini; }
+
+ int maximum() const;
+ void setMaximum(int maxi) { max = maxi; }
+
+private:
+
+ int min;
+ int max;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlSensorOutputRange : public QObject
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal minimum READ minimum)
+ Q_PROPERTY(qreal maximum READ maximum)
+ Q_PROPERTY(qreal accuracy READ accuracy)
+ QML_NAMED_ELEMENT(OutputRange)
+ QML_UNCREATABLE("Cannot create OutputRange")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlSensorOutputRange(QObject *parent = 0);
+ ~QmlSensorOutputRange();
+
+ qreal minimum() const;
+ void setMinimum(int mini) { min = mini; }
+
+ qreal maximum() const;
+ void setMaximum(int maxi) { max = maxi; }
+
+ qreal accuracy() const;
+ void setAccuracy(int accu) { acc = accu; }
+
+private:
+ qreal min;
+ qreal max;
+ qreal acc;
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/imports/sensors/qmltapsensor.cpp b/src/sensorsquick/qmltapsensor.cpp
index 76f34c2e..2fa75f00 100644
--- a/src/imports/sensors/qmltapsensor.cpp
+++ b/src/sensorsquick/qmltapsensor.cpp
@@ -1,54 +1,19 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:LGPL$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU Lesser General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU Lesser
-** General Public License version 3 as published by the Free Software
-** Foundation and appearing in the file LICENSE.LGPL3 included in the
-** packaging of this file. Please review the following information to
-** ensure the GNU Lesser General Public License version 3 requirements
-** will be met: https://www.gnu.org/licenses/lgpl-3.0.html.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 2.0 or (at your option) the GNU General
-** Public license version 3 or any later version approved by the KDE Free
-** Qt Foundation. The licenses are as published by the Free Software
-** Foundation and appearing in the file LICENSE.GPL2 and LICENSE.GPL3
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-2.0.html and
-** https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qmltapsensor.h"
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmltapsensor_p.h"
#include <QtSensors/QTapSensor>
/*!
\qmltype TapSensor
- \instantiates QmlTapSensor
+//! \instantiates QmlTapSensor
\ingroup qml-sensors_type
\inqmlmodule QtSensors
\since QtSensors 5.0
\inherits Sensor
\brief The TapSensor element reports tap and double tap events
along the X, Y and Z axes.
+ \internal
The TapSensor element reports tap and double tap events
along the X, Y and Z axes.
@@ -100,12 +65,13 @@ void QmlTapSensor::setReturnDoubleTapEvents(bool ret)
/*!
\qmltype TapReading
- \instantiates QmlTapSensorReading
+//! \instantiates QmlTapSensorReading
\ingroup qml-sensors_reading
\inqmlmodule QtSensors
\since QtSensors 5.0
\inherits SensorReading
\brief The TapReading element holds the most recent TapSensor reading.
+ \internal
The TapReading element holds the most recent TapSensor reading.
@@ -116,8 +82,7 @@ void QmlTapSensor::setReturnDoubleTapEvents(bool ret)
*/
QmlTapSensorReading::QmlTapSensorReading(QTapSensor *sensor)
- : QmlSensorReading(sensor)
- , m_sensor(sensor)
+ : m_sensor(sensor)
{
}
@@ -147,6 +112,12 @@ QTapReading::TapDirection QmlTapSensorReading::tapDirection() const
return m_tapDirection;
}
+QBindable<QTapReading::TapDirection> QmlTapSensorReading::bindableTapDirection() const
+{
+ return &m_tapDirection;
+}
+
+
/*!
\qmlproperty bool TapReading::doubleTap
This property holds a value indicating if there was a single or double tap.
@@ -159,6 +130,11 @@ bool QmlTapSensorReading::isDoubleTap() const
return m_isDoubleTap;
}
+QBindable<bool> QmlTapSensorReading::bindableDoubleTap() const
+{
+ return &m_isDoubleTap;
+}
+
QSensorReading *QmlTapSensorReading::reading() const
{
return const_cast<QTapSensor*>(m_sensor)->reading();
@@ -166,14 +142,6 @@ QSensorReading *QmlTapSensorReading::reading() const
void QmlTapSensorReading::readingUpdate()
{
- QTapReading::TapDirection td = m_sensor->reading()->tapDirection();
- if (m_tapDirection != td) {
- m_tapDirection = td;
- Q_EMIT tapDirectionChanged();
- }
- bool dTap = m_sensor->reading()->isDoubleTap();
- if (m_isDoubleTap != dTap) {
- m_isDoubleTap = dTap;
- Q_EMIT isDoubleTapChanged();
- }
+ m_tapDirection = m_sensor->reading()->tapDirection();
+ m_isDoubleTap = m_sensor->reading()->isDoubleTap();
}
diff --git a/src/sensorsquick/qmltapsensor_p.h b/src/sensorsquick/qmltapsensor_p.h
new file mode 100644
index 00000000..7537c5db
--- /dev/null
+++ b/src/sensorsquick/qmltapsensor_p.h
@@ -0,0 +1,83 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLTAPSENSOR_P_H
+#define QMLTAPSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+#include <QtSensors/QTapSensor>
+
+QT_BEGIN_NAMESPACE
+
+class QTapSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlTapSensor : public QmlSensor
+{
+ Q_OBJECT
+ Q_PROPERTY(bool returnDoubleTapEvents READ returnDoubleTapEvents WRITE setReturnDoubleTapEvents NOTIFY returnDoubleTapEventsChanged)
+ QML_NAMED_ELEMENT(TapSensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlTapSensor(QObject *parent = 0);
+ ~QmlTapSensor();
+
+ bool returnDoubleTapEvents() const;
+ void setReturnDoubleTapEvents(bool ret);
+
+ QSensor *sensor() const override;
+
+Q_SIGNALS:
+ void returnDoubleTapEventsChanged(bool returnDoubleTapEvents);
+
+private:
+ QTapSensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlTapSensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(QTapReading::TapDirection tapDirection READ tapDirection
+ NOTIFY tapDirectionChanged BINDABLE bindableTapDirection)
+ Q_PROPERTY(bool doubleTap READ isDoubleTap
+ NOTIFY isDoubleTapChanged BINDABLE bindableDoubleTap)
+ QML_NAMED_ELEMENT(TapReading)
+ QML_UNCREATABLE("Cannot create TapReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+
+ explicit QmlTapSensorReading(QTapSensor *sensor);
+ ~QmlTapSensorReading();
+
+ QTapReading::TapDirection tapDirection() const;
+ QBindable<QTapReading::TapDirection> bindableTapDirection() const;
+ bool isDoubleTap() const;
+ QBindable<bool> bindableDoubleTap() const;
+
+Q_SIGNALS:
+ void tapDirectionChanged();
+ void isDoubleTapChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QTapSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlTapSensorReading, QTapReading::TapDirection,
+ m_tapDirection, &QmlTapSensorReading::tapDirectionChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlTapSensorReading, bool,
+ m_isDoubleTap, &QmlTapSensorReading::isDoubleTapChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qmltiltsensor.cpp b/src/sensorsquick/qmltiltsensor.cpp
new file mode 100644
index 00000000..9f8e0335
--- /dev/null
+++ b/src/sensorsquick/qmltiltsensor.cpp
@@ -0,0 +1,128 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#include "qmltiltsensor_p.h"
+#include <QtSensors/qtiltsensor.h>
+
+QT_BEGIN_NAMESPACE
+QT_END_NAMESPACE
+
+/*!
+ \qmltype TiltSensor
+//! \instantiates QmlTiltSensor
+ \ingroup qml-sensors_type
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits Sensor
+ \brief The TiltSensor element reports tilt events
+ along the X and Y axes.
+
+ The TiltSensor element reports tilt events along the X and Y axes.
+
+ This element wraps the QTiltSensor class. Please see the documentation for
+ QTiltSensor for details.
+
+ \sa TiltReading
+*/
+
+QmlTiltSensor::QmlTiltSensor(QObject *parent)
+ : QmlSensor(parent)
+ , m_sensor(new QTiltSensor(this))
+{
+}
+
+QmlTiltSensor::~QmlTiltSensor()
+{
+}
+
+QmlSensorReading *QmlTiltSensor::createReading() const
+{
+ return new QmlTiltSensorReading(m_sensor);
+}
+
+QSensor *QmlTiltSensor::sensor() const
+{
+ return m_sensor;
+}
+
+/*!
+ \qmlmethod TiltSensor::calibrate()
+ Calibrate the tilt sensor.
+
+ Please see QTiltSensor::calibrate() for information about this property.
+*/
+void QmlTiltSensor::calibrate()
+{
+ m_sensor->calibrate();
+}
+
+/*!
+ \qmltype TiltReading
+//! \instantiates QmlTiltSensorReading
+ \ingroup qml-sensors_reading
+ \inqmlmodule QtSensors
+ \since QtSensors 5.0
+ \inherits SensorReading
+ \brief The TiltReading element holds the most recent TiltSensor reading.
+
+ The TiltReading element holds the most recent TiltSensor reading.
+
+ This element wraps the QTiltReading class. Please see the documentation for
+ QTiltReading for details.
+
+ This element cannot be directly created.
+*/
+
+QmlTiltSensorReading::QmlTiltSensorReading(QTiltSensor *sensor)
+ : m_sensor(sensor)
+{
+}
+
+QmlTiltSensorReading::~QmlTiltSensorReading()
+{
+}
+
+/*!
+ \qmlproperty qreal TiltReading::yRotation
+ This property holds the amount of tilt on the Y axis.
+
+ Please see QTiltReading::yRotation for information about this property.
+*/
+
+qreal QmlTiltSensorReading::yRotation() const
+{
+ return m_yRotation;
+}
+
+QBindable<qreal> QmlTiltSensorReading::bindableYRotation() const
+{
+ return &m_yRotation;
+}
+
+/*!
+ \qmlproperty qreal TiltReading::xRotation
+ This property holds the amount of tilt on the X axis.
+
+ Please see QTiltReading::xRotation for information about this property.
+*/
+
+qreal QmlTiltSensorReading::xRotation() const
+{
+ return m_xRotation;
+}
+
+QBindable<qreal> QmlTiltSensorReading::bindableXRotation() const
+{
+ return &m_xRotation;
+}
+
+QSensorReading *QmlTiltSensorReading::reading() const
+{
+ return m_sensor->reading();
+}
+
+void QmlTiltSensorReading::readingUpdate()
+{
+ m_yRotation = m_sensor->reading()->yRotation();
+ m_xRotation = m_sensor->reading()->xRotation();
+}
diff --git a/src/sensorsquick/qmltiltsensor_p.h b/src/sensorsquick/qmltiltsensor_p.h
new file mode 100644
index 00000000..d660229d
--- /dev/null
+++ b/src/sensorsquick/qmltiltsensor_p.h
@@ -0,0 +1,75 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QMLTILTSENSOR_P_H
+#define QMLTILTSENSOR_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qmlsensor_p.h"
+#include <QtSensors/QTiltSensor>
+
+QT_BEGIN_NAMESPACE
+
+class QTiltSensor;
+
+class Q_SENSORSQUICK_EXPORT QmlTiltSensor : public QmlSensor
+{
+ Q_OBJECT
+ QML_NAMED_ELEMENT(TiltSensor)
+ QML_ADDED_IN_VERSION(5,0)
+public:
+
+ explicit QmlTiltSensor(QObject *parent = 0);
+ ~QmlTiltSensor();
+ Q_INVOKABLE void calibrate();
+
+ QSensor *sensor() const override;
+
+private:
+ QTiltSensor *m_sensor;
+ QmlSensorReading *createReading() const override;
+};
+
+class Q_SENSORSQUICK_EXPORT QmlTiltSensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+ Q_PROPERTY(qreal yRotation READ yRotation NOTIFY yRotationChanged BINDABLE bindableYRotation)
+ Q_PROPERTY(qreal xRotation READ xRotation NOTIFY xRotationChanged BINDABLE bindableXRotation)
+ QML_NAMED_ELEMENT(TiltReading)
+ QML_UNCREATABLE("Cannot create TiltReading")
+ QML_ADDED_IN_VERSION(5,0)
+public:
+ explicit QmlTiltSensorReading(QTiltSensor *sensor);
+ ~QmlTiltSensorReading();
+
+ qreal yRotation() const;
+ QBindable<qreal> bindableYRotation() const;
+ qreal xRotation() const;
+ QBindable<qreal> bindableXRotation() const;
+
+Q_SIGNALS:
+ void yRotationChanged();
+ void xRotationChanged();
+
+private:
+ QSensorReading *reading() const override;
+ void readingUpdate() override;
+ QTiltSensor *m_sensor;
+ Q_OBJECT_BINDABLE_PROPERTY(QmlTiltSensorReading, qreal,
+ m_yRotation, &QmlTiltSensorReading::yRotationChanged)
+ Q_OBJECT_BINDABLE_PROPERTY(QmlTiltSensorReading, qreal,
+ m_xRotation, &QmlTiltSensorReading::xRotationChanged)
+};
+
+QT_END_NAMESPACE
+#endif
diff --git a/src/sensorsquick/qsensorsquickglobal_p.h b/src/sensorsquick/qsensorsquickglobal_p.h
new file mode 100644
index 00000000..4826ed82
--- /dev/null
+++ b/src/sensorsquick/qsensorsquickglobal_p.h
@@ -0,0 +1,23 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
+
+#ifndef QSENSORSQUICKGLOBALS_P_H
+#define QSENSORSQUICKGLOBALS_P_H
+
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <QtCore/qglobal.h>
+#include <QtSensorsQuick/qtsensorsquickexports.h>
+
+void Q_SENSORSQUICK_EXPORT qml_register_types_QtSensors();
+
+#endif // QSENSORSQUICKGLOBALS_P_H
diff --git a/src/src.pro b/src/src.pro
deleted file mode 100644
index b3aa7ba0..00000000
--- a/src/src.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += sensors
-sensors.subdir = sensors
-sensors.target = sub-sensors
-
-qtHaveModule(quick) {
- SUBDIRS += imports
- imports.subdir = imports
- imports.target = sub-imports
- imports.depends = sensors
-}
-
-SUBDIRS += plugins
-plugins.subdir = plugins
-plugins.target = sub-plugins
-plugins.depends = sensors
-
diff --git a/sync.profile b/sync.profile
deleted file mode 100644
index 1e7fd14c..00000000
--- a/sync.profile
+++ /dev/null
@@ -1,5 +0,0 @@
-%modules = ( # path to module name map
- "QtSensors" => "$basedir/src/sensors",
-);
-%moduleheaders = ( # restrict the module headers to those found in relative path
-);
diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt
new file mode 100644
index 00000000..c82db085
--- /dev/null
+++ b/tests/CMakeLists.txt
@@ -0,0 +1,9 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+
+if(QT_BUILD_STANDALONE_TESTS)
+ # Add qt_find_package calls for extra dependencies that need to be found when building
+ # the standalone tests here.
+endif()
+qt_build_tests()
diff --git a/tests/auto/CMakeLists.txt b/tests/auto/CMakeLists.txt
new file mode 100644
index 00000000..248e6566
--- /dev/null
+++ b/tests/auto/CMakeLists.txt
@@ -0,0 +1,8 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+add_subdirectory(qsensor)
+add_subdirectory(cmake)
+if(TARGET Qt::Quick)
+ add_subdirectory(qml)
+endif()
diff --git a/tests/auto/auto.pro b/tests/auto/auto.pro
deleted file mode 100644
index ffcb62cf..00000000
--- a/tests/auto/auto.pro
+++ /dev/null
@@ -1,14 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += qsensor
-qtHaveModule(qml) {
- SUBDIRS += sensors2qmlapi
- SUBDIRS += qtsensors5
-}
-#SUBDIRS += legacy_sensors
-SUBDIRS += qsensorgestures
-SUBDIRS += qsensorgestureplugins
-SUBDIRS += cmake
-
-!mac:!win32:SUBDIRS += qsensorgestures_gestures
-
diff --git a/tests/auto/bic/data/QtSensors.5.13.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSensors.5.13.0.linux-gcc-amd64.txt
new file mode 100644
index 00000000..e4efc9f6
--- /dev/null
+++ b/tests/auto/bic/data/QtSensors.5.13.0.linux-gcc-amd64.txt
@@ -0,0 +1,6821 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7f6fd5f84c60) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7f6fd4c8b420) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7f6fd4c8b660) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7f6fd4c8b8a0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7f6fd4c8bae0) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7f6fd4c8bc60) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7f6fd4cc4060) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7f6fd4cf5180) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7f6fd4d4b840) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7f6fd4d4b900) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7f6fd4d4bcc0) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7f6fd4d4bd20) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7f6fd4d4bd80) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7f6fd4d4bde0) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7f6fd4d4be40) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7f6fd4d4bf00) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7f6fd4d7b000) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7f6fd4d7b0c0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7f6fd4d7b180) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7f6fd4d7b4e0) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7f6fd4d7b840) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7f6fd4d7b8a0) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7f6fd4d7be40) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7f6fd49c74e0) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7f6fd498f750) 0 empty
+ std::__nonesuch (0x0x7f6fd49c79c0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7f6fd4a45360) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7f6fd4a453c0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7f6fd4aa20c0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7f6fd4aa2120) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7f6fd498fc30) 0 empty
+ std::input_iterator_tag (0x0x7f6fd4aa2180) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7f6fd498fc98) 0 empty
+ std::forward_iterator_tag (0x0x7f6fd498fd00) 0 empty
+ std::input_iterator_tag (0x0x7f6fd4aa21e0) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7f6fd498fd68) 0 empty
+ std::bidirectional_iterator_tag (0x0x7f6fd498fdd0) 0 empty
+ std::forward_iterator_tag (0x0x7f6fd498fe38) 0 empty
+ std::input_iterator_tag (0x0x7f6fd4aa2240) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7f6fd4b36d20) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7f6fd4b36e40) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7f6fd4b58180) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7f6fd4b58480) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7f6fd4b585a0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7f6fd47e48a0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7f6fd47e4ba0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7f6fd47e4c00) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7f6fd47e4cc0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7f6fd47e4d20) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7f6fd47e4d80) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7f6fd47e4de0) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7f6fd48250c0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7f6fd4825360) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7f6fd48253c0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7f6fd48db180) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7f6fd4af11a0) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7f6fd48db360) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7f6fd4af11a0)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7f6fd48db540) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7f6fd4af1208) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7f6fd48db900) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7f6fd4af1208)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7f6fd4af1270) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7f6fd48dbae0) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7f6fd4af1270)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7f6fd48dbcc0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7f6fd49142a0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7f6fd4af12d8) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7f6fd4914960) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f6fd4af12d8)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7f6fd4af1340) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7f6fd4af13a8) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7f6fd4af1340)
+ std::exception (0x0x7f6fd4914b40) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7f6fd4af13a8)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7f6fd4914d20) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7f6fd4914f00) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7f6fd45bc420) 0 empty
+
+Class qIsNull(double)::U
+ size=8 align=8
+ base size=8 base align=8
+qIsNull(double)::U (0x0x7f6fd4771ea0) 0
+
+Class qIsNull(float)::U
+ size=4 align=4
+ base size=4 base align=4
+qIsNull(float)::U (0x0x7f6fd4771f60) 0
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7f6fd4239900) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7f6fd4239a20) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7f6fd4239d80) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7f6fd4275300) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7f6fd42b1a80) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7f6fd4349ea0) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7f6fd42ff208) 0
+ std::__atomic_flag_base (0x0x7f6fd4349f00) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7f6fd42ff958) 0
+ QAtomicInteger<int> (0x0x7f6fd42ff9c0) 0
+ QBasicAtomicInteger<int> (0x0x7f6fd3e80ea0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7f6fd3ab21e0) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7f6fd3af7780) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7f6fd3af7ea0) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7f6fd3ad6548) 0
+ QGenericArgument (0x0x7f6fd3b36180) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7f6fd3b365a0) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7f6fd3b369c0) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7f6fd37e84e0) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7f6fd37e8780) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7f6fd38b35a0) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7f6fd38b3900) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7f6fd390fc00) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7f6fd360d480) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7f6fd360d540) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7f6fd36bb660) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7f6fd36bb720) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7f6fd36bb780) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7f6fd36bb7e0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7f6fd36bb840) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7f6fd36bb960) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7f6fd36bb9c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7f6fd33fd960) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7f6fd33fd9c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7f6fd31b8a20) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7f6fd31b8ba0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7f6fd332bd20) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7f6fd3377120) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7f6fd33773c0) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7f6fd33775a0) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7f6fd2fc25a0) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7f6fd33044e0) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7f6fd2fc2660) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f6fd33044e0)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7f6fd3304548) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7f6fd33045b0) 0
+ primary-for std::domain_error (0x0x7f6fd3304548)
+ std::exception (0x0x7f6fd2fc26c0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f6fd33045b0)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7f6fd3304618) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7f6fd3304680) 0
+ primary-for std::invalid_argument (0x0x7f6fd3304618)
+ std::exception (0x0x7f6fd2fc2720) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f6fd3304680)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7f6fd33046e8) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7f6fd3304750) 0
+ primary-for std::length_error (0x0x7f6fd33046e8)
+ std::exception (0x0x7f6fd2fc2780) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f6fd3304750)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7f6fd33047b8) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7f6fd3304820) 0
+ primary-for std::out_of_range (0x0x7f6fd33047b8)
+ std::exception (0x0x7f6fd2fc27e0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f6fd3304820)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7f6fd3304888) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7f6fd2fc2840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f6fd3304888)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7f6fd33048f0) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7f6fd3304958) 0
+ primary-for std::range_error (0x0x7f6fd33048f0)
+ std::exception (0x0x7f6fd2fc28a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f6fd3304958)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7f6fd33049c0) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7f6fd3304a28) 0
+ primary-for std::overflow_error (0x0x7f6fd33049c0)
+ std::exception (0x0x7f6fd2fc2900) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f6fd3304a28)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7f6fd3304a90) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7f6fd3304af8) 0
+ primary-for std::underflow_error (0x0x7f6fd3304a90)
+ std::exception (0x0x7f6fd2fc2960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f6fd3304af8)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7f6fd2fc2ae0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7f6fd2fc2e40) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7f6fd301e6c0) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7f6fd3304f08) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7f6fd3304f70) 0
+ primary-for std::system_error (0x0x7f6fd3304f08)
+ std::exception (0x0x7f6fd304a2a0) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f6fd3304f70)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7f6fd3074208) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7f6fd3074270) 0
+ primary-for std::ios_base::failure (0x0x7f6fd3074208)
+ std::runtime_error (0x0x7f6fd30742d8) 0
+ primary-for std::system_error (0x0x7f6fd3074270)
+ std::exception (0x0x7f6fd307c840) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7f6fd30742d8)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7f6fd307c8a0) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7f6fd307c900) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7f6fd307c960) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7f6fd307c7e0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7f6fd316e2a0) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7f6fd2e39480) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7f6fd29cf9c0 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7f6fd29cfa90 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7f6fd2a0e750 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7f6fd2a0e820 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7f6fd2a14de0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7f6fd2a14e40) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7f6fd2b7f240) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7f6fd280a0c0) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7f6fd280a540) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7f6fd28e0300) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7f6fd2961d20) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7f6fd2961cc0) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7f6fd272fea0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7f6fd24cf720) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7f6fd22e2a20) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7f6fd22e2ae0) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7f6fd1fb7000) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7f6fd2568b60) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f6fd1fb7720) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7f6fd2568c98) 0
+ std::_Bit_iterator_base (0x0x7f6fd2568d00) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f6fd1fb7d80) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7f6fd2568d68) 0
+ std::_Bit_iterator_base (0x0x7f6fd2568dd0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7f6fd1fea5a0) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7f6fd1da2c00) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7f6fd1ea69c0) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7f6fd1ea6a20) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7f6fd206e8f0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f6fd1ea6a80) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7f6fd1e98150) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f6fd1ea6ae0) 0 empty
+ QListData::NotIndirectLayout (0x0x7f6fd1ea6b40) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7f6fd206e958) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7f6fd1ea6ba0) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7f6fd1ea6c00) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7f6fd1ea6960) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7f6fd1b90de0) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7f6fd1c8c480) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7f6fd1c8c420) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7f6fd1c875b0) 0
+ QList<QString> (0x0x7f6fd1c87618) 0
+ QListSpecialMethods<QString> (0x0x7f6fd1c8c6c0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7f6fd1d56240) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7f6fd19db360) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7f6fd19db6c0) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7f6fd17bfc60) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7f6fd17bfcc0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7f6fd17bfe40) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7f6fd17bff00) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7f6fd1b51958) 0
+ std::__uses_alloc_base (0x0x7f6fd17bfea0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7f6fd194c2a0) 0 empty
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7f6fd1562720) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7f6fd1562a80) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7f6fd1588000) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7f6fd1588540) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7f6fd15ee720) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7f6fd15eede0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7f6fd1620c60) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7f6fd1300360) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7f6fd13598a0) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7f6fd119d6c0) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7f6fd0ec9180) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7f6fd0ec91e0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7f6fd0ec93c0) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7f6fd0ec9360) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7f6fd0f951e0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7f6fd0f95360) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7f6fd0f95c00) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7f6fd0f65b60) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7f6fd0f95ba0) 0
+ primary-for QAbstractAnimation (0x0x7f6fd0f65b60)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7f6fd0fcf000) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7f6fd0f65bc8) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7f6fd0f95f60) 0
+ primary-for QAnimationDriver (0x0x7f6fd0f65bc8)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7f6fd0fcf240) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7f6fd0f65c30) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7f6fd0fcf1e0) 0
+ primary-for QEventLoop (0x0x7f6fd0f65c30)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7f6fd0fcfae0) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7f6fd0fcfba0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7f6fd0fcfc00) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7f6fd0f65d68) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7f6fd0fcfb40) 0
+ primary-for QAbstractEventDispatcher (0x0x7f6fd0f65d68)
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7f6fd0c916e8) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7f6fd0cad2a0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7f6fd0c916e8)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7f6fd0cad360) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7f6fd0cad3c0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7f6fd0cad6c0) 0
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7f6fd0aa4660) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7f6fd0adb300) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7f6fd0ba7c60) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7f6fd0ba7c00) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7f6fd0ba7f00) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7f6fd08d24e0) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7f6fd08d25a0) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7f6fd08d2540) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7f6fd08d2600) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7f6fd08d2480) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7f6fd0a2c8a0) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7f6fd066df00) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7f6fd066dea0) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7f6fd0698060) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7f6fd0698000) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7f6fd07571e0) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7f6fd07adde0) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7f6fd0479c00) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7f6fd048d2d8) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7f6fd0479ba0) 0
+ primary-for QAbstractItemModel (0x0x7f6fd048d2d8)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7f6fd0559000) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7f6fd048d8f0) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7f6fd048d958) 0
+ primary-for QAbstractTableModel (0x0x7f6fd048d8f0)
+ QObject (0x0x7f6fd04d1f60) 0
+ primary-for QAbstractItemModel (0x0x7f6fd048d958)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7f6fd0559180) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7f6fd048d9c0) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7f6fd048da28) 0
+ primary-for QAbstractListModel (0x0x7f6fd048d9c0)
+ QObject (0x0x7f6fd0559120) 0
+ primary-for QAbstractItemModel (0x0x7f6fd048da28)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7f6fd05598a0) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7f6fd0559960) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7f6fd048daf8) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7f6fd048db60) 0
+ primary-for QAbstractProxyModel (0x0x7f6fd048daf8)
+ QObject (0x0x7f6fd0559900) 0
+ primary-for QAbstractItemModel (0x0x7f6fd048db60)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7f6fd0559ba0) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7f6fd048dbc8) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7f6fd0559b40) 0
+ primary-for QAbstractState (0x0x7f6fd048dbc8)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7f6fd0559de0) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7f6fd048dc30) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7f6fd0559d80) 0
+ primary-for QAbstractTransition (0x0x7f6fd048dc30)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7f6fd05f0120) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7f6fd048dc98) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7f6fd048dd00) 0
+ primary-for QAnimationGroup (0x0x7f6fd048dc98)
+ QObject (0x0x7f6fd05f00c0) 0
+ primary-for QAbstractAnimation (0x0x7f6fd048dd00)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7f6fd0644480) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7f6fd0284840) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7f6fd02d4cc0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7f6fd03470c0) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7f6fd0342270) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7f6fd0347060) 0
+ primary-for QIODevice (0x0x7f6fd0342270)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7f6fd0347a20) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7f6fd03423a8) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7f6fd0342410) 0
+ primary-for QBuffer (0x0x7f6fd03423a8)
+ QObject (0x0x7f6fd03479c0) 0
+ primary-for QIODevice (0x0x7f6fd0342410)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7f6fd0347cc0) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7f6fd0347c60) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7f6fd0347e40) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7f6fd0347de0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7f6fd03add20) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7f6fd040acc0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7f6fd00755a0) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7f6fd00df240) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7f6fd00df2a0) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7f6fd00df1e0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7f6fd01b1960) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7f6fcfe9cf00) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7f6fcff027e0) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7f6fcffa8300) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7f6fcffcef60) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7f6fcfffd120) 0
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7f6fcfc84d20) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7f6fcfc84cc0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7f6fcfe2dd80) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7f6fcfe2de40) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7f6fcfadb180) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7f6fcfadb900) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7f6fcfb827e0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7f6fcfbf25a0) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7f6fcf867000) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7f6fcf98cf60) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7f6fcfa1eae0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7f6fcfa1eba0) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7f6fcf48fba0) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7f6fcf527600) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7f6fcf527660) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7f6fcf5275a0) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7f6fcf63a060) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7f6fcf63a0c0) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7f6fcf63a000) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7f6fcf4327e0) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7f6fcf0ec780) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7f6fcf1234e0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7f6fcf1a8600) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7f6fcf1a87e0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7f6fcee9cd80) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7f6fcef264e0) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7f6fcef065b0) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7f6fcef268a0) 0
+ primary-for QTimerEvent (0x0x7f6fcef065b0)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7f6fcef06618) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7f6fcef26960) 0
+ primary-for QChildEvent (0x0x7f6fcef06618)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7f6fcef06b60) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7f6fcef64000) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7f6fcef06b60)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7f6fcef06bc8) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7f6fcef640c0) 0
+ primary-for QDeferredDeleteEvent (0x0x7f6fcef06bc8)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7f6fcef641e0) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7f6fcef06c30) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7f6fcef64180) 0
+ primary-for QCoreApplication (0x0x7f6fcef06c30)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7f6fcef64420) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7f6fcef645a0) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7f6fcef06c98) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7f6fcef06d00) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7f6fcef06c98)
+ QObject (0x0x7f6fcef64540) 0
+ primary-for QAbstractItemModel (0x0x7f6fcef06d00)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7f6fcef64780) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7f6fcef648a0) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7f6fcef64a20) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7f6fcf025180) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7f6fcf0258a0) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7f6fced68600) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7f6fced57f08) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7f6fced57f70) 0
+ primary-for QFileDevice (0x0x7f6fced57f08)
+ QObject (0x0x7f6fced685a0) 0
+ primary-for QIODevice (0x0x7f6fced57f70)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7f6fced68f00) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7f6fced910d0) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7f6fced91138) 0
+ primary-for QFile (0x0x7f6fced910d0)
+ QIODevice (0x0x7f6fced911a0) 0
+ primary-for QFileDevice (0x0x7f6fced91138)
+ QObject (0x0x7f6fced68ea0) 0
+ primary-for QIODevice (0x0x7f6fced911a0)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7f6fcedcb5a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7f6fcee35960) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7f6fceaa4cc0) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7f6fceaf4480) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7f6fcebfe5a0) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7f6fcebc3410) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7f6fcebc3478) 0
+ primary-for QEventTransition (0x0x7f6fcebc3410)
+ QObject (0x0x7f6fcebfe540) 0
+ primary-for QAbstractTransition (0x0x7f6fcebc3478)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7f6fcebc34e0) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7f6fcebfe780) 0 nearly-empty
+ primary-for QException (0x0x7f6fcebc34e0)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7f6fcebc3548) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7f6fcebc35b0) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7f6fcebc3548)
+ std::exception (0x0x7f6fcebfe7e0) 0 nearly-empty
+ primary-for QException (0x0x7f6fcebc35b0)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7f6fcebfe840) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7f6fcebfe900) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7f6fcebfe960) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7f6fcebfeba0) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7f6fcebc3618) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7f6fcebfeb40) 0
+ primary-for QFileSelector (0x0x7f6fcebc3618)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7f6fcebfede0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7f6fcebc3680) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7f6fcebfed80) 0
+ primary-for QFileSystemWatcher (0x0x7f6fcebc3680)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7f6fce854060) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7f6fcebc36e8) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7f6fcebc3750) 0
+ primary-for QFinalState (0x0x7f6fcebc36e8)
+ QObject (0x0x7f6fce854000) 0
+ primary-for QAbstractState (0x0x7f6fcebc3750)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7f6fce854240) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7f6fce8544e0) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7f6fcebc3820) 0
+ QBasicMutex (0x0x7f6fce8d7180) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7f6fce8d73c0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7f6fce8d7840) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7f6fce8d7e40) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7f6fce92b060) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7f6fce979840) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7f6fcea17b40) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7f6fce980e38) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7f6fcea17ae0) 0
+ primary-for QFutureWatcherBase (0x0x7f6fce980e38)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7f6fce63fea0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7f6fce63b680) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7f6fce63b6e8) 0
+ primary-for QHistoryState (0x0x7f6fce63b680)
+ QObject (0x0x7f6fce63fe40) 0
+ primary-for QAbstractState (0x0x7f6fce63b6e8)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7f6fce6701e0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7f6fce63b750) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f6fce63b7b8) 0
+ primary-for QIdentityProxyModel (0x0x7f6fce63b750)
+ QAbstractItemModel (0x0x7f6fce63b820) 0
+ primary-for QAbstractProxyModel (0x0x7f6fce63b7b8)
+ QObject (0x0x7f6fce670180) 0
+ primary-for QAbstractItemModel (0x0x7f6fce63b820)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7f6fce6703c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7f6fce72bcc0) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7f6fce73c1a0) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7f6fce72bc60) 0
+ primary-for QItemSelectionModel (0x0x7f6fce73c1a0)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7f6fce73c340) 0
+ QList<QItemSelectionRange> (0x0x7f6fce73c3a8) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7f6fce7637e0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7f6fce7fb120) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7f6fce555300) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7f6fce59d2a0) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7f6fce59d540) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7f6fce5df8a0) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7f6fce5df900) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7f6fce5df840) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7f6fce30c7e0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7f6fce30c840) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7f6fce37a060) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7f6fce37a0c0) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7f6fce37a000) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7f6fce08e420) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7f6fce088410) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7f6fce08e3c0) 0
+ primary-for QLibrary (0x0x7f6fce088410)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7f6fce0d52a0) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7f6fce08ed80) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7f6fce16c9c0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7f6fce16ca20) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7f6fce1de840) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7f6fcde4f9c0) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7f6fcdebdd80) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7f6fcdf6a060) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7f6fcdffb1e0) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7f6fcdffb420) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7f6fcdffb3c0) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7f6fcdffb840) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7f6fcdcb6780) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7f6fcdafdf60) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7f6fcdb24000) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7f6fcdb89840) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7f6fcdbc6a80) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7f6fcdbc6ba0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7f6fcd825180) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7f6fcd829068) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7f6fcd825120) 0
+ primary-for QMimeData (0x0x7f6fcd829068)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7f6fcd825360) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7f6fcd884480) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7f6fcd884540) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7f6fcd8833a8) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7f6fcd8844e0) 0
+ primary-for QObjectCleanupHandler (0x0x7f6fcd8833a8)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7f6fcd884660) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7f6fcd8f0de0) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7f6fcd8f7c30) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f6fcd8f7c98) 0
+ primary-for QParallelAnimationGroup (0x0x7f6fcd8f7c30)
+ QAbstractAnimation (0x0x7f6fcd8f7d00) 0
+ primary-for QAnimationGroup (0x0x7f6fcd8f7c98)
+ QObject (0x0x7f6fcd8f0d80) 0
+ primary-for QAbstractAnimation (0x0x7f6fcd8f7d00)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7f6fcd91b060) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7f6fcd8f7d68) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7f6fcd8f7dd0) 0
+ primary-for QPauseAnimation (0x0x7f6fcd8f7d68)
+ QObject (0x0x7f6fcd91b000) 0
+ primary-for QAbstractAnimation (0x0x7f6fcd8f7dd0)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7f6fcd91bc60) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7f6fcd969de0) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7f6fcd980138) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7f6fcd969d80) 0
+ primary-for QPluginLoader (0x0x7f6fcd980138)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7f6fcd969f00) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7f6fcd9e25a0) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7f6fcd9d2d68) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7f6fcd9d2dd0) 0
+ primary-for QProcess (0x0x7f6fcd9d2d68)
+ QObject (0x0x7f6fcd9e2540) 0
+ primary-for QIODevice (0x0x7f6fcd9d2dd0)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7f6fcd9e2c60) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7f6fcd9d2e38) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7f6fcd9d2ea0) 0
+ primary-for QVariantAnimation (0x0x7f6fcd9d2e38)
+ QObject (0x0x7f6fcd9e2c00) 0
+ primary-for QAbstractAnimation (0x0x7f6fcd9d2ea0)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7f6fcd9e2f00) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7f6fcd9d2f70) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7f6fcd632000) 0
+ primary-for QPropertyAnimation (0x0x7f6fcd9d2f70)
+ QAbstractAnimation (0x0x7f6fcd632068) 0
+ primary-for QVariantAnimation (0x0x7f6fcd632000)
+ QObject (0x0x7f6fcd9e2ea0) 0
+ primary-for QAbstractAnimation (0x0x7f6fcd632068)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7f6fcd6aa660) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7f6fcd7b33c0) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7f6fcd7b3360) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7f6fcd59d120) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7f6fcd3a8d80) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7f6fcd3a8d20) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7f6fccfb4d00) 0
+ QRandomGenerator (0x0x7f6fccfd48a0) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7f6fccff7480) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7f6fccff7720) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7f6fccff7c00) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7f6fcd07c120) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7f6fcd0c5f00) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7f6fcd13fea0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7f6fccde5f00) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7f6fcceee060) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7f6fcceee300) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7f6fcce836e8) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7f6fcce83750) 0
+ primary-for QSaveFile (0x0x7f6fcce836e8)
+ QIODevice (0x0x7f6fcce837b8) 0
+ primary-for QFileDevice (0x0x7f6fcce83750)
+ QObject (0x0x7f6fcceee2a0) 0
+ primary-for QIODevice (0x0x7f6fcce837b8)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7f6fcceee900) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7f6fcceeea80) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7f6fccc16d20) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7f6fccc264e0) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7f6fccc26548) 0
+ primary-for QSequentialAnimationGroup (0x0x7f6fccc264e0)
+ QAbstractAnimation (0x0x7f6fccc265b0) 0
+ primary-for QAnimationGroup (0x0x7f6fccc26548)
+ QObject (0x0x7f6fccc16cc0) 0
+ primary-for QAbstractAnimation (0x0x7f6fccc265b0)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7f6fccc16f60) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7f6fccc26618) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7f6fccc16f00) 0
+ primary-for QSettings (0x0x7f6fccc26618)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7f6fccc59420) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7f6fccc26680) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7f6fccc593c0) 0
+ primary-for QSharedMemory (0x0x7f6fccc26680)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7f6fccc59660) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7f6fccc266e8) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7f6fccc59600) 0
+ primary-for QSignalMapper (0x0x7f6fccc266e8)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7f6fccc598a0) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7f6fccc26750) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7f6fccc267b8) 0
+ primary-for QSignalTransition (0x0x7f6fccc26750)
+ QObject (0x0x7f6fccc59840) 0
+ primary-for QAbstractTransition (0x0x7f6fccc267b8)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7f6fccc59b40) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7f6fccc26820) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7f6fccc59ae0) 0
+ primary-for QSocketNotifier (0x0x7f6fccc26820)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7f6fccc59d80) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7f6fccc26888) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f6fccc268f0) 0
+ primary-for QSortFilterProxyModel (0x0x7f6fccc26888)
+ QAbstractItemModel (0x0x7f6fccc26958) 0
+ primary-for QAbstractProxyModel (0x0x7f6fccc268f0)
+ QObject (0x0x7f6fccc59d20) 0
+ primary-for QAbstractItemModel (0x0x7f6fccc26958)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7f6fcccc81e0) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7f6fcccc8ae0) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7f6fccc26af8) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7f6fccc26b60) 0
+ primary-for QState (0x0x7f6fccc26af8)
+ QObject (0x0x7f6fcccc8a80) 0
+ primary-for QAbstractState (0x0x7f6fccc26b60)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7f6fcccc8f60) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7f6fccc26d00) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7f6fccd19000) 0
+ primary-for QStateMachine::SignalEvent (0x0x7f6fccc26d00)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7f6fccc26d68) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7f6fccd19060) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7f6fccc26d68)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7f6fccc26bc8) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7f6fccc26c30) 0
+ primary-for QStateMachine (0x0x7f6fccc26bc8)
+ QAbstractState (0x0x7f6fccc26c98) 0
+ primary-for QState (0x0x7f6fccc26c30)
+ QObject (0x0x7f6fcccc8f00) 0
+ primary-for QAbstractState (0x0x7f6fccc26c98)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7f6fccd19420) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7f6fcc9b7420) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7f6fcca42780) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7f6fcca10ea0) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7f6fcca10f08) 0
+ primary-for QStringListModel (0x0x7f6fcca10ea0)
+ QAbstractItemModel (0x0x7f6fcca10f70) 0
+ primary-for QAbstractListModel (0x0x7f6fcca10f08)
+ QObject (0x0x7f6fcca42720) 0
+ primary-for QAbstractItemModel (0x0x7f6fcca10f70)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7f6fcca428a0) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7f6fcca42960) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7f6fcca42a80) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7f6fcca87000) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7f6fcca87068) 0
+ primary-for QTemporaryFile (0x0x7f6fcca87000)
+ QFileDevice (0x0x7f6fcca870d0) 0
+ primary-for QFile (0x0x7f6fcca87068)
+ QIODevice (0x0x7f6fcca87138) 0
+ primary-for QFileDevice (0x0x7f6fcca870d0)
+ QObject (0x0x7f6fcca42a20) 0
+ primary-for QIODevice (0x0x7f6fcca87138)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7f6fcca42de0) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7f6fccaa9660) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7f6fccaa9600) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7f6fccb11060) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7f6fccb11240) 0
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7f6fccb11420) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7f6fcca87340) 0
+ std::__mutex_base (0x0x7f6fccb11480) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7f6fccb11660) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7f6fccb116c0) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7f6fccb11720) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7f6fccb55180) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7f6fcca873a8) 0
+ std::__recursive_mutex_base (0x0x7f6fccb551e0) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7f6fccb07f50) 0
+ std::__mutex_base (0x0x7f6fccb555a0) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7f6fccb55600) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7f6fccb732a0) 0
+ std::__recursive_mutex_base (0x0x7f6fccb55960) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7f6fccb559c0) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7f6fcc799120) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7f6fcca874e0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7f6fcc799660) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7f6fcca874e0)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7f6fcca87548) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7f6fcc799780) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7f6fcca87548)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7f6fcca875b0) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7f6fcc7998a0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7f6fcca875b0)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7f6fcca87680) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7f6fcc7999c0) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7f6fcca87680)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7f6fcc7c9a20) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7f6fcc7c9d20) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7f6fcc7e9060) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7f6fcc7e93c0) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7f6fcca876e8) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7f6fcc8635a0) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7f6fcca876e8)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7f6fcc8cb540) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7f6fcc8cb960) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7f6fcc6197e0) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7f6fcc645c60) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7f6fcc645cc0) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7f6fcc645c00) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7f6fcc5080c0) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7f6fcc508480) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7f6fcc5084e0) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7f6fcc28b7e0) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7f6fcc280f70) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7f6fcc2b9000) 0
+ primary-for std::future_error (0x0x7f6fcc280f70)
+ std::exception (0x0x7f6fcc28bf00) 0 nearly-empty
+ primary-for std::logic_error (0x0x7f6fcc2b9000)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7f6fcc2c1660) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7f6fcc2c1600) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7f6fcc07ed80) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7f6fcc0a7820) 0
+ std::__at_thread_exit_elt (0x0x7f6fcc07ee40) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7f6fcc2c17e0) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7f6fcc2c15a0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7f6fcb828548) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7f6fcb838e40) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7f6fcb828548)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7f6fcb876720) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7f6fcb828888) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7f6fcb8766c0) 0
+ primary-for QThread (0x0x7f6fcb828888)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7f6fcb876ae0) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7f6fcb8288f0) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7f6fcb876a80) 0
+ primary-for QThreadPool (0x0x7f6fcb8288f0)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7f6fcb876cc0) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7f6fcb8ba3c0) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7f6fcb828958) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7f6fcb8ba360) 0
+ primary-for QTimeLine (0x0x7f6fcb828958)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7f6fcb8ba600) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7f6fcb8289c0) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7f6fcb8ba5a0) 0
+ primary-for QTimer (0x0x7f6fcb8289c0)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7f6fcb8fcf60) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7f6fcb8fcf00) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7f6fcb5c6060) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7f6fcb5be0d0) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7f6fcb5c6000) 0
+ primary-for QTranslator (0x0x7f6fcb5be0d0)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7f6fcb5c62a0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7f6fcb5be138) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7f6fcb5be1a0) 0
+ primary-for QTransposeProxyModel (0x0x7f6fcb5be138)
+ QAbstractItemModel (0x0x7f6fcb5be208) 0
+ primary-for QAbstractProxyModel (0x0x7f6fcb5be1a0)
+ QObject (0x0x7f6fcb5c6240) 0
+ primary-for QAbstractItemModel (0x0x7f6fcb5be208)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7f6fcb5c6480) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7f6fcb645e40) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7f6fcb645f60) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7f6fcb6f5360) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7f6fcb75a888) 0
+ QVector<QXmlStreamAttribute> (0x0x7f6fcb757a80) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7f6fcb757d80) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7f6fcb3d8d20) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7f6fcb432d20) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7f6fcb49cde0) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7f6fcb49ce40) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7f6fcb4dcd20) 0
+
+Class qoutputrange
+ size=24 align=8
+ base size=24 base align=8
+qoutputrange (0x0x7f6fcb4dcf00) 0
+
+Class QSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensor::QPrivateSignal (0x0x7f6fcb530000) 0 empty
+
+Vtable for QSensor
+QSensor::_ZTV7QSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSensor)
+16 (int (*)(...))QSensor::metaObject
+24 (int (*)(...))QSensor::qt_metacast
+32 (int (*)(...))QSensor::qt_metacall
+40 (int (*)(...))QSensor::~QSensor
+48 (int (*)(...))QSensor::~QSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSensor
+ size=16 align=8
+ base size=16 base align=8
+QSensor (0x0x7f6fcb4e4548) 0
+ vptr=((& QSensor::_ZTV7QSensor) + 16)
+ QObject (0x0x7f6fcb4dcf60) 0
+ primary-for QSensor (0x0x7f6fcb4e4548)
+
+Vtable for QSensorFilter
+QSensorFilter::_ZTV13QSensorFilter: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSensorFilter)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+
+Class QSensorFilter
+ size=16 align=8
+ base size=16 base align=8
+QSensorFilter (0x0x7f6fcb5301e0) 0
+ vptr=((& QSensorFilter::_ZTV13QSensorFilter) + 16)
+
+Class QSensorReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorReading::QPrivateSignal (0x0x7f6fcb5302a0) 0 empty
+
+Vtable for QSensorReading
+QSensorReading::_ZTV14QSensorReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSensorReading)
+16 (int (*)(...))QSensorReading::metaObject
+24 (int (*)(...))QSensorReading::qt_metacast
+32 (int (*)(...))QSensorReading::qt_metacall
+40 (int (*)(...))QSensorReading::~QSensorReading
+48 (int (*)(...))QSensorReading::~QSensorReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSensorReading::copyValuesFrom
+
+Class QSensorReading
+ size=24 align=8
+ base size=24 base align=8
+QSensorReading (0x0x7f6fcb4e45b0) 0
+ vptr=((& QSensorReading::_ZTV14QSensorReading) + 16)
+ QObject (0x0x7f6fcb530240) 0
+ primary-for QSensorReading (0x0x7f6fcb4e45b0)
+
+Class QAccelerometerReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccelerometerReading::QPrivateSignal (0x0x7f6fcb530d80) 0 empty
+
+Vtable for QAccelerometerReading
+QAccelerometerReading::_ZTV21QAccelerometerReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccelerometerReading)
+16 (int (*)(...))QAccelerometerReading::metaObject
+24 (int (*)(...))QAccelerometerReading::qt_metacast
+32 (int (*)(...))QAccelerometerReading::qt_metacall
+40 (int (*)(...))QAccelerometerReading::~QAccelerometerReading
+48 (int (*)(...))QAccelerometerReading::~QAccelerometerReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAccelerometerReading::copyValuesFrom
+
+Class QAccelerometerReading
+ size=32 align=8
+ base size=32 base align=8
+QAccelerometerReading (0x0x7f6fcb4e46e8) 0
+ vptr=((& QAccelerometerReading::_ZTV21QAccelerometerReading) + 16)
+ QSensorReading (0x0x7f6fcb4e4750) 0
+ primary-for QAccelerometerReading (0x0x7f6fcb4e46e8)
+ QObject (0x0x7f6fcb530d20) 0
+ primary-for QSensorReading (0x0x7f6fcb4e4750)
+
+Vtable for QAccelerometerFilter
+QAccelerometerFilter::_ZTV20QAccelerometerFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccelerometerFilter)
+16 (int (*)(...))QAccelerometerFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccelerometerFilter
+ size=16 align=8
+ base size=16 base align=8
+QAccelerometerFilter (0x0x7f6fcb4e47b8) 0
+ vptr=((& QAccelerometerFilter::_ZTV20QAccelerometerFilter) + 16)
+ QSensorFilter (0x0x7f6fcb530f00) 0
+ primary-for QAccelerometerFilter (0x0x7f6fcb4e47b8)
+
+Class QAccelerometer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccelerometer::QPrivateSignal (0x0x7f6fcb1e9000) 0 empty
+
+Vtable for QAccelerometer
+QAccelerometer::_ZTV14QAccelerometer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAccelerometer)
+16 (int (*)(...))QAccelerometer::metaObject
+24 (int (*)(...))QAccelerometer::qt_metacast
+32 (int (*)(...))QAccelerometer::qt_metacall
+40 (int (*)(...))QAccelerometer::~QAccelerometer
+48 (int (*)(...))QAccelerometer::~QAccelerometer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAccelerometer
+ size=16 align=8
+ base size=16 base align=8
+QAccelerometer (0x0x7f6fcb4e4820) 0
+ vptr=((& QAccelerometer::_ZTV14QAccelerometer) + 16)
+ QSensor (0x0x7f6fcb4e4888) 0
+ primary-for QAccelerometer (0x0x7f6fcb4e4820)
+ QObject (0x0x7f6fcb530f60) 0
+ primary-for QSensor (0x0x7f6fcb4e4888)
+
+Class QAltimeterReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAltimeterReading::QPrivateSignal (0x0x7f6fcb1e9240) 0 empty
+
+Vtable for QAltimeterReading
+QAltimeterReading::_ZTV17QAltimeterReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAltimeterReading)
+16 (int (*)(...))QAltimeterReading::metaObject
+24 (int (*)(...))QAltimeterReading::qt_metacast
+32 (int (*)(...))QAltimeterReading::qt_metacall
+40 (int (*)(...))QAltimeterReading::~QAltimeterReading
+48 (int (*)(...))QAltimeterReading::~QAltimeterReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAltimeterReading::copyValuesFrom
+
+Class QAltimeterReading
+ size=32 align=8
+ base size=32 base align=8
+QAltimeterReading (0x0x7f6fcb4e48f0) 0
+ vptr=((& QAltimeterReading::_ZTV17QAltimeterReading) + 16)
+ QSensorReading (0x0x7f6fcb4e4958) 0
+ primary-for QAltimeterReading (0x0x7f6fcb4e48f0)
+ QObject (0x0x7f6fcb1e91e0) 0
+ primary-for QSensorReading (0x0x7f6fcb4e4958)
+
+Vtable for QAltimeterFilter
+QAltimeterFilter::_ZTV16QAltimeterFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAltimeterFilter)
+16 (int (*)(...))QAltimeterFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAltimeterFilter
+ size=16 align=8
+ base size=16 base align=8
+QAltimeterFilter (0x0x7f6fcb4e49c0) 0
+ vptr=((& QAltimeterFilter::_ZTV16QAltimeterFilter) + 16)
+ QSensorFilter (0x0x7f6fcb1e93c0) 0
+ primary-for QAltimeterFilter (0x0x7f6fcb4e49c0)
+
+Class QAltimeter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAltimeter::QPrivateSignal (0x0x7f6fcb1e9480) 0 empty
+
+Vtable for QAltimeter
+QAltimeter::_ZTV10QAltimeter: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QAltimeter)
+16 (int (*)(...))QAltimeter::metaObject
+24 (int (*)(...))QAltimeter::qt_metacast
+32 (int (*)(...))QAltimeter::qt_metacall
+40 (int (*)(...))QAltimeter::~QAltimeter
+48 (int (*)(...))QAltimeter::~QAltimeter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAltimeter
+ size=16 align=8
+ base size=16 base align=8
+QAltimeter (0x0x7f6fcb4e4a28) 0
+ vptr=((& QAltimeter::_ZTV10QAltimeter) + 16)
+ QSensor (0x0x7f6fcb4e4a90) 0
+ primary-for QAltimeter (0x0x7f6fcb4e4a28)
+ QObject (0x0x7f6fcb1e9420) 0
+ primary-for QSensor (0x0x7f6fcb4e4a90)
+
+Class QAmbientLightReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientLightReading::QPrivateSignal (0x0x7f6fcb1e9600) 0 empty
+
+Vtable for QAmbientLightReading
+QAmbientLightReading::_ZTV20QAmbientLightReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAmbientLightReading)
+16 (int (*)(...))QAmbientLightReading::metaObject
+24 (int (*)(...))QAmbientLightReading::qt_metacast
+32 (int (*)(...))QAmbientLightReading::qt_metacall
+40 (int (*)(...))QAmbientLightReading::~QAmbientLightReading
+48 (int (*)(...))QAmbientLightReading::~QAmbientLightReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAmbientLightReading::copyValuesFrom
+
+Class QAmbientLightReading
+ size=32 align=8
+ base size=32 base align=8
+QAmbientLightReading (0x0x7f6fcb4e4af8) 0
+ vptr=((& QAmbientLightReading::_ZTV20QAmbientLightReading) + 16)
+ QSensorReading (0x0x7f6fcb4e4b60) 0
+ primary-for QAmbientLightReading (0x0x7f6fcb4e4af8)
+ QObject (0x0x7f6fcb1e95a0) 0
+ primary-for QSensorReading (0x0x7f6fcb4e4b60)
+
+Vtable for QAmbientLightFilter
+QAmbientLightFilter::_ZTV19QAmbientLightFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAmbientLightFilter)
+16 (int (*)(...))QAmbientLightFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAmbientLightFilter
+ size=16 align=8
+ base size=16 base align=8
+QAmbientLightFilter (0x0x7f6fcb4e4bc8) 0
+ vptr=((& QAmbientLightFilter::_ZTV19QAmbientLightFilter) + 16)
+ QSensorFilter (0x0x7f6fcb1e9780) 0
+ primary-for QAmbientLightFilter (0x0x7f6fcb4e4bc8)
+
+Class QAmbientLightSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientLightSensor::QPrivateSignal (0x0x7f6fcb1e9840) 0 empty
+
+Vtable for QAmbientLightSensor
+QAmbientLightSensor::_ZTV19QAmbientLightSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAmbientLightSensor)
+16 (int (*)(...))QAmbientLightSensor::metaObject
+24 (int (*)(...))QAmbientLightSensor::qt_metacast
+32 (int (*)(...))QAmbientLightSensor::qt_metacall
+40 (int (*)(...))QAmbientLightSensor::~QAmbientLightSensor
+48 (int (*)(...))QAmbientLightSensor::~QAmbientLightSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAmbientLightSensor
+ size=16 align=8
+ base size=16 base align=8
+QAmbientLightSensor (0x0x7f6fcb4e4c30) 0
+ vptr=((& QAmbientLightSensor::_ZTV19QAmbientLightSensor) + 16)
+ QSensor (0x0x7f6fcb4e4c98) 0
+ primary-for QAmbientLightSensor (0x0x7f6fcb4e4c30)
+ QObject (0x0x7f6fcb1e97e0) 0
+ primary-for QSensor (0x0x7f6fcb4e4c98)
+
+Class QAmbientTemperatureReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientTemperatureReading::QPrivateSignal (0x0x7f6fcb1e99c0) 0 empty
+
+Vtable for QAmbientTemperatureReading
+QAmbientTemperatureReading::_ZTV26QAmbientTemperatureReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAmbientTemperatureReading)
+16 (int (*)(...))QAmbientTemperatureReading::metaObject
+24 (int (*)(...))QAmbientTemperatureReading::qt_metacast
+32 (int (*)(...))QAmbientTemperatureReading::qt_metacall
+40 (int (*)(...))QAmbientTemperatureReading::~QAmbientTemperatureReading
+48 (int (*)(...))QAmbientTemperatureReading::~QAmbientTemperatureReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAmbientTemperatureReading::copyValuesFrom
+
+Class QAmbientTemperatureReading
+ size=32 align=8
+ base size=32 base align=8
+QAmbientTemperatureReading (0x0x7f6fcb4e4d00) 0
+ vptr=((& QAmbientTemperatureReading::_ZTV26QAmbientTemperatureReading) + 16)
+ QSensorReading (0x0x7f6fcb4e4d68) 0
+ primary-for QAmbientTemperatureReading (0x0x7f6fcb4e4d00)
+ QObject (0x0x7f6fcb1e9960) 0
+ primary-for QSensorReading (0x0x7f6fcb4e4d68)
+
+Vtable for QAmbientTemperatureFilter
+QAmbientTemperatureFilter::_ZTV25QAmbientTemperatureFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAmbientTemperatureFilter)
+16 (int (*)(...))QAmbientTemperatureFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAmbientTemperatureFilter
+ size=16 align=8
+ base size=16 base align=8
+QAmbientTemperatureFilter (0x0x7f6fcb4e4dd0) 0
+ vptr=((& QAmbientTemperatureFilter::_ZTV25QAmbientTemperatureFilter) + 16)
+ QSensorFilter (0x0x7f6fcb1e9b40) 0
+ primary-for QAmbientTemperatureFilter (0x0x7f6fcb4e4dd0)
+
+Class QAmbientTemperatureSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientTemperatureSensor::QPrivateSignal (0x0x7f6fcb1e9c00) 0 empty
+
+Vtable for QAmbientTemperatureSensor
+QAmbientTemperatureSensor::_ZTV25QAmbientTemperatureSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAmbientTemperatureSensor)
+16 (int (*)(...))QAmbientTemperatureSensor::metaObject
+24 (int (*)(...))QAmbientTemperatureSensor::qt_metacast
+32 (int (*)(...))QAmbientTemperatureSensor::qt_metacall
+40 (int (*)(...))QAmbientTemperatureSensor::~QAmbientTemperatureSensor
+48 (int (*)(...))QAmbientTemperatureSensor::~QAmbientTemperatureSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAmbientTemperatureSensor
+ size=16 align=8
+ base size=16 base align=8
+QAmbientTemperatureSensor (0x0x7f6fcb4e4e38) 0
+ vptr=((& QAmbientTemperatureSensor::_ZTV25QAmbientTemperatureSensor) + 16)
+ QSensor (0x0x7f6fcb4e4ea0) 0
+ primary-for QAmbientTemperatureSensor (0x0x7f6fcb4e4e38)
+ QObject (0x0x7f6fcb1e9ba0) 0
+ primary-for QSensor (0x0x7f6fcb4e4ea0)
+
+Class QCompassReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompassReading::QPrivateSignal (0x0x7f6fcb1e9d80) 0 empty
+
+Vtable for QCompassReading
+QCompassReading::_ZTV15QCompassReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCompassReading)
+16 (int (*)(...))QCompassReading::metaObject
+24 (int (*)(...))QCompassReading::qt_metacast
+32 (int (*)(...))QCompassReading::qt_metacall
+40 (int (*)(...))QCompassReading::~QCompassReading
+48 (int (*)(...))QCompassReading::~QCompassReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompassReading::copyValuesFrom
+
+Class QCompassReading
+ size=32 align=8
+ base size=32 base align=8
+QCompassReading (0x0x7f6fcb4e4f08) 0
+ vptr=((& QCompassReading::_ZTV15QCompassReading) + 16)
+ QSensorReading (0x0x7f6fcb4e4f70) 0
+ primary-for QCompassReading (0x0x7f6fcb4e4f08)
+ QObject (0x0x7f6fcb1e9d20) 0
+ primary-for QSensorReading (0x0x7f6fcb4e4f70)
+
+Vtable for QCompassFilter
+QCompassFilter::_ZTV14QCompassFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QCompassFilter)
+16 (int (*)(...))QCompassFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QCompassFilter
+ size=16 align=8
+ base size=16 base align=8
+QCompassFilter (0x0x7f6fcb258000) 0
+ vptr=((& QCompassFilter::_ZTV14QCompassFilter) + 16)
+ QSensorFilter (0x0x7f6fcb1e9f00) 0
+ primary-for QCompassFilter (0x0x7f6fcb258000)
+
+Class QCompass::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompass::QPrivateSignal (0x0x7f6fcb25e000) 0 empty
+
+Vtable for QCompass
+QCompass::_ZTV8QCompass: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QCompass)
+16 (int (*)(...))QCompass::metaObject
+24 (int (*)(...))QCompass::qt_metacast
+32 (int (*)(...))QCompass::qt_metacall
+40 (int (*)(...))QCompass::~QCompass
+48 (int (*)(...))QCompass::~QCompass
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QCompass
+ size=16 align=8
+ base size=16 base align=8
+QCompass (0x0x7f6fcb258068) 0
+ vptr=((& QCompass::_ZTV8QCompass) + 16)
+ QSensor (0x0x7f6fcb2580d0) 0
+ primary-for QCompass (0x0x7f6fcb258068)
+ QObject (0x0x7f6fcb1e9f60) 0
+ primary-for QSensor (0x0x7f6fcb2580d0)
+
+Class QDistanceReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDistanceReading::QPrivateSignal (0x0x7f6fcb25e180) 0 empty
+
+Vtable for QDistanceReading
+QDistanceReading::_ZTV16QDistanceReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDistanceReading)
+16 (int (*)(...))QDistanceReading::metaObject
+24 (int (*)(...))QDistanceReading::qt_metacast
+32 (int (*)(...))QDistanceReading::qt_metacall
+40 (int (*)(...))QDistanceReading::~QDistanceReading
+48 (int (*)(...))QDistanceReading::~QDistanceReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDistanceReading::copyValuesFrom
+
+Class QDistanceReading
+ size=32 align=8
+ base size=32 base align=8
+QDistanceReading (0x0x7f6fcb258138) 0
+ vptr=((& QDistanceReading::_ZTV16QDistanceReading) + 16)
+ QSensorReading (0x0x7f6fcb2581a0) 0
+ primary-for QDistanceReading (0x0x7f6fcb258138)
+ QObject (0x0x7f6fcb25e120) 0
+ primary-for QSensorReading (0x0x7f6fcb2581a0)
+
+Vtable for QDistanceFilter
+QDistanceFilter::_ZTV15QDistanceFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDistanceFilter)
+16 (int (*)(...))QDistanceFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QDistanceFilter
+ size=16 align=8
+ base size=16 base align=8
+QDistanceFilter (0x0x7f6fcb258208) 0
+ vptr=((& QDistanceFilter::_ZTV15QDistanceFilter) + 16)
+ QSensorFilter (0x0x7f6fcb25e300) 0
+ primary-for QDistanceFilter (0x0x7f6fcb258208)
+
+Class QDistanceSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDistanceSensor::QPrivateSignal (0x0x7f6fcb25e3c0) 0 empty
+
+Vtable for QDistanceSensor
+QDistanceSensor::_ZTV15QDistanceSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDistanceSensor)
+16 (int (*)(...))QDistanceSensor::metaObject
+24 (int (*)(...))QDistanceSensor::qt_metacast
+32 (int (*)(...))QDistanceSensor::qt_metacall
+40 (int (*)(...))QDistanceSensor::~QDistanceSensor
+48 (int (*)(...))QDistanceSensor::~QDistanceSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDistanceSensor
+ size=16 align=8
+ base size=16 base align=8
+QDistanceSensor (0x0x7f6fcb258270) 0
+ vptr=((& QDistanceSensor::_ZTV15QDistanceSensor) + 16)
+ QSensor (0x0x7f6fcb2582d8) 0
+ primary-for QDistanceSensor (0x0x7f6fcb258270)
+ QObject (0x0x7f6fcb25e360) 0
+ primary-for QSensor (0x0x7f6fcb2582d8)
+
+Class QGyroscopeReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGyroscopeReading::QPrivateSignal (0x0x7f6fcb25e540) 0 empty
+
+Vtable for QGyroscopeReading
+QGyroscopeReading::_ZTV17QGyroscopeReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGyroscopeReading)
+16 (int (*)(...))QGyroscopeReading::metaObject
+24 (int (*)(...))QGyroscopeReading::qt_metacast
+32 (int (*)(...))QGyroscopeReading::qt_metacall
+40 (int (*)(...))QGyroscopeReading::~QGyroscopeReading
+48 (int (*)(...))QGyroscopeReading::~QGyroscopeReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGyroscopeReading::copyValuesFrom
+
+Class QGyroscopeReading
+ size=32 align=8
+ base size=32 base align=8
+QGyroscopeReading (0x0x7f6fcb258340) 0
+ vptr=((& QGyroscopeReading::_ZTV17QGyroscopeReading) + 16)
+ QSensorReading (0x0x7f6fcb2583a8) 0
+ primary-for QGyroscopeReading (0x0x7f6fcb258340)
+ QObject (0x0x7f6fcb25e4e0) 0
+ primary-for QSensorReading (0x0x7f6fcb2583a8)
+
+Vtable for QGyroscopeFilter
+QGyroscopeFilter::_ZTV16QGyroscopeFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGyroscopeFilter)
+16 (int (*)(...))QGyroscopeFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QGyroscopeFilter
+ size=16 align=8
+ base size=16 base align=8
+QGyroscopeFilter (0x0x7f6fcb258410) 0
+ vptr=((& QGyroscopeFilter::_ZTV16QGyroscopeFilter) + 16)
+ QSensorFilter (0x0x7f6fcb25e6c0) 0
+ primary-for QGyroscopeFilter (0x0x7f6fcb258410)
+
+Class QGyroscope::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGyroscope::QPrivateSignal (0x0x7f6fcb25e780) 0 empty
+
+Vtable for QGyroscope
+QGyroscope::_ZTV10QGyroscope: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QGyroscope)
+16 (int (*)(...))QGyroscope::metaObject
+24 (int (*)(...))QGyroscope::qt_metacast
+32 (int (*)(...))QGyroscope::qt_metacall
+40 (int (*)(...))QGyroscope::~QGyroscope
+48 (int (*)(...))QGyroscope::~QGyroscope
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGyroscope
+ size=16 align=8
+ base size=16 base align=8
+QGyroscope (0x0x7f6fcb258478) 0
+ vptr=((& QGyroscope::_ZTV10QGyroscope) + 16)
+ QSensor (0x0x7f6fcb2584e0) 0
+ primary-for QGyroscope (0x0x7f6fcb258478)
+ QObject (0x0x7f6fcb25e720) 0
+ primary-for QSensor (0x0x7f6fcb2584e0)
+
+Class QHolsterReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHolsterReading::QPrivateSignal (0x0x7f6fcb25e900) 0 empty
+
+Vtable for QHolsterReading
+QHolsterReading::_ZTV15QHolsterReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHolsterReading)
+16 (int (*)(...))QHolsterReading::metaObject
+24 (int (*)(...))QHolsterReading::qt_metacast
+32 (int (*)(...))QHolsterReading::qt_metacall
+40 (int (*)(...))QHolsterReading::~QHolsterReading
+48 (int (*)(...))QHolsterReading::~QHolsterReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHolsterReading::copyValuesFrom
+
+Class QHolsterReading
+ size=32 align=8
+ base size=32 base align=8
+QHolsterReading (0x0x7f6fcb258548) 0
+ vptr=((& QHolsterReading::_ZTV15QHolsterReading) + 16)
+ QSensorReading (0x0x7f6fcb2585b0) 0
+ primary-for QHolsterReading (0x0x7f6fcb258548)
+ QObject (0x0x7f6fcb25e8a0) 0
+ primary-for QSensorReading (0x0x7f6fcb2585b0)
+
+Vtable for QHolsterFilter
+QHolsterFilter::_ZTV14QHolsterFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QHolsterFilter)
+16 (int (*)(...))QHolsterFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QHolsterFilter
+ size=16 align=8
+ base size=16 base align=8
+QHolsterFilter (0x0x7f6fcb258618) 0
+ vptr=((& QHolsterFilter::_ZTV14QHolsterFilter) + 16)
+ QSensorFilter (0x0x7f6fcb25ea80) 0
+ primary-for QHolsterFilter (0x0x7f6fcb258618)
+
+Class QHolsterSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHolsterSensor::QPrivateSignal (0x0x7f6fcb25eb40) 0 empty
+
+Vtable for QHolsterSensor
+QHolsterSensor::_ZTV14QHolsterSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QHolsterSensor)
+16 (int (*)(...))QHolsterSensor::metaObject
+24 (int (*)(...))QHolsterSensor::qt_metacast
+32 (int (*)(...))QHolsterSensor::qt_metacall
+40 (int (*)(...))QHolsterSensor::~QHolsterSensor
+48 (int (*)(...))QHolsterSensor::~QHolsterSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QHolsterSensor
+ size=16 align=8
+ base size=16 base align=8
+QHolsterSensor (0x0x7f6fcb258680) 0
+ vptr=((& QHolsterSensor::_ZTV14QHolsterSensor) + 16)
+ QSensor (0x0x7f6fcb2586e8) 0
+ primary-for QHolsterSensor (0x0x7f6fcb258680)
+ QObject (0x0x7f6fcb25eae0) 0
+ primary-for QSensor (0x0x7f6fcb2586e8)
+
+Class QHumidityReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHumidityReading::QPrivateSignal (0x0x7f6fcb25ecc0) 0 empty
+
+Vtable for QHumidityReading
+QHumidityReading::_ZTV16QHumidityReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QHumidityReading)
+16 (int (*)(...))QHumidityReading::metaObject
+24 (int (*)(...))QHumidityReading::qt_metacast
+32 (int (*)(...))QHumidityReading::qt_metacall
+40 (int (*)(...))QHumidityReading::~QHumidityReading
+48 (int (*)(...))QHumidityReading::~QHumidityReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHumidityReading::copyValuesFrom
+
+Class QHumidityReading
+ size=32 align=8
+ base size=32 base align=8
+QHumidityReading (0x0x7f6fcb258750) 0
+ vptr=((& QHumidityReading::_ZTV16QHumidityReading) + 16)
+ QSensorReading (0x0x7f6fcb2587b8) 0
+ primary-for QHumidityReading (0x0x7f6fcb258750)
+ QObject (0x0x7f6fcb25ec60) 0
+ primary-for QSensorReading (0x0x7f6fcb2587b8)
+
+Vtable for QHumidityFilter
+QHumidityFilter::_ZTV15QHumidityFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHumidityFilter)
+16 (int (*)(...))QHumidityFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QHumidityFilter
+ size=16 align=8
+ base size=16 base align=8
+QHumidityFilter (0x0x7f6fcb258820) 0
+ vptr=((& QHumidityFilter::_ZTV15QHumidityFilter) + 16)
+ QSensorFilter (0x0x7f6fcb25ee40) 0
+ primary-for QHumidityFilter (0x0x7f6fcb258820)
+
+Class QHumiditySensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHumiditySensor::QPrivateSignal (0x0x7f6fcb25ef00) 0 empty
+
+Vtable for QHumiditySensor
+QHumiditySensor::_ZTV15QHumiditySensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHumiditySensor)
+16 (int (*)(...))QHumiditySensor::metaObject
+24 (int (*)(...))QHumiditySensor::qt_metacast
+32 (int (*)(...))QHumiditySensor::qt_metacall
+40 (int (*)(...))QHumiditySensor::~QHumiditySensor
+48 (int (*)(...))QHumiditySensor::~QHumiditySensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QHumiditySensor
+ size=16 align=8
+ base size=16 base align=8
+QHumiditySensor (0x0x7f6fcb258888) 0
+ vptr=((& QHumiditySensor::_ZTV15QHumiditySensor) + 16)
+ QSensor (0x0x7f6fcb2588f0) 0
+ primary-for QHumiditySensor (0x0x7f6fcb258888)
+ QObject (0x0x7f6fcb25eea0) 0
+ primary-for QSensor (0x0x7f6fcb2588f0)
+
+Class QIRProximityReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIRProximityReading::QPrivateSignal (0x0x7f6fcb2d7180) 0 empty
+
+Vtable for QIRProximityReading
+QIRProximityReading::_ZTV19QIRProximityReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIRProximityReading)
+16 (int (*)(...))QIRProximityReading::metaObject
+24 (int (*)(...))QIRProximityReading::qt_metacast
+32 (int (*)(...))QIRProximityReading::qt_metacall
+40 (int (*)(...))QIRProximityReading::~QIRProximityReading
+48 (int (*)(...))QIRProximityReading::~QIRProximityReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIRProximityReading::copyValuesFrom
+
+Class QIRProximityReading
+ size=32 align=8
+ base size=32 base align=8
+QIRProximityReading (0x0x7f6fcb258958) 0
+ vptr=((& QIRProximityReading::_ZTV19QIRProximityReading) + 16)
+ QSensorReading (0x0x7f6fcb2589c0) 0
+ primary-for QIRProximityReading (0x0x7f6fcb258958)
+ QObject (0x0x7f6fcb2d7120) 0
+ primary-for QSensorReading (0x0x7f6fcb2589c0)
+
+Vtable for QIRProximityFilter
+QIRProximityFilter::_ZTV18QIRProximityFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QIRProximityFilter)
+16 (int (*)(...))QIRProximityFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QIRProximityFilter
+ size=16 align=8
+ base size=16 base align=8
+QIRProximityFilter (0x0x7f6fcb258a28) 0
+ vptr=((& QIRProximityFilter::_ZTV18QIRProximityFilter) + 16)
+ QSensorFilter (0x0x7f6fcb2d7300) 0
+ primary-for QIRProximityFilter (0x0x7f6fcb258a28)
+
+Class QIRProximitySensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIRProximitySensor::QPrivateSignal (0x0x7f6fcb2d73c0) 0 empty
+
+Vtable for QIRProximitySensor
+QIRProximitySensor::_ZTV18QIRProximitySensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QIRProximitySensor)
+16 (int (*)(...))QIRProximitySensor::metaObject
+24 (int (*)(...))QIRProximitySensor::qt_metacast
+32 (int (*)(...))QIRProximitySensor::qt_metacall
+40 (int (*)(...))QIRProximitySensor::~QIRProximitySensor
+48 (int (*)(...))QIRProximitySensor::~QIRProximitySensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QIRProximitySensor
+ size=16 align=8
+ base size=16 base align=8
+QIRProximitySensor (0x0x7f6fcb258a90) 0
+ vptr=((& QIRProximitySensor::_ZTV18QIRProximitySensor) + 16)
+ QSensor (0x0x7f6fcb258af8) 0
+ primary-for QIRProximitySensor (0x0x7f6fcb258a90)
+ QObject (0x0x7f6fcb2d7360) 0
+ primary-for QSensor (0x0x7f6fcb258af8)
+
+Class QLidReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLidReading::QPrivateSignal (0x0x7f6fcb2d7540) 0 empty
+
+Vtable for QLidReading
+QLidReading::_ZTV11QLidReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLidReading)
+16 (int (*)(...))QLidReading::metaObject
+24 (int (*)(...))QLidReading::qt_metacast
+32 (int (*)(...))QLidReading::qt_metacall
+40 (int (*)(...))QLidReading::~QLidReading
+48 (int (*)(...))QLidReading::~QLidReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLidReading::copyValuesFrom
+
+Class QLidReading
+ size=32 align=8
+ base size=32 base align=8
+QLidReading (0x0x7f6fcb258b60) 0
+ vptr=((& QLidReading::_ZTV11QLidReading) + 16)
+ QSensorReading (0x0x7f6fcb258bc8) 0
+ primary-for QLidReading (0x0x7f6fcb258b60)
+ QObject (0x0x7f6fcb2d74e0) 0
+ primary-for QSensorReading (0x0x7f6fcb258bc8)
+
+Vtable for QLidFilter
+QLidFilter::_ZTV10QLidFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLidFilter)
+16 (int (*)(...))QLidFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QLidFilter
+ size=16 align=8
+ base size=16 base align=8
+QLidFilter (0x0x7f6fcb258c30) 0
+ vptr=((& QLidFilter::_ZTV10QLidFilter) + 16)
+ QSensorFilter (0x0x7f6fcb2d76c0) 0
+ primary-for QLidFilter (0x0x7f6fcb258c30)
+
+Class QLidSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLidSensor::QPrivateSignal (0x0x7f6fcb2d7780) 0 empty
+
+Vtable for QLidSensor
+QLidSensor::_ZTV10QLidSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLidSensor)
+16 (int (*)(...))QLidSensor::metaObject
+24 (int (*)(...))QLidSensor::qt_metacast
+32 (int (*)(...))QLidSensor::qt_metacall
+40 (int (*)(...))QLidSensor::~QLidSensor
+48 (int (*)(...))QLidSensor::~QLidSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLidSensor
+ size=16 align=8
+ base size=16 base align=8
+QLidSensor (0x0x7f6fcb258c98) 0
+ vptr=((& QLidSensor::_ZTV10QLidSensor) + 16)
+ QSensor (0x0x7f6fcb258d00) 0
+ primary-for QLidSensor (0x0x7f6fcb258c98)
+ QObject (0x0x7f6fcb2d7720) 0
+ primary-for QSensor (0x0x7f6fcb258d00)
+
+Class QLightReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLightReading::QPrivateSignal (0x0x7f6fcb2d7900) 0 empty
+
+Vtable for QLightReading
+QLightReading::_ZTV13QLightReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QLightReading)
+16 (int (*)(...))QLightReading::metaObject
+24 (int (*)(...))QLightReading::qt_metacast
+32 (int (*)(...))QLightReading::qt_metacall
+40 (int (*)(...))QLightReading::~QLightReading
+48 (int (*)(...))QLightReading::~QLightReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLightReading::copyValuesFrom
+
+Class QLightReading
+ size=32 align=8
+ base size=32 base align=8
+QLightReading (0x0x7f6fcb258d68) 0
+ vptr=((& QLightReading::_ZTV13QLightReading) + 16)
+ QSensorReading (0x0x7f6fcb258dd0) 0
+ primary-for QLightReading (0x0x7f6fcb258d68)
+ QObject (0x0x7f6fcb2d78a0) 0
+ primary-for QSensorReading (0x0x7f6fcb258dd0)
+
+Vtable for QLightFilter
+QLightFilter::_ZTV12QLightFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLightFilter)
+16 (int (*)(...))QLightFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QLightFilter
+ size=16 align=8
+ base size=16 base align=8
+QLightFilter (0x0x7f6fcb258e38) 0
+ vptr=((& QLightFilter::_ZTV12QLightFilter) + 16)
+ QSensorFilter (0x0x7f6fcb2d7a80) 0
+ primary-for QLightFilter (0x0x7f6fcb258e38)
+
+Class QLightSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLightSensor::QPrivateSignal (0x0x7f6fcb2d7b40) 0 empty
+
+Vtable for QLightSensor
+QLightSensor::_ZTV12QLightSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLightSensor)
+16 (int (*)(...))QLightSensor::metaObject
+24 (int (*)(...))QLightSensor::qt_metacast
+32 (int (*)(...))QLightSensor::qt_metacall
+40 (int (*)(...))QLightSensor::~QLightSensor
+48 (int (*)(...))QLightSensor::~QLightSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLightSensor
+ size=16 align=8
+ base size=16 base align=8
+QLightSensor (0x0x7f6fcb258ea0) 0
+ vptr=((& QLightSensor::_ZTV12QLightSensor) + 16)
+ QSensor (0x0x7f6fcb258f08) 0
+ primary-for QLightSensor (0x0x7f6fcb258ea0)
+ QObject (0x0x7f6fcb2d7ae0) 0
+ primary-for QSensor (0x0x7f6fcb258f08)
+
+Class QMagnetometerReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMagnetometerReading::QPrivateSignal (0x0x7f6fcb2d7d80) 0 empty
+
+Vtable for QMagnetometerReading
+QMagnetometerReading::_ZTV20QMagnetometerReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMagnetometerReading)
+16 (int (*)(...))QMagnetometerReading::metaObject
+24 (int (*)(...))QMagnetometerReading::qt_metacast
+32 (int (*)(...))QMagnetometerReading::qt_metacall
+40 (int (*)(...))QMagnetometerReading::~QMagnetometerReading
+48 (int (*)(...))QMagnetometerReading::~QMagnetometerReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMagnetometerReading::copyValuesFrom
+
+Class QMagnetometerReading
+ size=32 align=8
+ base size=32 base align=8
+QMagnetometerReading (0x0x7f6fcb258f70) 0
+ vptr=((& QMagnetometerReading::_ZTV20QMagnetometerReading) + 16)
+ QSensorReading (0x0x7f6fcb331000) 0
+ primary-for QMagnetometerReading (0x0x7f6fcb258f70)
+ QObject (0x0x7f6fcb2d7d20) 0
+ primary-for QSensorReading (0x0x7f6fcb331000)
+
+Vtable for QMagnetometerFilter
+QMagnetometerFilter::_ZTV19QMagnetometerFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QMagnetometerFilter)
+16 (int (*)(...))QMagnetometerFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QMagnetometerFilter
+ size=16 align=8
+ base size=16 base align=8
+QMagnetometerFilter (0x0x7f6fcb331068) 0
+ vptr=((& QMagnetometerFilter::_ZTV19QMagnetometerFilter) + 16)
+ QSensorFilter (0x0x7f6fcb2d7f00) 0
+ primary-for QMagnetometerFilter (0x0x7f6fcb331068)
+
+Class QMagnetometer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMagnetometer::QPrivateSignal (0x0x7f6fcb346000) 0 empty
+
+Vtable for QMagnetometer
+QMagnetometer::_ZTV13QMagnetometer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMagnetometer)
+16 (int (*)(...))QMagnetometer::metaObject
+24 (int (*)(...))QMagnetometer::qt_metacast
+32 (int (*)(...))QMagnetometer::qt_metacall
+40 (int (*)(...))QMagnetometer::~QMagnetometer
+48 (int (*)(...))QMagnetometer::~QMagnetometer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMagnetometer
+ size=16 align=8
+ base size=16 base align=8
+QMagnetometer (0x0x7f6fcb3310d0) 0
+ vptr=((& QMagnetometer::_ZTV13QMagnetometer) + 16)
+ QSensor (0x0x7f6fcb331138) 0
+ primary-for QMagnetometer (0x0x7f6fcb3310d0)
+ QObject (0x0x7f6fcb2d7f60) 0
+ primary-for QSensor (0x0x7f6fcb331138)
+
+Class QOrientationReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOrientationReading::QPrivateSignal (0x0x7f6fcb346240) 0 empty
+
+Vtable for QOrientationReading
+QOrientationReading::_ZTV19QOrientationReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOrientationReading)
+16 (int (*)(...))QOrientationReading::metaObject
+24 (int (*)(...))QOrientationReading::qt_metacast
+32 (int (*)(...))QOrientationReading::qt_metacall
+40 (int (*)(...))QOrientationReading::~QOrientationReading
+48 (int (*)(...))QOrientationReading::~QOrientationReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOrientationReading::copyValuesFrom
+
+Class QOrientationReading
+ size=32 align=8
+ base size=32 base align=8
+QOrientationReading (0x0x7f6fcb3311a0) 0
+ vptr=((& QOrientationReading::_ZTV19QOrientationReading) + 16)
+ QSensorReading (0x0x7f6fcb331208) 0
+ primary-for QOrientationReading (0x0x7f6fcb3311a0)
+ QObject (0x0x7f6fcb3461e0) 0
+ primary-for QSensorReading (0x0x7f6fcb331208)
+
+Vtable for QOrientationFilter
+QOrientationFilter::_ZTV18QOrientationFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOrientationFilter)
+16 (int (*)(...))QOrientationFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QOrientationFilter
+ size=16 align=8
+ base size=16 base align=8
+QOrientationFilter (0x0x7f6fcb331270) 0
+ vptr=((& QOrientationFilter::_ZTV18QOrientationFilter) + 16)
+ QSensorFilter (0x0x7f6fcb3463c0) 0
+ primary-for QOrientationFilter (0x0x7f6fcb331270)
+
+Class QOrientationSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOrientationSensor::QPrivateSignal (0x0x7f6fcb346480) 0 empty
+
+Vtable for QOrientationSensor
+QOrientationSensor::_ZTV18QOrientationSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOrientationSensor)
+16 (int (*)(...))QOrientationSensor::metaObject
+24 (int (*)(...))QOrientationSensor::qt_metacast
+32 (int (*)(...))QOrientationSensor::qt_metacall
+40 (int (*)(...))QOrientationSensor::~QOrientationSensor
+48 (int (*)(...))QOrientationSensor::~QOrientationSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOrientationSensor
+ size=16 align=8
+ base size=16 base align=8
+QOrientationSensor (0x0x7f6fcb3312d8) 0
+ vptr=((& QOrientationSensor::_ZTV18QOrientationSensor) + 16)
+ QSensor (0x0x7f6fcb331340) 0
+ primary-for QOrientationSensor (0x0x7f6fcb3312d8)
+ QObject (0x0x7f6fcb346420) 0
+ primary-for QSensor (0x0x7f6fcb331340)
+
+Class QPressureReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPressureReading::QPrivateSignal (0x0x7f6fcb346600) 0 empty
+
+Vtable for QPressureReading
+QPressureReading::_ZTV16QPressureReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPressureReading)
+16 (int (*)(...))QPressureReading::metaObject
+24 (int (*)(...))QPressureReading::qt_metacast
+32 (int (*)(...))QPressureReading::qt_metacall
+40 (int (*)(...))QPressureReading::~QPressureReading
+48 (int (*)(...))QPressureReading::~QPressureReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPressureReading::copyValuesFrom
+
+Class QPressureReading
+ size=32 align=8
+ base size=32 base align=8
+QPressureReading (0x0x7f6fcb3313a8) 0
+ vptr=((& QPressureReading::_ZTV16QPressureReading) + 16)
+ QSensorReading (0x0x7f6fcb331410) 0
+ primary-for QPressureReading (0x0x7f6fcb3313a8)
+ QObject (0x0x7f6fcb3465a0) 0
+ primary-for QSensorReading (0x0x7f6fcb331410)
+
+Vtable for QPressureFilter
+QPressureFilter::_ZTV15QPressureFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPressureFilter)
+16 (int (*)(...))QPressureFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QPressureFilter
+ size=16 align=8
+ base size=16 base align=8
+QPressureFilter (0x0x7f6fcb331478) 0
+ vptr=((& QPressureFilter::_ZTV15QPressureFilter) + 16)
+ QSensorFilter (0x0x7f6fcb346780) 0
+ primary-for QPressureFilter (0x0x7f6fcb331478)
+
+Class QPressureSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPressureSensor::QPrivateSignal (0x0x7f6fcb346840) 0 empty
+
+Vtable for QPressureSensor
+QPressureSensor::_ZTV15QPressureSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPressureSensor)
+16 (int (*)(...))QPressureSensor::metaObject
+24 (int (*)(...))QPressureSensor::qt_metacast
+32 (int (*)(...))QPressureSensor::qt_metacall
+40 (int (*)(...))QPressureSensor::~QPressureSensor
+48 (int (*)(...))QPressureSensor::~QPressureSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPressureSensor
+ size=16 align=8
+ base size=16 base align=8
+QPressureSensor (0x0x7f6fcb3314e0) 0
+ vptr=((& QPressureSensor::_ZTV15QPressureSensor) + 16)
+ QSensor (0x0x7f6fcb331548) 0
+ primary-for QPressureSensor (0x0x7f6fcb3314e0)
+ QObject (0x0x7f6fcb3467e0) 0
+ primary-for QSensor (0x0x7f6fcb331548)
+
+Class QProximityReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProximityReading::QPrivateSignal (0x0x7f6fcb3469c0) 0 empty
+
+Vtable for QProximityReading
+QProximityReading::_ZTV17QProximityReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QProximityReading)
+16 (int (*)(...))QProximityReading::metaObject
+24 (int (*)(...))QProximityReading::qt_metacast
+32 (int (*)(...))QProximityReading::qt_metacall
+40 (int (*)(...))QProximityReading::~QProximityReading
+48 (int (*)(...))QProximityReading::~QProximityReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProximityReading::copyValuesFrom
+
+Class QProximityReading
+ size=32 align=8
+ base size=32 base align=8
+QProximityReading (0x0x7f6fcb3315b0) 0
+ vptr=((& QProximityReading::_ZTV17QProximityReading) + 16)
+ QSensorReading (0x0x7f6fcb331618) 0
+ primary-for QProximityReading (0x0x7f6fcb3315b0)
+ QObject (0x0x7f6fcb346960) 0
+ primary-for QSensorReading (0x0x7f6fcb331618)
+
+Vtable for QProximityFilter
+QProximityFilter::_ZTV16QProximityFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QProximityFilter)
+16 (int (*)(...))QProximityFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QProximityFilter
+ size=16 align=8
+ base size=16 base align=8
+QProximityFilter (0x0x7f6fcb331680) 0
+ vptr=((& QProximityFilter::_ZTV16QProximityFilter) + 16)
+ QSensorFilter (0x0x7f6fcb346b40) 0
+ primary-for QProximityFilter (0x0x7f6fcb331680)
+
+Class QProximitySensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProximitySensor::QPrivateSignal (0x0x7f6fcb346c00) 0 empty
+
+Vtable for QProximitySensor
+QProximitySensor::_ZTV16QProximitySensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QProximitySensor)
+16 (int (*)(...))QProximitySensor::metaObject
+24 (int (*)(...))QProximitySensor::qt_metacast
+32 (int (*)(...))QProximitySensor::qt_metacall
+40 (int (*)(...))QProximitySensor::~QProximitySensor
+48 (int (*)(...))QProximitySensor::~QProximitySensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QProximitySensor
+ size=16 align=8
+ base size=16 base align=8
+QProximitySensor (0x0x7f6fcb3316e8) 0
+ vptr=((& QProximitySensor::_ZTV16QProximitySensor) + 16)
+ QSensor (0x0x7f6fcb331750) 0
+ primary-for QProximitySensor (0x0x7f6fcb3316e8)
+ QObject (0x0x7f6fcb346ba0) 0
+ primary-for QSensor (0x0x7f6fcb331750)
+
+Class QRotationReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRotationReading::QPrivateSignal (0x0x7f6fcb346d80) 0 empty
+
+Vtable for QRotationReading
+QRotationReading::_ZTV16QRotationReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRotationReading)
+16 (int (*)(...))QRotationReading::metaObject
+24 (int (*)(...))QRotationReading::qt_metacast
+32 (int (*)(...))QRotationReading::qt_metacall
+40 (int (*)(...))QRotationReading::~QRotationReading
+48 (int (*)(...))QRotationReading::~QRotationReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRotationReading::copyValuesFrom
+
+Class QRotationReading
+ size=32 align=8
+ base size=32 base align=8
+QRotationReading (0x0x7f6fcb3317b8) 0
+ vptr=((& QRotationReading::_ZTV16QRotationReading) + 16)
+ QSensorReading (0x0x7f6fcb331820) 0
+ primary-for QRotationReading (0x0x7f6fcb3317b8)
+ QObject (0x0x7f6fcb346d20) 0
+ primary-for QSensorReading (0x0x7f6fcb331820)
+
+Vtable for QRotationFilter
+QRotationFilter::_ZTV15QRotationFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QRotationFilter)
+16 (int (*)(...))QRotationFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QRotationFilter
+ size=16 align=8
+ base size=16 base align=8
+QRotationFilter (0x0x7f6fcb331888) 0
+ vptr=((& QRotationFilter::_ZTV15QRotationFilter) + 16)
+ QSensorFilter (0x0x7f6fcb346f00) 0
+ primary-for QRotationFilter (0x0x7f6fcb331888)
+
+Class QRotationSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRotationSensor::QPrivateSignal (0x0x7f6fcaeb9000) 0 empty
+
+Vtable for QRotationSensor
+QRotationSensor::_ZTV15QRotationSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QRotationSensor)
+16 (int (*)(...))QRotationSensor::metaObject
+24 (int (*)(...))QRotationSensor::qt_metacast
+32 (int (*)(...))QRotationSensor::qt_metacall
+40 (int (*)(...))QRotationSensor::~QRotationSensor
+48 (int (*)(...))QRotationSensor::~QRotationSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QRotationSensor
+ size=16 align=8
+ base size=16 base align=8
+QRotationSensor (0x0x7f6fcb3318f0) 0
+ vptr=((& QRotationSensor::_ZTV15QRotationSensor) + 16)
+ QSensor (0x0x7f6fcb331958) 0
+ primary-for QRotationSensor (0x0x7f6fcb3318f0)
+ QObject (0x0x7f6fcb346f60) 0
+ primary-for QSensor (0x0x7f6fcb331958)
+
+Class QSensorManager
+ size=1 align=1
+ base size=0 base align=1
+QSensorManager (0x0x7f6fcaeb91e0) 0 empty
+
+Vtable for QSensorBackendFactory
+QSensorBackendFactory::_ZTV21QSensorBackendFactory: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSensorBackendFactory)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QSensorBackendFactory
+ size=8 align=8
+ base size=8 base align=8
+QSensorBackendFactory (0x0x7f6fcaeb9240) 0 nearly-empty
+ vptr=((& QSensorBackendFactory::_ZTV21QSensorBackendFactory) + 16)
+
+Class QSensorBackend::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorBackend::QPrivateSignal (0x0x7f6fcaeb9300) 0 empty
+
+Vtable for QSensorBackend
+QSensorBackend::_ZTV14QSensorBackend: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSensorBackend)
+16 (int (*)(...))QSensorBackend::metaObject
+24 (int (*)(...))QSensorBackend::qt_metacast
+32 (int (*)(...))QSensorBackend::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QSensorBackend::isFeatureSupported
+
+Class QSensorBackend
+ size=16 align=8
+ base size=16 base align=8
+QSensorBackend (0x0x7f6fcb3319c0) 0
+ vptr=((& QSensorBackend::_ZTV14QSensorBackend) + 16)
+ QObject (0x0x7f6fcaeb92a0) 0
+ primary-for QSensorBackend (0x0x7f6fcb3319c0)
+
+Vtable for QSensorGesture
+QSensorGesture::_ZTV14QSensorGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSensorGesture)
+16 (int (*)(...))QSensorGesture::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QSensorGesture::qt_metacall
+40 (int (*)(...))QSensorGesture::~QSensorGesture
+48 (int (*)(...))QSensorGesture::~QSensorGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSensorGesture
+ size=24 align=8
+ base size=24 base align=8
+QSensorGesture (0x0x7f6fcb331a28) 0
+ vptr=((& QSensorGesture::_ZTV14QSensorGesture) + 16)
+ QObject (0x0x7f6fcaeb9540) 0
+ primary-for QSensorGesture (0x0x7f6fcb331a28)
+
+Class QSensorGestureRecognizer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorGestureRecognizer::QPrivateSignal (0x0x7f6fcaeb9600) 0 empty
+
+Vtable for QSensorGestureRecognizer
+QSensorGestureRecognizer::_ZTV24QSensorGestureRecognizer: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSensorGestureRecognizer)
+16 (int (*)(...))QSensorGestureRecognizer::metaObject
+24 (int (*)(...))QSensorGestureRecognizer::qt_metacast
+32 (int (*)(...))QSensorGestureRecognizer::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+
+Class QSensorGestureRecognizer
+ size=24 align=8
+ base size=24 base align=8
+QSensorGestureRecognizer (0x0x7f6fcb331a90) 0
+ vptr=((& QSensorGestureRecognizer::_ZTV24QSensorGestureRecognizer) + 16)
+ QObject (0x0x7f6fcaeb95a0) 0
+ primary-for QSensorGestureRecognizer (0x0x7f6fcb331a90)
+
+Class QSensorGestureManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorGestureManager::QPrivateSignal (0x0x7f6fcaeb9780) 0 empty
+
+Vtable for QSensorGestureManager
+QSensorGestureManager::_ZTV21QSensorGestureManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSensorGestureManager)
+16 (int (*)(...))QSensorGestureManager::metaObject
+24 (int (*)(...))QSensorGestureManager::qt_metacast
+32 (int (*)(...))QSensorGestureManager::qt_metacall
+40 (int (*)(...))QSensorGestureManager::~QSensorGestureManager
+48 (int (*)(...))QSensorGestureManager::~QSensorGestureManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSensorGestureManager
+ size=16 align=8
+ base size=16 base align=8
+QSensorGestureManager (0x0x7f6fcb331af8) 0
+ vptr=((& QSensorGestureManager::_ZTV21QSensorGestureManager) + 16)
+ QObject (0x0x7f6fcaeb9720) 0
+ primary-for QSensorGestureManager (0x0x7f6fcb331af8)
+
+Vtable for QSensorGesturePluginInterface
+QSensorGesturePluginInterface::_ZTV29QSensorGesturePluginInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QSensorGesturePluginInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QSensorGesturePluginInterface
+ size=8 align=8
+ base size=8 base align=8
+QSensorGesturePluginInterface (0x0x7f6fcaeb9960) 0 nearly-empty
+ vptr=((& QSensorGesturePluginInterface::_ZTV29QSensorGesturePluginInterface) + 16)
+
+Vtable for QSensorPluginInterface
+QSensorPluginInterface::_ZTV22QSensorPluginInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QSensorPluginInterface)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QSensorPluginInterface
+ size=8 align=8
+ base size=8 base align=8
+QSensorPluginInterface (0x0x7f6fcaeb9b40) 0 nearly-empty
+ vptr=((& QSensorPluginInterface::_ZTV22QSensorPluginInterface) + 16)
+
+Vtable for QSensorChangesInterface
+QSensorChangesInterface::_ZTV23QSensorChangesInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QSensorChangesInterface)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QSensorChangesInterface
+ size=8 align=8
+ base size=8 base align=8
+QSensorChangesInterface (0x0x7f6fcaeb9ba0) 0 nearly-empty
+ vptr=((& QSensorChangesInterface::_ZTV23QSensorChangesInterface) + 16)
+
+Class QTapReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapReading::QPrivateSignal (0x0x7f6fcaeb9f60) 0 empty
+
+Vtable for QTapReading
+QTapReading::_ZTV11QTapReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapReading)
+16 (int (*)(...))QTapReading::metaObject
+24 (int (*)(...))QTapReading::qt_metacast
+32 (int (*)(...))QTapReading::qt_metacall
+40 (int (*)(...))QTapReading::~QTapReading
+48 (int (*)(...))QTapReading::~QTapReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTapReading::copyValuesFrom
+
+Class QTapReading
+ size=32 align=8
+ base size=32 base align=8
+QTapReading (0x0x7f6fcb331b60) 0
+ vptr=((& QTapReading::_ZTV11QTapReading) + 16)
+ QSensorReading (0x0x7f6fcb331bc8) 0
+ primary-for QTapReading (0x0x7f6fcb331b60)
+ QObject (0x0x7f6fcaeb9f00) 0
+ primary-for QSensorReading (0x0x7f6fcb331bc8)
+
+Vtable for QTapFilter
+QTapFilter::_ZTV10QTapFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTapFilter)
+16 (int (*)(...))QTapFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QTapFilter
+ size=16 align=8
+ base size=16 base align=8
+QTapFilter (0x0x7f6fcb331c30) 0
+ vptr=((& QTapFilter::_ZTV10QTapFilter) + 16)
+ QSensorFilter (0x0x7f6fcaf0b120) 0
+ primary-for QTapFilter (0x0x7f6fcb331c30)
+
+Class QTapSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapSensor::QPrivateSignal (0x0x7f6fcaf0b1e0) 0 empty
+
+Vtable for QTapSensor
+QTapSensor::_ZTV10QTapSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTapSensor)
+16 (int (*)(...))QTapSensor::metaObject
+24 (int (*)(...))QTapSensor::qt_metacast
+32 (int (*)(...))QTapSensor::qt_metacall
+40 (int (*)(...))QTapSensor::~QTapSensor
+48 (int (*)(...))QTapSensor::~QTapSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapSensor
+ size=16 align=8
+ base size=16 base align=8
+QTapSensor (0x0x7f6fcb331c98) 0
+ vptr=((& QTapSensor::_ZTV10QTapSensor) + 16)
+ QSensor (0x0x7f6fcb331d00) 0
+ primary-for QTapSensor (0x0x7f6fcb331c98)
+ QObject (0x0x7f6fcaf0b180) 0
+ primary-for QSensor (0x0x7f6fcb331d00)
+
+Class QTiltReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTiltReading::QPrivateSignal (0x0x7f6fcaf0b420) 0 empty
+
+Vtable for QTiltReading
+QTiltReading::_ZTV12QTiltReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTiltReading)
+16 (int (*)(...))QTiltReading::metaObject
+24 (int (*)(...))QTiltReading::qt_metacast
+32 (int (*)(...))QTiltReading::qt_metacall
+40 (int (*)(...))QTiltReading::~QTiltReading
+48 (int (*)(...))QTiltReading::~QTiltReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTiltReading::copyValuesFrom
+
+Class QTiltReading
+ size=32 align=8
+ base size=32 base align=8
+QTiltReading (0x0x7f6fcb331d68) 0
+ vptr=((& QTiltReading::_ZTV12QTiltReading) + 16)
+ QSensorReading (0x0x7f6fcb331dd0) 0
+ primary-for QTiltReading (0x0x7f6fcb331d68)
+ QObject (0x0x7f6fcaf0b3c0) 0
+ primary-for QSensorReading (0x0x7f6fcb331dd0)
+
+Vtable for QTiltFilter
+QTiltFilter::_ZTV11QTiltFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTiltFilter)
+16 (int (*)(...))QTiltFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QTiltFilter
+ size=16 align=8
+ base size=16 base align=8
+QTiltFilter (0x0x7f6fcb331e38) 0
+ vptr=((& QTiltFilter::_ZTV11QTiltFilter) + 16)
+ QSensorFilter (0x0x7f6fcaf0b5a0) 0
+ primary-for QTiltFilter (0x0x7f6fcb331e38)
+
+Class QTiltSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTiltSensor::QPrivateSignal (0x0x7f6fcaf0b660) 0 empty
+
+Vtable for QTiltSensor
+QTiltSensor::_ZTV11QTiltSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTiltSensor)
+16 (int (*)(...))QTiltSensor::metaObject
+24 (int (*)(...))QTiltSensor::qt_metacast
+32 (int (*)(...))QTiltSensor::qt_metacall
+40 (int (*)(...))QTiltSensor::~QTiltSensor
+48 (int (*)(...))QTiltSensor::~QTiltSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTiltSensor
+ size=16 align=8
+ base size=16 base align=8
+QTiltSensor (0x0x7f6fcb331ea0) 0
+ vptr=((& QTiltSensor::_ZTV11QTiltSensor) + 16)
+ QSensor (0x0x7f6fcb331f08) 0
+ primary-for QTiltSensor (0x0x7f6fcb331ea0)
+ QObject (0x0x7f6fcaf0b600) 0
+ primary-for QSensor (0x0x7f6fcb331f08)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcaf67a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcaf67d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcaf67f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcaf97300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcaf974e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcaf97840) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcaf97a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcaf97d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcaf97f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcafd1300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcafd14e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcafd1840) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcafd1a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcafd1d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcafd1f60) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb008300) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb0307e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb030b40) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb030cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb05b060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb05b1e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb05b540) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb05b6c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb05ba20) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb05bba0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb05bf00) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb0900c0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb090420) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb0905a0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb090900) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7f6fcb090a80) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7f6fcb090de0) 0 empty
+
diff --git a/tests/auto/bic/data/QtSensors.5.14.0.linux-gcc-amd64.txt b/tests/auto/bic/data/QtSensors.5.14.0.linux-gcc-amd64.txt
new file mode 100644
index 00000000..3fc033bb
--- /dev/null
+++ b/tests/auto/bic/data/QtSensors.5.14.0.linux-gcc-amd64.txt
@@ -0,0 +1,6860 @@
+Class std::__failure_type
+ size=1 align=1
+ base size=0 base align=1
+std::__failure_type (0x0x7efdffcfbd80) 0 empty
+
+Class std::__do_is_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_destructible_impl (0x0x7efdffdf5540) 0 empty
+
+Class std::__do_is_nt_destructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nt_destructible_impl (0x0x7efdffdf5780) 0 empty
+
+Class std::__do_is_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_default_constructible_impl (0x0x7efdffdf59c0) 0 empty
+
+Class std::__do_is_static_castable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_static_castable_impl (0x0x7efdffdf5c00) 0 empty
+
+Class std::__do_is_direct_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_direct_constructible_impl (0x0x7efdffdf5d80) 0 empty
+
+Class std::__do_is_nary_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_nary_constructible_impl (0x0x7efdffe2c180) 0 empty
+
+Class std::__do_is_implicitly_default_constructible_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_is_implicitly_default_constructible_impl (0x0x7efdffe612a0) 0 empty
+
+Class std::__do_common_type_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__do_common_type_impl (0x0x7efdffeb4960) 0 empty
+
+Class std::__do_member_type_wrapper
+ size=1 align=1
+ base size=0 base align=1
+std::__do_member_type_wrapper (0x0x7efdffeb4a20) 0 empty
+
+Class std::__invoke_memfun_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_ref (0x0x7efdffeb4de0) 0 empty
+
+Class std::__invoke_memfun_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memfun_deref (0x0x7efdffeb4e40) 0 empty
+
+Class std::__invoke_memobj_ref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_ref (0x0x7efdffeb4ea0) 0 empty
+
+Class std::__invoke_memobj_deref
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_memobj_deref (0x0x7efdffeb4f00) 0 empty
+
+Class std::__invoke_other
+ size=1 align=1
+ base size=0 base align=1
+std::__invoke_other (0x0x7efdffeb4f60) 0 empty
+
+Class std::__result_of_memfun_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_ref_impl (0x0x7efdffee4060) 0 empty
+
+Class std::__result_of_memfun_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memfun_deref_impl (0x0x7efdffee4120) 0 empty
+
+Class std::__result_of_memobj_ref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_ref_impl (0x0x7efdffee41e0) 0 empty
+
+Class std::__result_of_memobj_deref_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_memobj_deref_impl (0x0x7efdffee42a0) 0 empty
+
+Class std::__result_of_other_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__result_of_other_impl (0x0x7efdffee4600) 0 empty
+
+Class std::__swappable_details::__do_is_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_swappable_impl (0x0x7efdffee4960) 0 empty
+
+Class std::__swappable_details::__do_is_nothrow_swappable_impl
+ size=1 align=1
+ base size=0 base align=1
+std::__swappable_details::__do_is_nothrow_swappable_impl (0x0x7efdffee49c0) 0 empty
+
+Class std::__nonesuch
+ size=1 align=1
+ base size=0 base align=1
+std::__nonesuch (0x0x7efdffee4f60) 0 empty
+
+Class std::piecewise_construct_t
+ size=1 align=1
+ base size=0 base align=1
+std::piecewise_construct_t (0x0x7efdffb33600) 0 empty
+
+Class std::__nonesuch_no_braces
+ size=1 align=1
+ base size=1 base align=1
+std::__nonesuch_no_braces (0x0x7efdffb006e8) 0 empty
+ std::__nonesuch (0x0x7efdffb33ae0) 0 empty
+
+Class std::__true_type
+ size=1 align=1
+ base size=0 base align=1
+std::__true_type (0x0x7efdffbb3480) 0 empty
+
+Class std::__false_type
+ size=1 align=1
+ base size=0 base align=1
+std::__false_type (0x0x7efdffbb34e0) 0 empty
+
+Class std::input_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::input_iterator_tag (0x0x7efdffc0c1e0) 0 empty
+
+Class std::output_iterator_tag
+ size=1 align=1
+ base size=0 base align=1
+std::output_iterator_tag (0x0x7efdffc0c240) 0 empty
+
+Class std::forward_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::forward_iterator_tag (0x0x7efdffb00bc8) 0 empty
+ std::input_iterator_tag (0x0x7efdffc0c2a0) 0 empty
+
+Class std::bidirectional_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::bidirectional_iterator_tag (0x0x7efdffb00c30) 0 empty
+ std::forward_iterator_tag (0x0x7efdffb00c98) 0 empty
+ std::input_iterator_tag (0x0x7efdffc0c300) 0 empty
+
+Class std::random_access_iterator_tag
+ size=1 align=1
+ base size=1 base align=1
+std::random_access_iterator_tag (0x0x7efdffb00d00) 0 empty
+ std::bidirectional_iterator_tag (0x0x7efdffb00d68) 0 empty
+ std::forward_iterator_tag (0x0x7efdffb00dd0) 0 empty
+ std::input_iterator_tag (0x0x7efdffc0c360) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_iter (0x0x7efdffc99e40) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_less_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_less_val (0x0x7efdffc99f60) 0 empty
+
+Class __gnu_cxx::__ops::_Val_less_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Val_less_iter (0x0x7efdffcc32a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_iter
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_iter (0x0x7efdffcc35a0) 0 empty
+
+Class __gnu_cxx::__ops::_Iter_equal_to_val
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__ops::_Iter_equal_to_val (0x0x7efdffcc36c0) 0 empty
+
+Class __locale_struct
+ size=232 align=8
+ base size=232 base align=8
+__locale_struct (0x0x7efdff94e9c0) 0
+
+Class timeval
+ size=16 align=8
+ base size=16 base align=8
+timeval (0x0x7efdff94ecc0) 0
+
+Class timespec
+ size=16 align=8
+ base size=16 base align=8
+timespec (0x0x7efdff94ed20) 0
+
+Class __pthread_rwlock_arch_t
+ size=56 align=8
+ base size=56 base align=8
+__pthread_rwlock_arch_t (0x0x7efdff94ede0) 0
+
+Class __pthread_internal_list
+ size=16 align=8
+ base size=16 base align=8
+__pthread_internal_list (0x0x7efdff94ee40) 0
+
+Class __pthread_mutex_s
+ size=40 align=8
+ base size=40 base align=8
+__pthread_mutex_s (0x0x7efdff94eea0) 0
+
+Class __pthread_cond_s
+ size=48 align=8
+ base size=48 base align=8
+__pthread_cond_s (0x0x7efdff94ef00) 0
+
+Class pthread_attr_t
+ size=56 align=8
+ base size=56 base align=8
+pthread_attr_t (0x0x7efdff9931e0) 0
+
+Class random_data
+ size=48 align=8
+ base size=48 base align=8
+random_data (0x0x7efdff993480) 0
+
+Class drand48_data
+ size=24 align=8
+ base size=24 base align=8
+drand48_data (0x0x7efdff9934e0) 0
+
+Vtable for std::exception
+std::exception::_ZTVSt9exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9exception)
+16 (int (*)(...))std::exception::~exception
+24 (int (*)(...))std::exception::~exception
+32 (int (*)(...))std::exception::what
+
+Class std::exception
+ size=8 align=8
+ base size=8 base align=8
+std::exception (0x0x7efdffa4b2a0) 0 nearly-empty
+ vptr=((& std::exception::_ZTVSt9exception) + 16)
+
+Vtable for std::bad_exception
+std::bad_exception::_ZTVSt13bad_exception: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13bad_exception)
+16 (int (*)(...))std::bad_exception::~bad_exception
+24 (int (*)(...))std::bad_exception::~bad_exception
+32 (int (*)(...))std::bad_exception::what
+
+Class std::bad_exception
+ size=8 align=8
+ base size=8 base align=8
+std::bad_exception (0x0x7efdffc62138) 0 nearly-empty
+ vptr=((& std::bad_exception::_ZTVSt13bad_exception) + 16)
+ std::exception (0x0x7efdffa4b480) 0 nearly-empty
+ primary-for std::bad_exception (0x0x7efdffc62138)
+
+Vtable for std::type_info
+std::type_info::_ZTVSt9type_info: 8 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9type_info)
+16 (int (*)(...))std::type_info::~type_info
+24 (int (*)(...))std::type_info::~type_info
+32 (int (*)(...))std::type_info::__is_pointer_p
+40 (int (*)(...))std::type_info::__is_function_p
+48 (int (*)(...))std::type_info::__do_catch
+56 (int (*)(...))std::type_info::__do_upcast
+
+Class std::type_info
+ size=16 align=8
+ base size=16 base align=8
+std::type_info (0x0x7efdffa4b660) 0
+ vptr=((& std::type_info::_ZTVSt9type_info) + 16)
+
+Vtable for std::bad_cast
+std::bad_cast::_ZTVSt8bad_cast: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8bad_cast)
+16 (int (*)(...))std::bad_cast::~bad_cast
+24 (int (*)(...))std::bad_cast::~bad_cast
+32 (int (*)(...))std::bad_cast::what
+
+Class std::bad_cast
+ size=8 align=8
+ base size=8 base align=8
+std::bad_cast (0x0x7efdffc621a0) 0 nearly-empty
+ vptr=((& std::bad_cast::_ZTVSt8bad_cast) + 16)
+ std::exception (0x0x7efdffa4ba20) 0 nearly-empty
+ primary-for std::bad_cast (0x0x7efdffc621a0)
+
+Vtable for std::bad_typeid
+std::bad_typeid::_ZTVSt10bad_typeid: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt10bad_typeid)
+16 (int (*)(...))std::bad_typeid::~bad_typeid
+24 (int (*)(...))std::bad_typeid::~bad_typeid
+32 (int (*)(...))std::bad_typeid::what
+
+Class std::bad_typeid
+ size=8 align=8
+ base size=8 base align=8
+std::bad_typeid (0x0x7efdffc62208) 0 nearly-empty
+ vptr=((& std::bad_typeid::_ZTVSt10bad_typeid) + 16)
+ std::exception (0x0x7efdffa4bc00) 0 nearly-empty
+ primary-for std::bad_typeid (0x0x7efdffc62208)
+
+Class std::__exception_ptr::exception_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::__exception_ptr::exception_ptr (0x0x7efdffa4bde0) 0
+
+Vtable for std::nested_exception
+std::nested_exception::_ZTVSt16nested_exception: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16nested_exception)
+16 (int (*)(...))std::nested_exception::~nested_exception
+24 (int (*)(...))std::nested_exception::~nested_exception
+
+Class std::nested_exception
+ size=16 align=8
+ base size=16 base align=8
+std::nested_exception (0x0x7efdffa813c0) 0
+ vptr=((& std::nested_exception::_ZTVSt16nested_exception) + 16)
+
+Vtable for std::bad_alloc
+std::bad_alloc::_ZTVSt9bad_alloc: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt9bad_alloc)
+16 (int (*)(...))std::bad_alloc::~bad_alloc
+24 (int (*)(...))std::bad_alloc::~bad_alloc
+32 (int (*)(...))std::bad_alloc::what
+
+Class std::bad_alloc
+ size=8 align=8
+ base size=8 base align=8
+std::bad_alloc (0x0x7efdffc62270) 0 nearly-empty
+ vptr=((& std::bad_alloc::_ZTVSt9bad_alloc) + 16)
+ std::exception (0x0x7efdffa81a80) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7efdffc62270)
+
+Vtable for std::bad_array_new_length
+std::bad_array_new_length::_ZTVSt20bad_array_new_length: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt20bad_array_new_length)
+16 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+24 (int (*)(...))std::bad_array_new_length::~bad_array_new_length
+32 (int (*)(...))std::bad_array_new_length::what
+
+Class std::bad_array_new_length
+ size=8 align=8
+ base size=8 base align=8
+std::bad_array_new_length (0x0x7efdffc622d8) 0 nearly-empty
+ vptr=((& std::bad_array_new_length::_ZTVSt20bad_array_new_length) + 16)
+ std::bad_alloc (0x0x7efdffc62340) 0 nearly-empty
+ primary-for std::bad_array_new_length (0x0x7efdffc622d8)
+ std::exception (0x0x7efdffa81c60) 0 nearly-empty
+ primary-for std::bad_alloc (0x0x7efdffc62340)
+
+Class std::nothrow_t
+ size=1 align=1
+ base size=0 base align=1
+std::nothrow_t (0x0x7efdffa81e40) 0 empty
+
+Class std::__allocator_traits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__allocator_traits_base (0x0x7efdffab5060) 0 empty
+
+Class std::__numeric_limits_base
+ size=1 align=1
+ base size=0 base align=1
+std::__numeric_limits_base (0x0x7efdff72b540) 0 empty
+
+Class QSysInfo
+ size=1 align=1
+ base size=0 base align=1
+QSysInfo (0x0x7efdff39ba80) 0 empty
+
+Class QMessageLogContext
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogContext (0x0x7efdff39bba0) 0
+
+Class QMessageLogger
+ size=32 align=8
+ base size=32 base align=8
+QMessageLogger (0x0x7efdff39bd80) 0
+
+Class QFlag
+ size=4 align=4
+ base size=4 base align=4
+QFlag (0x0x7efdff3db480) 0
+
+Class QIncompatibleFlag
+ size=4 align=4
+ base size=4 base align=4
+QIncompatibleFlag (0x0x7efdff417c00) 0
+
+Class std::__atomic_flag_base
+ size=1 align=1
+ base size=1 base align=1
+std::__atomic_flag_base (0x0x7efdff4d1120) 0
+
+Class std::atomic_flag
+ size=1 align=1
+ base size=1 base align=1
+std::atomic_flag (0x0x7efdff46b1a0) 0
+ std::__atomic_flag_base (0x0x7efdff4d1180) 0
+
+Class QAtomicInt
+ size=4 align=4
+ base size=4 base align=4
+QAtomicInt (0x0x7efdff46b8f0) 0
+ QAtomicInteger<int> (0x0x7efdff46b958) 0
+ QBasicAtomicInteger<int> (0x0x7efdfeffb3c0) 0
+
+Class QInternal
+ size=1 align=1
+ base size=0 base align=1
+QInternal (0x0x7efdfec3af00) 0 empty
+
+Class QtPrivate::QSlotObjectBase
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::QSlotObjectBase (0x0x7efdfeca34e0) 0
+
+Class QGenericArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericArgument (0x0x7efdfeca3c00) 0
+
+Class QGenericReturnArgument
+ size=16 align=8
+ base size=16 base align=8
+QGenericReturnArgument (0x0x7efdfec765b0) 0
+ QGenericArgument (0x0x7efdfeca3ea0) 0
+
+Class QMetaObject::SuperData
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::SuperData (0x0x7efdfecdd360) 0
+
+Class QMetaObject
+ size=48 align=8
+ base size=48 base align=8
+QMetaObject (0x0x7efdfecdd300) 0
+
+Class QMetaObject::Connection
+ size=8 align=8
+ base size=8 base align=8
+QMetaObject::Connection (0x0x7efdfecddc00) 0
+
+Class QLatin1Char
+ size=1 align=1
+ base size=1 base align=1
+QLatin1Char (0x0x7efdfe98c720) 0
+
+Class QChar
+ size=2 align=2
+ base size=2 base align=2
+QChar (0x0x7efdfe98ce40) 0
+
+Class QtPrivate::RefCount
+ size=4 align=4
+ base size=4 base align=4
+QtPrivate::RefCount (0x0x7efdfea5dc60) 0
+
+Class QArrayData
+ size=24 align=8
+ base size=24 base align=8
+QArrayData (0x0x7efdfea9c000) 0
+
+Class QtPrivate::QContainerImplHelper
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QContainerImplHelper (0x0x7efdfeae5300) 0 empty
+
+Class lconv
+ size=96 align=8
+ base size=96 base align=8
+lconv (0x0x7efdfe797b40) 0
+
+Vtable for __cxxabiv1::__forced_unwind
+__cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN10__cxxabiv115__forced_unwindE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class __cxxabiv1::__forced_unwind
+ size=8 align=8
+ base size=8 base align=8
+__cxxabiv1::__forced_unwind (0x0x7efdfe797c00) 0 nearly-empty
+ vptr=((& __cxxabiv1::__forced_unwind::_ZTVN10__cxxabiv115__forced_unwindE) + 16)
+
+Class sched_param
+ size=4 align=4
+ base size=4 base align=4
+sched_param (0x0x7efdfe85bd20) 0
+
+Class timex
+ size=208 align=8
+ base size=208 base align=8
+timex (0x0x7efdfe85bde0) 0
+
+Class tm
+ size=56 align=8
+ base size=56 base align=8
+tm (0x0x7efdfe85be40) 0
+
+Class itimerspec
+ size=32 align=8
+ base size=32 base align=8
+itimerspec (0x0x7efdfe85bea0) 0
+
+Class _pthread_cleanup_buffer
+ size=32 align=8
+ base size=32 base align=8
+_pthread_cleanup_buffer (0x0x7efdfe85bf00) 0
+
+Class __pthread_cleanup_frame
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_frame (0x0x7efdfe8b5060) 0
+
+Class __pthread_cleanup_class
+ size=24 align=8
+ base size=24 base align=8
+__pthread_cleanup_class (0x0x7efdfe8b50c0) 0
+
+Class _IO_marker
+ size=24 align=8
+ base size=24 base align=8
+_IO_marker (0x0x7efdfe5d4060) 0
+
+Class _IO_FILE
+ size=216 align=8
+ base size=216 base align=8
+_IO_FILE (0x0x7efdfe5d40c0) 0
+
+Class std::_Hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Hash_impl (0x0x7efdfe382120) 0 empty
+
+Class std::_Fnv_hash_impl
+ size=1 align=1
+ base size=0 base align=1
+std::_Fnv_hash_impl (0x0x7efdfe3822a0) 0 empty
+
+Class std::locale
+ size=8 align=8
+ base size=8 base align=8
+std::locale (0x0x7efdfe105420) 0
+
+Vtable for std::locale::facet
+std::locale::facet::_ZTVNSt6locale5facetE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6locale5facetE)
+16 (int (*)(...))std::locale::facet::~facet
+24 (int (*)(...))std::locale::facet::~facet
+
+Class std::locale::facet
+ size=16 align=8
+ base size=12 base align=8
+std::locale::facet (0x0x7efdfe1057e0) 0
+ vptr=((& std::locale::facet::_ZTVNSt6locale5facetE) + 16)
+
+Class std::locale::id
+ size=8 align=8
+ base size=8 base align=8
+std::locale::id (0x0x7efdfe105a80) 0
+
+Class std::locale::_Impl
+ size=40 align=8
+ base size=40 base align=8
+std::locale::_Impl (0x0x7efdfe105c60) 0
+
+Class std::__cow_string
+ size=8 align=8
+ base size=8 base align=8
+std::__cow_string (0x0x7efdfe152c60) 0
+
+Vtable for std::logic_error
+std::logic_error::_ZTVSt11logic_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11logic_error)
+16 (int (*)(...))std::logic_error::~logic_error
+24 (int (*)(...))std::logic_error::~logic_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::logic_error
+ size=16 align=8
+ base size=16 base align=8
+std::logic_error (0x0x7efdfe459548) 0
+ vptr=((& std::logic_error::_ZTVSt11logic_error) + 16)
+ std::exception (0x0x7efdfe152d20) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efdfe459548)
+
+Vtable for std::domain_error
+std::domain_error::_ZTVSt12domain_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12domain_error)
+16 (int (*)(...))std::domain_error::~domain_error
+24 (int (*)(...))std::domain_error::~domain_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::domain_error
+ size=16 align=8
+ base size=16 base align=8
+std::domain_error (0x0x7efdfe4595b0) 0
+ vptr=((& std::domain_error::_ZTVSt12domain_error) + 16)
+ std::logic_error (0x0x7efdfe459618) 0
+ primary-for std::domain_error (0x0x7efdfe4595b0)
+ std::exception (0x0x7efdfe152d80) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efdfe459618)
+
+Vtable for std::invalid_argument
+std::invalid_argument::_ZTVSt16invalid_argument: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt16invalid_argument)
+16 (int (*)(...))std::invalid_argument::~invalid_argument
+24 (int (*)(...))std::invalid_argument::~invalid_argument
+32 (int (*)(...))std::logic_error::what
+
+Class std::invalid_argument
+ size=16 align=8
+ base size=16 base align=8
+std::invalid_argument (0x0x7efdfe459680) 0
+ vptr=((& std::invalid_argument::_ZTVSt16invalid_argument) + 16)
+ std::logic_error (0x0x7efdfe4596e8) 0
+ primary-for std::invalid_argument (0x0x7efdfe459680)
+ std::exception (0x0x7efdfe152de0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efdfe4596e8)
+
+Vtable for std::length_error
+std::length_error::_ZTVSt12length_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12length_error)
+16 (int (*)(...))std::length_error::~length_error
+24 (int (*)(...))std::length_error::~length_error
+32 (int (*)(...))std::logic_error::what
+
+Class std::length_error
+ size=16 align=8
+ base size=16 base align=8
+std::length_error (0x0x7efdfe459750) 0
+ vptr=((& std::length_error::_ZTVSt12length_error) + 16)
+ std::logic_error (0x0x7efdfe4597b8) 0
+ primary-for std::length_error (0x0x7efdfe459750)
+ std::exception (0x0x7efdfe152e40) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efdfe4597b8)
+
+Vtable for std::out_of_range
+std::out_of_range::_ZTVSt12out_of_range: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12out_of_range)
+16 (int (*)(...))std::out_of_range::~out_of_range
+24 (int (*)(...))std::out_of_range::~out_of_range
+32 (int (*)(...))std::logic_error::what
+
+Class std::out_of_range
+ size=16 align=8
+ base size=16 base align=8
+std::out_of_range (0x0x7efdfe459820) 0
+ vptr=((& std::out_of_range::_ZTVSt12out_of_range) + 16)
+ std::logic_error (0x0x7efdfe459888) 0
+ primary-for std::out_of_range (0x0x7efdfe459820)
+ std::exception (0x0x7efdfe152ea0) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efdfe459888)
+
+Vtable for std::runtime_error
+std::runtime_error::_ZTVSt13runtime_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt13runtime_error)
+16 (int (*)(...))std::runtime_error::~runtime_error
+24 (int (*)(...))std::runtime_error::~runtime_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::runtime_error
+ size=16 align=8
+ base size=16 base align=8
+std::runtime_error (0x0x7efdfe4598f0) 0
+ vptr=((& std::runtime_error::_ZTVSt13runtime_error) + 16)
+ std::exception (0x0x7efdfe152f00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efdfe4598f0)
+
+Vtable for std::range_error
+std::range_error::_ZTVSt11range_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt11range_error)
+16 (int (*)(...))std::range_error::~range_error
+24 (int (*)(...))std::range_error::~range_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::range_error
+ size=16 align=8
+ base size=16 base align=8
+std::range_error (0x0x7efdfe459958) 0
+ vptr=((& std::range_error::_ZTVSt11range_error) + 16)
+ std::runtime_error (0x0x7efdfe4599c0) 0
+ primary-for std::range_error (0x0x7efdfe459958)
+ std::exception (0x0x7efdfe152f60) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efdfe4599c0)
+
+Vtable for std::overflow_error
+std::overflow_error::_ZTVSt14overflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt14overflow_error)
+16 (int (*)(...))std::overflow_error::~overflow_error
+24 (int (*)(...))std::overflow_error::~overflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::overflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::overflow_error (0x0x7efdfe459a28) 0
+ vptr=((& std::overflow_error::_ZTVSt14overflow_error) + 16)
+ std::runtime_error (0x0x7efdfe459a90) 0
+ primary-for std::overflow_error (0x0x7efdfe459a28)
+ std::exception (0x0x7efdfe1b6000) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efdfe459a90)
+
+Vtable for std::underflow_error
+std::underflow_error::_ZTVSt15underflow_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt15underflow_error)
+16 (int (*)(...))std::underflow_error::~underflow_error
+24 (int (*)(...))std::underflow_error::~underflow_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::underflow_error
+ size=16 align=8
+ base size=16 base align=8
+std::underflow_error (0x0x7efdfe459af8) 0
+ vptr=((& std::underflow_error::_ZTVSt15underflow_error) + 16)
+ std::runtime_error (0x0x7efdfe459b60) 0
+ primary-for std::underflow_error (0x0x7efdfe459af8)
+ std::exception (0x0x7efdfe1b6060) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efdfe459b60)
+
+Vtable for std::_V2::error_category
+std::_V2::error_category::_ZTVNSt3_V214error_categoryE: 10 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt3_V214error_categoryE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))std::_V2::error_category::_M_message
+48 (int (*)(...))__cxa_pure_virtual
+56 (int (*)(...))std::_V2::error_category::default_error_condition
+64 (int (*)(...))std::_V2::error_category::equivalent
+72 (int (*)(...))std::_V2::error_category::equivalent
+
+Class std::_V2::error_category
+ size=8 align=8
+ base size=8 base align=8
+std::_V2::error_category (0x0x7efdfe1b61e0) 0 nearly-empty
+ vptr=((& std::_V2::error_category::_ZTVNSt3_V214error_categoryE) + 16)
+
+Class std::error_code
+ size=16 align=8
+ base size=16 base align=8
+std::error_code (0x0x7efdfe1b6540) 0
+
+Class std::error_condition
+ size=16 align=8
+ base size=16 base align=8
+std::error_condition (0x0x7efdfe1b6d80) 0
+
+Vtable for std::system_error
+std::system_error::_ZTVSt12system_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12system_error)
+16 (int (*)(...))std::system_error::~system_error
+24 (int (*)(...))std::system_error::~system_error
+32 (int (*)(...))std::runtime_error::what
+
+Class std::system_error
+ size=32 align=8
+ base size=32 base align=8
+std::system_error (0x0x7efdfe459f70) 0
+ vptr=((& std::system_error::_ZTVSt12system_error) + 16)
+ std::runtime_error (0x0x7efdfe20a000) 0
+ primary-for std::system_error (0x0x7efdfe459f70)
+ std::exception (0x0x7efdfe1ee960) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efdfe20a000)
+
+Vtable for std::ios_base::failure
+std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt8ios_base7failureB5cxx11E)
+16 (int (*)(...))std::ios_base::failure::~failure
+24 (int (*)(...))std::ios_base::failure::~failure
+32 (int (*)(...))std::ios_base::failure::what
+
+Class std::ios_base::failure
+ size=32 align=8
+ base size=32 base align=8
+std::ios_base::failure (0x0x7efdfe20a270) 0
+ vptr=((& std::ios_base::failure::_ZTVNSt8ios_base7failureB5cxx11E) + 16)
+ std::system_error (0x0x7efdfe20a2d8) 0
+ primary-for std::ios_base::failure (0x0x7efdfe20a270)
+ std::runtime_error (0x0x7efdfe20a340) 0
+ primary-for std::system_error (0x0x7efdfe20a2d8)
+ std::exception (0x0x7efdfe223f00) 0 nearly-empty
+ primary-for std::runtime_error (0x0x7efdfe20a340)
+
+Class std::ios_base::_Callback_list
+ size=24 align=8
+ base size=24 base align=8
+std::ios_base::_Callback_list (0x0x7efdfe223f60) 0
+
+Class std::ios_base::_Words
+ size=16 align=8
+ base size=16 base align=8
+std::ios_base::_Words (0x0x7efdfe258000) 0
+
+Class std::ios_base::Init
+ size=1 align=1
+ base size=0 base align=1
+std::ios_base::Init (0x0x7efdfe258060) 0 empty
+
+Vtable for std::ios_base
+std::ios_base::_ZTVSt8ios_base: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt8ios_base)
+16 (int (*)(...))std::ios_base::~ios_base
+24 (int (*)(...))std::ios_base::~ios_base
+
+Class std::ios_base
+ size=216 align=8
+ base size=216 base align=8
+std::ios_base (0x0x7efdfe223ea0) 0
+ vptr=((& std::ios_base::_ZTVSt8ios_base) + 16)
+
+Class std::ctype_base
+ size=1 align=1
+ base size=0 base align=1
+std::ctype_base (0x0x7efdfdf19960) 0 empty
+
+Class std::__num_base
+ size=1 align=1
+ base size=0 base align=1
+std::__num_base (0x0x7efdfdfc4b40) 0 empty
+
+VTT for std::basic_ostream<char>
+std::basic_ostream<char>::_ZTTSo: 2 entries
+0 ((& std::basic_ostream<char>::_ZTVSo) + 24)
+8 ((& std::basic_ostream<char>::_ZTVSo) + 64)
+
+VTT for std::basic_ostream<wchar_t>
+std::basic_ostream<wchar_t>::_ZTTSt13basic_ostreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_ostream<wchar_t>::_ZTVSt13basic_ostreamIwSt11char_traitsIwEE) + 64)
+
+VTT for std::basic_istream<char>
+std::basic_istream<char>::_ZTTSi: 2 entries
+0 ((& std::basic_istream<char>::_ZTVSi) + 24)
+8 ((& std::basic_istream<char>::_ZTVSi) + 64)
+
+VTT for std::basic_istream<wchar_t>
+std::basic_istream<wchar_t>::_ZTTSt13basic_istreamIwSt11char_traitsIwEE: 2 entries
+0 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_istream<wchar_t>::_ZTVSt13basic_istreamIwSt11char_traitsIwEE) + 64)
+
+Construction vtable for std::basic_istream<char> (0x0x7efdfdb85a28 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd0_Si: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISi)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISi)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<char> (0x0x7efdfdb85af8 instance) in std::basic_iostream<char>
+std::basic_iostream<char>::_ZTCSd16_So: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISo)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISo)
+64 0
+72 0
+
+VTT for std::basic_iostream<char>
+std::basic_iostream<char>::_ZTTSd: 7 entries
+0 ((& std::basic_iostream<char>::_ZTVSd) + 24)
+8 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 24)
+16 ((& std::basic_iostream<char>::_ZTCSd0_Si) + 64)
+24 ((& std::basic_iostream<char>::_ZTCSd16_So) + 24)
+32 ((& std::basic_iostream<char>::_ZTCSd16_So) + 64)
+40 ((& std::basic_iostream<char>::_ZTVSd) + 104)
+48 ((& std::basic_iostream<char>::_ZTVSd) + 64)
+
+Construction vtable for std::basic_istream<wchar_t> (0x0x7efdfdbc67b8 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E: 10 entries
+0 24
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551592
+48 (int (*)(...))-24
+56 (int (*)(...))(& _ZTISt13basic_istreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+Construction vtable for std::basic_ostream<wchar_t> (0x0x7efdfdbc6888 instance) in std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E: 10 entries
+0 8
+8 (int (*)(...))0
+16 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+24 0
+32 0
+40 18446744073709551608
+48 (int (*)(...))-8
+56 (int (*)(...))(& _ZTISt13basic_ostreamIwSt11char_traitsIwEE)
+64 0
+72 0
+
+VTT for std::basic_iostream<wchar_t>
+std::basic_iostream<wchar_t>::_ZTTSt14basic_iostreamIwSt11char_traitsIwEE: 7 entries
+0 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 24)
+8 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 24)
+16 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE0_St13basic_istreamIwS1_E) + 64)
+24 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 24)
+32 ((& std::basic_iostream<wchar_t>::_ZTCSt14basic_iostreamIwSt11char_traitsIwEE16_St13basic_ostreamIwS1_E) + 64)
+40 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 104)
+48 ((& std::basic_iostream<wchar_t>::_ZTVSt14basic_iostreamIwSt11char_traitsIwEE) + 64)
+
+Class QByteArrayDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QByteArrayDataPtr (0x0x7efdfdbfa4e0) 0
+
+Class QByteArray
+ size=8 align=8
+ base size=8 base align=8
+QByteArray (0x0x7efdfdbfa540) 0
+
+Class QByteRef
+ size=16 align=8
+ base size=12 base align=8
+QByteRef (0x0x7efdfd916900) 0
+
+Class QStringDataPtr
+ size=8 align=8
+ base size=8 base align=8
+QStringDataPtr (0x0x7efdfd9ba780) 0
+
+Class QStringView
+ size=16 align=8
+ base size=16 base align=8
+QStringView (0x0x7efdfd9bac00) 0
+
+Class QLatin1String
+ size=16 align=8
+ base size=16 base align=8
+QLatin1String (0x0x7efdfda9dcc0) 0
+
+Class QString::Null
+ size=1 align=1
+ base size=0 base align=1
+QString::Null (0x0x7efdfd755c60) 0 empty
+
+Class QString
+ size=8 align=8
+ base size=8 base align=8
+QString (0x0x7efdfd755b40) 0
+
+Class QCharRef
+ size=16 align=8
+ base size=12 base align=8
+QCharRef (0x0x7efdfd615ae0) 0
+
+Class QStringRef
+ size=16 align=8
+ base size=16 base align=8
+QStringRef (0x0x7efdfd3886c0) 0
+
+Class QtPrivate::ArgBase
+ size=1 align=1
+ base size=1 base align=1
+QtPrivate::ArgBase (0x0x7efdfd1154e0) 0
+
+Class QtPrivate::QStringViewArg
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::QStringViewArg (0x0x7efdfd4266e8) 0
+ QtPrivate::ArgBase (0x0x7efdfd115540) 0
+
+Class QtPrivate::QLatin1StringArg
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::QLatin1StringArg (0x0x7efdfd426750) 0
+ QtPrivate::ArgBase (0x0x7efdfd115720) 0
+
+Class std::__erased_type
+ size=1 align=1
+ base size=0 base align=1
+std::__erased_type (0x0x7efdfd1e5660) 0 empty
+
+Class std::allocator_arg_t
+ size=1 align=1
+ base size=0 base align=1
+std::allocator_arg_t (0x0x7efdfd1e56c0) 0 empty
+
+Class std::__uses_alloc_base
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc_base (0x0x7efdfd1e5840) 0 empty
+
+Class std::__uses_alloc0::_Sink
+ size=1 align=1
+ base size=0 base align=1
+std::__uses_alloc0::_Sink (0x0x7efdfd1e5900) 0 empty
+
+Class std::__uses_alloc0
+ size=1 align=1
+ base size=1 base align=1
+std::__uses_alloc0 (0x0x7efdfd426af8) 0
+ std::__uses_alloc_base (0x0x7efdfd1e58a0) 0 empty
+
+Class std::_Swallow_assign
+ size=1 align=1
+ base size=0 base align=1
+std::_Swallow_assign (0x0x7efdfcf45c60) 0 empty
+
+Vtable for std::bad_function_call
+std::bad_function_call::_ZTVSt17bad_function_call: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt17bad_function_call)
+16 (int (*)(...))std::bad_function_call::~bad_function_call
+24 (int (*)(...))std::bad_function_call::~bad_function_call
+32 (int (*)(...))std::bad_function_call::what
+
+Class std::bad_function_call
+ size=8 align=8
+ base size=8 base align=8
+std::bad_function_call (0x0x7efdfd26dd68) 0 nearly-empty
+ vptr=((& std::bad_function_call::_ZTVSt17bad_function_call) + 16)
+ std::exception (0x0x7efdfcfc15a0) 0 nearly-empty
+ primary-for std::bad_function_call (0x0x7efdfd26dd68)
+
+Class std::_Nocopy_types
+ size=16 align=8
+ base size=16 base align=8
+std::_Nocopy_types (0x0x7efdfcfc1660) 0
+
+Class std::_Any_data
+ size=16 align=8
+ base size=16 base align=8
+std::_Any_data (0x0x7efdfcfc16c0) 0
+
+Class std::_Function_base
+ size=24 align=8
+ base size=24 base align=8
+std::_Function_base (0x0x7efdfcfc19c0) 0
+
+Class QtPrivate::QHashCombine
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombine (0x0x7efdfcdb9e40) 0 empty
+
+Class QtPrivate::QHashCombineCommutative
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::QHashCombineCommutative (0x0x7efdfcdb9f00) 0 empty
+
+Class std::_Bit_reference
+ size=16 align=8
+ base size=16 base align=8
+std::_Bit_reference (0x0x7efdfcaef660) 0
+
+Class std::_Bit_iterator_base
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator_base (0x0x7efdfce198f0) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7efdfcaefd80) 0 empty
+
+Class std::_Bit_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_iterator (0x0x7efdfce19a28) 0
+ std::_Bit_iterator_base (0x0x7efdfce19a90) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7efdfcb17420) 0 empty
+
+Class std::_Bit_const_iterator
+ size=16 align=8
+ base size=12 base align=8
+std::_Bit_const_iterator (0x0x7efdfce19af8) 0
+ std::_Bit_iterator_base (0x0x7efdfce19b60) 0
+ std::iterator<std::random_access_iterator_tag, bool> (0x0x7efdfcb17c00) 0 empty
+
+Class std::__detail::_List_node_base
+ size=16 align=8
+ base size=16 base align=8
+std::__detail::_List_node_base (0x0x7efdfc972780) 0
+
+Class QListData::NotArrayCompatibleLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotArrayCompatibleLayout (0x0x7efdfca3b540) 0 empty
+
+Class QListData::NotIndirectLayout
+ size=1 align=1
+ base size=0 base align=1
+QListData::NotIndirectLayout (0x0x7efdfca3b5a0) 0 empty
+
+Class QListData::ArrayCompatibleLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::ArrayCompatibleLayout (0x0x7efdfcbd3680) 0 empty
+ QListData::NotIndirectLayout (0x0x7efdfca3b600) 0 empty
+
+Class QListData::InlineWithPaddingLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::InlineWithPaddingLayout (0x0x7efdfc98c930) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7efdfca3b660) 0 empty
+ QListData::NotIndirectLayout (0x0x7efdfca3b6c0) 0 empty
+
+Class QListData::IndirectLayout
+ size=1 align=1
+ base size=1 base align=1
+QListData::IndirectLayout (0x0x7efdfcbd36e8) 0 empty
+ QListData::NotArrayCompatibleLayout (0x0x7efdfca3b720) 0 empty
+
+Class QListData::Data
+ size=24 align=8
+ base size=24 base align=8
+QListData::Data (0x0x7efdfca3b780) 0
+
+Class QListData
+ size=8 align=8
+ base size=8 base align=8
+QListData (0x0x7efdfca3b4e0) 0
+
+Class QRegExp
+ size=8 align=8
+ base size=8 base align=8
+QRegExp (0x0x7efdfc72d900) 0
+
+Class QStringMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QStringMatcher::Data (0x0x7efdfc80ce40) 0
+
+Class QStringMatcher
+ size=1048 align=8
+ base size=1048 base align=8
+QStringMatcher (0x0x7efdfc80cde0) 0
+
+Class QStringList
+ size=8 align=8
+ base size=8 base align=8
+QStringList (0x0x7efdfc81d3a8) 0
+ QList<QString> (0x0x7efdfc81d410) 0
+ QListSpecialMethods<QString> (0x0x7efdfc8390c0) 0 empty
+
+Class QScopedPointerPodDeleter
+ size=1 align=1
+ base size=0 base align=1
+QScopedPointerPodDeleter (0x0x7efdfc50b000) 0 empty
+
+Class std::_Rb_tree_node_base
+ size=32 align=8
+ base size=32 base align=8
+std::_Rb_tree_node_base (0x0x7efdfc590240) 0
+
+Class std::_Rb_tree_header
+ size=40 align=8
+ base size=40 base align=8
+std::_Rb_tree_header (0x0x7efdfc5905a0) 0
+
+Class QtPrivate::AbstractDebugStreamFunction
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::AbstractDebugStreamFunction (0x0x7efdfc318ba0) 0
+
+Class QtPrivate::AbstractComparatorFunction
+ size=24 align=8
+ base size=24 base align=8
+QtPrivate::AbstractComparatorFunction (0x0x7efdfc318f00) 0
+
+Class QtPrivate::AbstractConverterFunction
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::AbstractConverterFunction (0x0x7efdfc339480) 0
+
+Class QMetaType
+ size=80 align=8
+ base size=80 base align=8
+QMetaType (0x0x7efdfc3399c0) 0
+
+Class QtMetaTypePrivate::VariantData
+ size=24 align=8
+ base size=20 base align=8
+QtMetaTypePrivate::VariantData (0x0x7efdfc389ba0) 0
+
+Class QtMetaTypePrivate::VectorBoolElements
+ size=1 align=1
+ base size=0 base align=1
+QtMetaTypePrivate::VectorBoolElements (0x0x7efdfc3be2a0) 0 empty
+
+Class QtMetaTypePrivate::QSequentialIterableImpl
+ size=104 align=8
+ base size=104 base align=8
+QtMetaTypePrivate::QSequentialIterableImpl (0x0x7efdfc058120) 0
+
+Class QtMetaTypePrivate::QAssociativeIterableImpl
+ size=112 align=8
+ base size=112 base align=8
+QtMetaTypePrivate::QAssociativeIterableImpl (0x0x7efdfc0b07e0) 0
+
+Class QtMetaTypePrivate::QPairVariantInterfaceImpl
+ size=40 align=8
+ base size=40 base align=8
+QtMetaTypePrivate::QPairVariantInterfaceImpl (0x0x7efdfc103d20) 0
+
+Class std::chrono::_V2::system_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::system_clock (0x0x7efdfbfd5300) 0 empty
+
+Class std::chrono::_V2::steady_clock
+ size=1 align=1
+ base size=0 base align=1
+std::chrono::_V2::steady_clock (0x0x7efdfbcadd80) 0 empty
+
+Vtable for QObjectData
+QObjectData::_ZTV11QObjectData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QObjectData)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))__cxa_pure_virtual
+
+Class QObjectData
+ size=48 align=8
+ base size=48 base align=8
+QObjectData (0x0x7efdfbcadde0) 0
+ vptr=((& QObjectData::_ZTV11QObjectData) + 16)
+
+Class QObject::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObject::QPrivateSignal (0x0x7efdfbd15000) 0 empty
+
+Vtable for QObject
+QObject::_ZTV7QObject: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QObject)
+16 (int (*)(...))QObject::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QObject::qt_metacall
+40 (int (*)(...))QObject::~QObject
+48 (int (*)(...))QObject::~QObject
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObject
+ size=16 align=8
+ base size=16 base align=8
+QObject (0x0x7efdfbcadf60) 0
+ vptr=((& QObject::_ZTV7QObject) + 16)
+
+Vtable for QObjectUserData
+QObjectUserData::_ZTV15QObjectUserData: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QObjectUserData)
+16 (int (*)(...))QObjectUserData::~QObjectUserData
+24 (int (*)(...))QObjectUserData::~QObjectUserData
+
+Class QObjectUserData
+ size=8 align=8
+ base size=8 base align=8
+QObjectUserData (0x0x7efdfbd85de0) 0 nearly-empty
+ vptr=((& QObjectUserData::_ZTV15QObjectUserData) + 16)
+
+Class QSignalBlocker
+ size=16 align=8
+ base size=10 base align=8
+QSignalBlocker (0x0x7efdfbd85f60) 0
+
+Class QAbstractAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractAnimation::QPrivateSignal (0x0x7efdfbdba840) 0 empty
+
+Vtable for QAbstractAnimation
+QAbstractAnimation::_ZTV18QAbstractAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractAnimation)
+16 (int (*)(...))QAbstractAnimation::metaObject
+24 (int (*)(...))QAbstractAnimation::qt_metacast
+32 (int (*)(...))QAbstractAnimation::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAbstractAnimation
+ size=16 align=8
+ base size=16 base align=8
+QAbstractAnimation (0x0x7efdfbda2548) 0
+ vptr=((& QAbstractAnimation::_ZTV18QAbstractAnimation) + 16)
+ QObject (0x0x7efdfbdba7e0) 0
+ primary-for QAbstractAnimation (0x0x7efdfbda2548)
+
+Class QAnimationDriver::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationDriver::QPrivateSignal (0x0x7efdfbdbac00) 0 empty
+
+Vtable for QAnimationDriver
+QAnimationDriver::_ZTV16QAnimationDriver: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAnimationDriver)
+16 (int (*)(...))QAnimationDriver::metaObject
+24 (int (*)(...))QAnimationDriver::qt_metacast
+32 (int (*)(...))QAnimationDriver::qt_metacall
+40 (int (*)(...))QAnimationDriver::~QAnimationDriver
+48 (int (*)(...))QAnimationDriver::~QAnimationDriver
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAnimationDriver::advance
+120 (int (*)(...))QAnimationDriver::elapsed
+128 (int (*)(...))QAnimationDriver::start
+136 (int (*)(...))QAnimationDriver::stop
+
+Class QAnimationDriver
+ size=16 align=8
+ base size=16 base align=8
+QAnimationDriver (0x0x7efdfbda25b0) 0
+ vptr=((& QAnimationDriver::_ZTV16QAnimationDriver) + 16)
+ QObject (0x0x7efdfbdbaba0) 0
+ primary-for QAnimationDriver (0x0x7efdfbda25b0)
+
+Class QEventLoop::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventLoop::QPrivateSignal (0x0x7efdfbdbae40) 0 empty
+
+Vtable for QEventLoop
+QEventLoop::_ZTV10QEventLoop: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QEventLoop)
+16 (int (*)(...))QEventLoop::metaObject
+24 (int (*)(...))QEventLoop::qt_metacast
+32 (int (*)(...))QEventLoop::qt_metacall
+40 (int (*)(...))QEventLoop::~QEventLoop
+48 (int (*)(...))QEventLoop::~QEventLoop
+56 (int (*)(...))QEventLoop::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QEventLoop
+ size=16 align=8
+ base size=16 base align=8
+QEventLoop (0x0x7efdfbda2618) 0
+ vptr=((& QEventLoop::_ZTV10QEventLoop) + 16)
+ QObject (0x0x7efdfbdbade0) 0
+ primary-for QEventLoop (0x0x7efdfbda2618)
+
+Class QEventLoopLocker
+ size=8 align=8
+ base size=8 base align=8
+QEventLoopLocker (0x0x7efdfba05720) 0
+
+Class QAbstractEventDispatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractEventDispatcher::QPrivateSignal (0x0x7efdfba057e0) 0 empty
+
+Class QAbstractEventDispatcher::TimerInfo
+ size=12 align=4
+ base size=12 base align=4
+QAbstractEventDispatcher::TimerInfo (0x0x7efdfba05840) 0
+
+Vtable for QAbstractEventDispatcher
+QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher: 28 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QAbstractEventDispatcher)
+16 (int (*)(...))QAbstractEventDispatcher::metaObject
+24 (int (*)(...))QAbstractEventDispatcher::qt_metacast
+32 (int (*)(...))QAbstractEventDispatcher::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))__cxa_pure_virtual
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))__cxa_pure_virtual
+176 (int (*)(...))__cxa_pure_virtual
+184 (int (*)(...))__cxa_pure_virtual
+192 (int (*)(...))__cxa_pure_virtual
+200 (int (*)(...))__cxa_pure_virtual
+208 (int (*)(...))QAbstractEventDispatcher::startingUp
+216 (int (*)(...))QAbstractEventDispatcher::closingDown
+
+Class QAbstractEventDispatcher
+ size=16 align=8
+ base size=16 base align=8
+QAbstractEventDispatcher (0x0x7efdfbda2750) 0
+ vptr=((& QAbstractEventDispatcher::_ZTV24QAbstractEventDispatcher) + 16)
+ QObject (0x0x7efdfba05780) 0
+ primary-for QAbstractEventDispatcher (0x0x7efdfbda2750)
+
+Class QMapNodeBase
+ size=24 align=8
+ base size=24 base align=8
+QMapNodeBase (0x0x7efdfba6d840) 0
+
+Class QMapDataBase
+ size=40 align=8
+ base size=40 base align=8
+QMapDataBase (0x0x7efdfba934e0) 0
+
+Class QHashData::Node
+ size=16 align=8
+ base size=16 base align=8
+QHashData::Node (0x0x7efdfbb5be40) 0
+
+Class QHashData
+ size=48 align=8
+ base size=44 base align=8
+QHashData (0x0x7efdfbb5bde0) 0
+
+Class QHashDummyValue
+ size=1 align=1
+ base size=0 base align=1
+QHashDummyValue (0x0x7efdfbb84120) 0 empty
+
+Class QVariant::PrivateShared
+ size=16 align=8
+ base size=12 base align=8
+QVariant::PrivateShared (0x0x7efdfb892840) 0
+
+Class QVariant::Private::Data
+ size=8 align=8
+ base size=8 base align=8
+QVariant::Private::Data (0x0x7efdfb892900) 0
+
+Class QVariant::Private
+ size=16 align=8
+ base size=12 base align=8
+QVariant::Private (0x0x7efdfb8928a0) 0
+
+Class QVariant::Handler
+ size=72 align=8
+ base size=72 base align=8
+QVariant::Handler (0x0x7efdfb892960) 0
+
+Class QVariant
+ size=16 align=8
+ base size=16 base align=8
+QVariant (0x0x7efdfb8927e0) 0
+
+Class QVariantComparisonHelper
+ size=8 align=8
+ base size=8 base align=8
+QVariantComparisonHelper (0x0x7efdfb989c00) 0
+
+Class QSequentialIterable::const_iterator
+ size=112 align=8
+ base size=112 base align=8
+QSequentialIterable::const_iterator (0x0x7efdfb6562a0) 0
+
+Class QSequentialIterable
+ size=104 align=8
+ base size=104 base align=8
+QSequentialIterable (0x0x7efdfb656240) 0
+
+Class QAssociativeIterable::const_iterator
+ size=120 align=8
+ base size=120 base align=8
+QAssociativeIterable::const_iterator (0x0x7efdfb6563c0) 0
+
+Class QAssociativeIterable
+ size=112 align=8
+ base size=112 base align=8
+QAssociativeIterable (0x0x7efdfb656360) 0
+
+Class QModelIndex
+ size=24 align=8
+ base size=24 base align=8
+QModelIndex (0x0x7efdfb720540) 0
+
+Class QPersistentModelIndex
+ size=8 align=8
+ base size=8 base align=8
+QPersistentModelIndex (0x0x7efdfb793180) 0
+
+Class QAbstractItemModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractItemModel::QPrivateSignal (0x0x7efdfb447f60) 0 empty
+
+Vtable for QAbstractItemModel
+QAbstractItemModel::_ZTV18QAbstractItemModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractItemModel)
+16 (int (*)(...))QAbstractItemModel::metaObject
+24 (int (*)(...))QAbstractItemModel::qt_metacast
+32 (int (*)(...))QAbstractItemModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractItemModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractItemModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractItemModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractItemModel (0x0x7efdfb4538f0) 0
+ vptr=((& QAbstractItemModel::_ZTV18QAbstractItemModel) + 16)
+ QObject (0x0x7efdfb447f00) 0
+ primary-for QAbstractItemModel (0x0x7efdfb4538f0)
+
+Class QAbstractTableModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTableModel::QPrivateSignal (0x0x7efdfb52a360) 0 empty
+
+Vtable for QAbstractTableModel
+QAbstractTableModel::_ZTV19QAbstractTableModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTableModel)
+16 (int (*)(...))QAbstractTableModel::metaObject
+24 (int (*)(...))QAbstractTableModel::qt_metacast
+32 (int (*)(...))QAbstractTableModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractTableModel::index
+120 (int (*)(...))QAbstractTableModel::parent
+128 (int (*)(...))QAbstractTableModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractTableModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractTableModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractTableModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractTableModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTableModel (0x0x7efdfb453f08) 0
+ vptr=((& QAbstractTableModel::_ZTV19QAbstractTableModel) + 16)
+ QAbstractItemModel (0x0x7efdfb453f70) 0
+ primary-for QAbstractTableModel (0x0x7efdfb453f08)
+ QObject (0x0x7efdfb52a300) 0
+ primary-for QAbstractItemModel (0x0x7efdfb453f70)
+
+Class QAbstractListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractListModel::QPrivateSignal (0x0x7efdfb52a4e0) 0 empty
+
+Vtable for QAbstractListModel
+QAbstractListModel::_ZTV18QAbstractListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QAbstractListModel)
+16 (int (*)(...))QAbstractListModel::metaObject
+24 (int (*)(...))QAbstractListModel::qt_metacast
+32 (int (*)(...))QAbstractListModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QAbstractListModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))__cxa_pure_virtual
+168 (int (*)(...))QAbstractItemModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QAbstractItemModel::itemData
+200 (int (*)(...))QAbstractItemModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QAbstractListModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QAbstractListModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractListModel (0x0x7efdfb53f000) 0
+ vptr=((& QAbstractListModel::_ZTV18QAbstractListModel) + 16)
+ QAbstractItemModel (0x0x7efdfb53f068) 0
+ primary-for QAbstractListModel (0x0x7efdfb53f000)
+ QObject (0x0x7efdfb52a480) 0
+ primary-for QAbstractItemModel (0x0x7efdfb53f068)
+
+Vtable for QAbstractNativeEventFilter
+QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAbstractNativeEventFilter)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractNativeEventFilter
+ size=16 align=8
+ base size=16 base align=8
+QAbstractNativeEventFilter (0x0x7efdfb52ac00) 0
+ vptr=((& QAbstractNativeEventFilter::_ZTV26QAbstractNativeEventFilter) + 16)
+
+Class QAbstractProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractProxyModel::QPrivateSignal (0x0x7efdfb52acc0) 0 empty
+
+Vtable for QAbstractProxyModel
+QAbstractProxyModel::_ZTV19QAbstractProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractProxyModel)
+16 (int (*)(...))QAbstractProxyModel::metaObject
+24 (int (*)(...))QAbstractProxyModel::qt_metacast
+32 (int (*)(...))QAbstractProxyModel::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QAbstractProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QAbstractProxyModel::setSourceModel
+392 (int (*)(...))__cxa_pure_virtual
+400 (int (*)(...))__cxa_pure_virtual
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QAbstractProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QAbstractProxyModel (0x0x7efdfb53f138) 0
+ vptr=((& QAbstractProxyModel::_ZTV19QAbstractProxyModel) + 16)
+ QAbstractItemModel (0x0x7efdfb53f1a0) 0
+ primary-for QAbstractProxyModel (0x0x7efdfb53f138)
+ QObject (0x0x7efdfb52ac60) 0
+ primary-for QAbstractItemModel (0x0x7efdfb53f1a0)
+
+Class QAbstractState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractState::QPrivateSignal (0x0x7efdfb52af00) 0 empty
+
+Vtable for QAbstractState
+QAbstractState::_ZTV14QAbstractState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAbstractState)
+16 (int (*)(...))QAbstractState::metaObject
+24 (int (*)(...))QAbstractState::qt_metacast
+32 (int (*)(...))QAbstractState::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractState
+ size=16 align=8
+ base size=16 base align=8
+QAbstractState (0x0x7efdfb53f208) 0
+ vptr=((& QAbstractState::_ZTV14QAbstractState) + 16)
+ QObject (0x0x7efdfb52aea0) 0
+ primary-for QAbstractState (0x0x7efdfb53f208)
+
+Class QAbstractTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAbstractTransition::QPrivateSignal (0x0x7efdfb5b8180) 0 empty
+
+Vtable for QAbstractTransition
+QAbstractTransition::_ZTV19QAbstractTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAbstractTransition)
+16 (int (*)(...))QAbstractTransition::metaObject
+24 (int (*)(...))QAbstractTransition::qt_metacast
+32 (int (*)(...))QAbstractTransition::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAbstractTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QAbstractTransition
+ size=16 align=8
+ base size=16 base align=8
+QAbstractTransition (0x0x7efdfb53f270) 0
+ vptr=((& QAbstractTransition::_ZTV19QAbstractTransition) + 16)
+ QObject (0x0x7efdfb5b8120) 0
+ primary-for QAbstractTransition (0x0x7efdfb53f270)
+
+Class QAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAnimationGroup::QPrivateSignal (0x0x7efdfb5b8480) 0 empty
+
+Vtable for QAnimationGroup
+QAnimationGroup::_ZTV15QAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QAnimationGroup)
+16 (int (*)(...))QAnimationGroup::metaObject
+24 (int (*)(...))QAnimationGroup::qt_metacast
+32 (int (*)(...))QAnimationGroup::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QAnimationGroup (0x0x7efdfb53f2d8) 0
+ vptr=((& QAnimationGroup::_ZTV15QAnimationGroup) + 16)
+ QAbstractAnimation (0x0x7efdfb53f340) 0
+ primary-for QAnimationGroup (0x0x7efdfb53f2d8)
+ QObject (0x0x7efdfb5b8420) 0
+ primary-for QAbstractAnimation (0x0x7efdfb53f340)
+
+Class QBasicTimer
+ size=4 align=4
+ base size=4 base align=4
+QBasicTimer (0x0x7efdfb21a780) 0
+
+Class QBitArray
+ size=8 align=8
+ base size=8 base align=8
+QBitArray (0x0x7efdfb2b3120) 0
+
+Class QBitRef
+ size=16 align=8
+ base size=12 base align=8
+QBitRef (0x0x7efdfb3145a0) 0
+
+Class QIODevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIODevice::QPrivateSignal (0x0x7efdfb35d840) 0 empty
+
+Vtable for QIODevice
+QIODevice::_ZTV9QIODevice: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QIODevice)
+16 (int (*)(...))QIODevice::metaObject
+24 (int (*)(...))QIODevice::qt_metacast
+32 (int (*)(...))QIODevice::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QIODevice::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QIODevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))__cxa_pure_virtual
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))__cxa_pure_virtual
+
+Class QIODevice
+ size=16 align=8
+ base size=16 base align=8
+QIODevice (0x0x7efdfb35c8f0) 0
+ vptr=((& QIODevice::_ZTV9QIODevice) + 16)
+ QObject (0x0x7efdfb35d7e0) 0
+ primary-for QIODevice (0x0x7efdfb35c8f0)
+
+Class QBuffer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QBuffer::QPrivateSignal (0x0x7efdfb3a71e0) 0 empty
+
+Vtable for QBuffer
+QBuffer::_ZTV7QBuffer: 30 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QBuffer)
+16 (int (*)(...))QBuffer::metaObject
+24 (int (*)(...))QBuffer::qt_metacast
+32 (int (*)(...))QBuffer::qt_metacall
+40 (int (*)(...))QBuffer::~QBuffer
+48 (int (*)(...))QBuffer::~QBuffer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QBuffer::connectNotify
+104 (int (*)(...))QBuffer::disconnectNotify
+112 (int (*)(...))QIODevice::isSequential
+120 (int (*)(...))QBuffer::open
+128 (int (*)(...))QBuffer::close
+136 (int (*)(...))QBuffer::pos
+144 (int (*)(...))QBuffer::size
+152 (int (*)(...))QBuffer::seek
+160 (int (*)(...))QBuffer::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QBuffer::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QBuffer::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QBuffer::writeData
+
+Class QBuffer
+ size=16 align=8
+ base size=16 base align=8
+QBuffer (0x0x7efdfb35ca28) 0
+ vptr=((& QBuffer::_ZTV7QBuffer) + 16)
+ QIODevice (0x0x7efdfb35ca90) 0
+ primary-for QBuffer (0x0x7efdfb35ca28)
+ QObject (0x0x7efdfb3a7180) 0
+ primary-for QIODevice (0x0x7efdfb35ca90)
+
+Class QByteArrayMatcher::Data
+ size=272 align=8
+ base size=272 base align=8
+QByteArrayMatcher::Data (0x0x7efdfb3a7480) 0
+
+Class QByteArrayMatcher
+ size=1040 align=8
+ base size=1040 base align=8
+QByteArrayMatcher (0x0x7efdfb3a7420) 0
+
+Class QStaticByteArrayMatcherBase::Skiptable
+ size=256 align=1
+ base size=256 base align=1
+QStaticByteArrayMatcherBase::Skiptable (0x0x7efdfb3a7600) 0
+
+Class QStaticByteArrayMatcherBase
+ size=256 align=16
+ base size=256 base align=16
+QStaticByteArrayMatcherBase (0x0x7efdfb3a75a0) 0
+
+Class QSharedData
+ size=4 align=4
+ base size=4 base align=4
+QSharedData (0x0x7efdfafef4e0) 0
+
+Class QLocale
+ size=8 align=8
+ base size=8 base align=8
+QLocale (0x0x7efdfb0323c0) 0
+
+Class QCalendar::YearMonthDay
+ size=12 align=4
+ base size=12 base align=4
+QCalendar::YearMonthDay (0x0x7efdfb1a28a0) 0
+
+Class QCalendar
+ size=8 align=8
+ base size=8 base align=8
+QCalendar (0x0x7efdfb1a2840) 0
+
+Class QDate
+ size=8 align=8
+ base size=8 base align=8
+QDate (0x0x7efdfadda0c0) 0
+
+Class QTime
+ size=4 align=4
+ base size=4 base align=4
+QTime (0x0x7efdfae33960) 0
+
+Class QDateTime::ShortData
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::ShortData (0x0x7efdfae9b600) 0
+
+Class QDateTime::Data
+ size=8 align=8
+ base size=8 base align=8
+QDateTime::Data (0x0x7efdfae9b660) 0
+
+Class QDateTime
+ size=8 align=8
+ base size=8 base align=8
+QDateTime (0x0x7efdfae9b5a0) 0
+
+Vtable for QTextStream
+QTextStream::_ZTV11QTextStream: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTextStream)
+16 (int (*)(...))QTextStream::~QTextStream
+24 (int (*)(...))QTextStream::~QTextStream
+
+Class QTextStream
+ size=16 align=8
+ base size=16 base align=8
+QTextStream (0x0x7efdfaf6ad20) 0
+ vptr=((& QTextStream::_ZTV11QTextStream) + 16)
+
+Class QTextStreamManipulator
+ size=40 align=8
+ base size=38 base align=8
+QTextStreamManipulator (0x0x7efdfafbc600) 0
+
+Class QContiguousCacheData
+ size=24 align=4
+ base size=24 base align=4
+QContiguousCacheData (0x0x7efdfac5f2a0) 0
+
+Vtable for __gnu_cxx::__concurrence_lock_error
+__gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_lock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_lock_error::~__concurrence_lock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_lock_error::what
+
+Class __gnu_cxx::__concurrence_lock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_lock_error (0x0x7efdfaf79a90) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_lock_error::_ZTVN9__gnu_cxx24__concurrence_lock_errorE) + 16)
+ std::exception (0x0x7efdfacb0120) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_lock_error (0x0x7efdfaf79a90)
+
+Vtable for __gnu_cxx::__concurrence_unlock_error
+__gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx26__concurrence_unlock_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+24 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::~__concurrence_unlock_error
+32 (int (*)(...))__gnu_cxx::__concurrence_unlock_error::what
+
+Class __gnu_cxx::__concurrence_unlock_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_unlock_error (0x0x7efdfaf79af8) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_unlock_error::_ZTVN9__gnu_cxx26__concurrence_unlock_errorE) + 16)
+ std::exception (0x0x7efdfacb0240) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_unlock_error (0x0x7efdfaf79af8)
+
+Vtable for __gnu_cxx::__concurrence_broadcast_error
+__gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx29__concurrence_broadcast_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+24 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::~__concurrence_broadcast_error
+32 (int (*)(...))__gnu_cxx::__concurrence_broadcast_error::what
+
+Class __gnu_cxx::__concurrence_broadcast_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_broadcast_error (0x0x7efdfaf79b60) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_broadcast_error::_ZTVN9__gnu_cxx29__concurrence_broadcast_errorE) + 16)
+ std::exception (0x0x7efdfacb0360) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_broadcast_error (0x0x7efdfaf79b60)
+
+Vtable for __gnu_cxx::__concurrence_wait_error
+__gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9__gnu_cxx24__concurrence_wait_errorE)
+16 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+24 (int (*)(...))__gnu_cxx::__concurrence_wait_error::~__concurrence_wait_error
+32 (int (*)(...))__gnu_cxx::__concurrence_wait_error::what
+
+Class __gnu_cxx::__concurrence_wait_error
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__concurrence_wait_error (0x0x7efdfaf79c30) 0 nearly-empty
+ vptr=((& __gnu_cxx::__concurrence_wait_error::_ZTVN9__gnu_cxx24__concurrence_wait_errorE) + 16)
+ std::exception (0x0x7efdfacb0480) 0 nearly-empty
+ primary-for __gnu_cxx::__concurrence_wait_error (0x0x7efdfaf79c30)
+
+Class __gnu_cxx::__mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__mutex (0x0x7efdfacd94e0) 0
+
+Class __gnu_cxx::__recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+__gnu_cxx::__recursive_mutex (0x0x7efdfacd97e0) 0
+
+Class __gnu_cxx::__scoped_lock
+ size=8 align=8
+ base size=8 base align=8
+__gnu_cxx::__scoped_lock (0x0x7efdfacd9ae0) 0
+
+Class __gnu_cxx::__cond
+ size=48 align=8
+ base size=48 base align=8
+__gnu_cxx::__cond (0x0x7efdfacd9e40) 0
+
+Vtable for std::bad_weak_ptr
+std::bad_weak_ptr::_ZTVSt12bad_weak_ptr: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12bad_weak_ptr)
+16 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+24 (int (*)(...))std::bad_weak_ptr::~bad_weak_ptr
+32 (int (*)(...))std::bad_weak_ptr::what
+
+Class std::bad_weak_ptr
+ size=8 align=8
+ base size=8 base align=8
+std::bad_weak_ptr (0x0x7efdfaf79c98) 0 nearly-empty
+ vptr=((& std::bad_weak_ptr::_ZTVSt12bad_weak_ptr) + 16)
+ std::exception (0x0x7efdfad78060) 0 nearly-empty
+ primary-for std::bad_weak_ptr (0x0x7efdfaf79c98)
+
+Class std::_Sp_make_shared_tag
+ size=1 align=1
+ base size=0 base align=1
+std::_Sp_make_shared_tag (0x0x7efdfa9df000) 0 empty
+
+Class std::__sp_array_delete
+ size=1 align=1
+ base size=0 base align=1
+std::__sp_array_delete (0x0x7efdfa9df420) 0 empty
+
+Class std::_Sp_locker
+ size=2 align=1
+ base size=2 base align=1
+std::_Sp_locker (0x0x7efdfab252a0) 0
+
+Class QtSharedPointer::NormalDeleter
+ size=1 align=1
+ base size=0 base align=1
+QtSharedPointer::NormalDeleter (0x0x7efdfab55780) 0 empty
+
+Class QtSharedPointer::ExternalRefCountData
+ size=16 align=8
+ base size=16 base align=8
+QtSharedPointer::ExternalRefCountData (0x0x7efdfab55900) 0
+
+Class QtPrivate::EnableInternalData
+ size=1 align=1
+ base size=0 base align=1
+QtPrivate::EnableInternalData (0x0x7efdfa7dd240) 0 empty
+
+Class QDebug::Stream
+ size=80 align=8
+ base size=76 base align=8
+QDebug::Stream (0x0x7efdfa808900) 0
+
+Class QDebug
+ size=8 align=8
+ base size=8 base align=8
+QDebug (0x0x7efdfa8088a0) 0
+
+Class QDebugStateSaver
+ size=8 align=8
+ base size=8 base align=8
+QDebugStateSaver (0x0x7efdfa9a0240) 0
+
+Class QNoDebug
+ size=1 align=1
+ base size=0 base align=1
+QNoDebug (0x0x7efdfa9a0300) 0 empty
+
+Class QCborError
+ size=4 align=4
+ base size=4 base align=4
+QCborError (0x0x7efdfa621540) 0
+
+Class QRegularExpression
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpression (0x0x7efdfa621cc0) 0
+
+Class QRegularExpressionMatch
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatch (0x0x7efdfa6daba0) 0
+
+Class QRegularExpressionMatchIterator
+ size=8 align=8
+ base size=8 base align=8
+QRegularExpressionMatchIterator (0x0x7efdfa73f960) 0
+
+Class QUrl
+ size=8 align=8
+ base size=8 base align=8
+QUrl (0x0x7efdfa7bf3c0) 0
+
+Class QUuid
+ size=16 align=4
+ base size=16 base align=4
+QUuid (0x0x7efdfa50d360) 0
+
+Class QCborParserError
+ size=16 align=8
+ base size=12 base align=8
+QCborParserError (0x0x7efdfa572ea0) 0
+
+Class QCborValue
+ size=24 align=8
+ base size=20 base align=8
+QCborValue (0x0x7efdfa572f60) 0
+
+Class QCborValueRef
+ size=16 align=8
+ base size=16 base align=8
+QCborValueRef (0x0x7efdf9fddb40) 0
+
+Class QCborArray::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::Iterator (0x0x7efdfa0805a0) 0
+
+Class QCborArray::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborArray::ConstIterator (0x0x7efdfa080600) 0
+
+Class QCborArray
+ size=8 align=8
+ base size=8 base align=8
+QCborArray (0x0x7efdfa080540) 0
+
+Class QCborMap::Iterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::Iterator (0x0x7efdf9dfd1e0) 0
+
+Class QCborMap::ConstIterator
+ size=16 align=8
+ base size=16 base align=8
+QCborMap::ConstIterator (0x0x7efdf9dfd240) 0
+
+Class QCborMap
+ size=8 align=8
+ base size=8 base align=8
+QCborMap (0x0x7efdf9dfd180) 0
+
+Class qfloat16::Wrap
+ size=2 align=2
+ base size=2 base align=2
+qfloat16::Wrap (0x0x7efdf9c059c0) 0
+
+Class qfloat16
+ size=2 align=2
+ base size=2 base align=2
+qfloat16 (0x0x7efdf9c05960) 0
+
+Class QCborStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QCborStreamWriter (0x0x7efdf9cea660) 0
+
+Class QCborStreamReader
+ size=24 align=8
+ base size=20 base align=8
+QCborStreamReader (0x0x7efdf9d1e3c0) 0
+
+Class QCollatorSortKey
+ size=8 align=8
+ base size=8 base align=8
+QCollatorSortKey (0x0x7efdf9d9f4e0) 0
+
+Class QCollator
+ size=8 align=8
+ base size=8 base align=8
+QCollator (0x0x7efdf9d9f6c0) 0
+
+Class QCommandLineOption
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineOption (0x0x7efdf9a95cc0) 0
+
+Vtable for QEvent
+QEvent::_ZTV6QEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QEvent)
+16 (int (*)(...))QEvent::~QEvent
+24 (int (*)(...))QEvent::~QEvent
+
+Class QEvent
+ size=24 align=8
+ base size=20 base align=8
+QEvent (0x0x7efdf9b91240) 0
+ vptr=((& QEvent::_ZTV6QEvent) + 16)
+
+Vtable for QTimerEvent
+QTimerEvent::_ZTV11QTimerEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTimerEvent)
+16 (int (*)(...))QTimerEvent::~QTimerEvent
+24 (int (*)(...))QTimerEvent::~QTimerEvent
+
+Class QTimerEvent
+ size=24 align=8
+ base size=24 base align=8
+QTimerEvent (0x0x7efdf9b696e8) 0
+ vptr=((& QTimerEvent::_ZTV11QTimerEvent) + 16)
+ QEvent (0x0x7efdf9b91600) 0
+ primary-for QTimerEvent (0x0x7efdf9b696e8)
+
+Vtable for QChildEvent
+QChildEvent::_ZTV11QChildEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QChildEvent)
+16 (int (*)(...))QChildEvent::~QChildEvent
+24 (int (*)(...))QChildEvent::~QChildEvent
+
+Class QChildEvent
+ size=32 align=8
+ base size=32 base align=8
+QChildEvent (0x0x7efdf9b69750) 0
+ vptr=((& QChildEvent::_ZTV11QChildEvent) + 16)
+ QEvent (0x0x7efdf9b916c0) 0
+ primary-for QChildEvent (0x0x7efdf9b69750)
+
+Vtable for QDynamicPropertyChangeEvent
+QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI27QDynamicPropertyChangeEvent)
+16 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+24 (int (*)(...))QDynamicPropertyChangeEvent::~QDynamicPropertyChangeEvent
+
+Class QDynamicPropertyChangeEvent
+ size=32 align=8
+ base size=32 base align=8
+QDynamicPropertyChangeEvent (0x0x7efdf9b69c98) 0
+ vptr=((& QDynamicPropertyChangeEvent::_ZTV27QDynamicPropertyChangeEvent) + 16)
+ QEvent (0x0x7efdf9b91d20) 0
+ primary-for QDynamicPropertyChangeEvent (0x0x7efdf9b69c98)
+
+Vtable for QDeferredDeleteEvent
+QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QDeferredDeleteEvent)
+16 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+24 (int (*)(...))QDeferredDeleteEvent::~QDeferredDeleteEvent
+
+Class QDeferredDeleteEvent
+ size=24 align=8
+ base size=24 base align=8
+QDeferredDeleteEvent (0x0x7efdf9b69d00) 0
+ vptr=((& QDeferredDeleteEvent::_ZTV20QDeferredDeleteEvent) + 16)
+ QEvent (0x0x7efdf9b91de0) 0
+ primary-for QDeferredDeleteEvent (0x0x7efdf9b69d00)
+
+Class QCoreApplication::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCoreApplication::QPrivateSignal (0x0x7efdf9b91f00) 0 empty
+
+Vtable for QCoreApplication
+QCoreApplication::_ZTV16QCoreApplication: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QCoreApplication)
+16 (int (*)(...))QCoreApplication::metaObject
+24 (int (*)(...))QCoreApplication::qt_metacast
+32 (int (*)(...))QCoreApplication::qt_metacall
+40 (int (*)(...))QCoreApplication::~QCoreApplication
+48 (int (*)(...))QCoreApplication::~QCoreApplication
+56 (int (*)(...))QCoreApplication::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCoreApplication::notify
+120 (int (*)(...))QCoreApplication::compressEvent
+
+Class QCoreApplication
+ size=16 align=8
+ base size=16 base align=8
+QCoreApplication (0x0x7efdf9b69d68) 0
+ vptr=((& QCoreApplication::_ZTV16QCoreApplication) + 16)
+ QObject (0x0x7efdf9b91ea0) 0
+ primary-for QCoreApplication (0x0x7efdf9b69d68)
+
+Class QCommandLineParser
+ size=8 align=8
+ base size=8 base align=8
+QCommandLineParser (0x0x7efdf97e9180) 0
+
+Class QConcatenateTablesProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QConcatenateTablesProxyModel::QPrivateSignal (0x0x7efdf97e9300) 0 empty
+
+Vtable for QConcatenateTablesProxyModel
+QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI28QConcatenateTablesProxyModel)
+16 (int (*)(...))QConcatenateTablesProxyModel::metaObject
+24 (int (*)(...))QConcatenateTablesProxyModel::qt_metacast
+32 (int (*)(...))QConcatenateTablesProxyModel::qt_metacall
+40 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+48 (int (*)(...))QConcatenateTablesProxyModel::~QConcatenateTablesProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QConcatenateTablesProxyModel::index
+120 (int (*)(...))QConcatenateTablesProxyModel::parent
+128 (int (*)(...))QAbstractItemModel::sibling
+136 (int (*)(...))QConcatenateTablesProxyModel::rowCount
+144 (int (*)(...))QConcatenateTablesProxyModel::columnCount
+152 (int (*)(...))QAbstractItemModel::hasChildren
+160 (int (*)(...))QConcatenateTablesProxyModel::data
+168 (int (*)(...))QConcatenateTablesProxyModel::setData
+176 (int (*)(...))QConcatenateTablesProxyModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QConcatenateTablesProxyModel::itemData
+200 (int (*)(...))QConcatenateTablesProxyModel::setItemData
+208 (int (*)(...))QConcatenateTablesProxyModel::mimeTypes
+216 (int (*)(...))QConcatenateTablesProxyModel::mimeData
+224 (int (*)(...))QConcatenateTablesProxyModel::canDropMimeData
+232 (int (*)(...))QConcatenateTablesProxyModel::dropMimeData
+240 (int (*)(...))QAbstractItemModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QAbstractItemModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QAbstractItemModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QConcatenateTablesProxyModel::flags
+328 (int (*)(...))QAbstractItemModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QConcatenateTablesProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QConcatenateTablesProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QConcatenateTablesProxyModel (0x0x7efdf9b69dd0) 0
+ vptr=((& QConcatenateTablesProxyModel::_ZTV28QConcatenateTablesProxyModel) + 16)
+ QAbstractItemModel (0x0x7efdf9b69e38) 0
+ primary-for QConcatenateTablesProxyModel (0x0x7efdf9b69dd0)
+ QObject (0x0x7efdf97e92a0) 0
+ primary-for QAbstractItemModel (0x0x7efdf9b69e38)
+
+Class QCryptographicHash
+ size=8 align=8
+ base size=8 base align=8
+QCryptographicHash (0x0x7efdf97e94e0) 0
+
+Class QDataStream
+ size=32 align=8
+ base size=32 base align=8
+QDataStream (0x0x7efdf97e9600) 0
+
+Class QtPrivate::StreamStateSaver
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::StreamStateSaver (0x0x7efdf97e9780) 0
+
+Class QElapsedTimer
+ size=16 align=8
+ base size=16 base align=8
+QElapsedTimer (0x0x7efdf9858ea0) 0
+
+Class QDeadlineTimer
+ size=16 align=8
+ base size=16 base align=8
+QDeadlineTimer (0x0x7efdf9899600) 0
+
+Class QFileDevice::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileDevice::QPrivateSignal (0x0x7efdf95d4300) 0 empty
+
+Vtable for QFileDevice
+QFileDevice::_ZTV11QFileDevice: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFileDevice)
+16 (int (*)(...))QFileDevice::metaObject
+24 (int (*)(...))QFileDevice::qt_metacast
+32 (int (*)(...))QFileDevice::qt_metacall
+40 (int (*)(...))QFileDevice::~QFileDevice
+48 (int (*)(...))QFileDevice::~QFileDevice
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QIODevice::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFileDevice::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QFileDevice
+ size=16 align=8
+ base size=16 base align=8
+QFileDevice (0x0x7efdf95d3068) 0
+ vptr=((& QFileDevice::_ZTV11QFileDevice) + 16)
+ QIODevice (0x0x7efdf95d30d0) 0
+ primary-for QFileDevice (0x0x7efdf95d3068)
+ QObject (0x0x7efdf95d42a0) 0
+ primary-for QIODevice (0x0x7efdf95d30d0)
+
+Class QFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFile::QPrivateSignal (0x0x7efdf95d4c00) 0 empty
+
+Vtable for QFile
+QFile::_ZTV5QFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI5QFile)
+16 (int (*)(...))QFile::metaObject
+24 (int (*)(...))QFile::qt_metacast
+32 (int (*)(...))QFile::qt_metacall
+40 (int (*)(...))QFile::~QFile
+48 (int (*)(...))QFile::~QFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QFile
+ size=16 align=8
+ base size=16 base align=8
+QFile (0x0x7efdf95d3208) 0
+ vptr=((& QFile::_ZTV5QFile) + 16)
+ QFileDevice (0x0x7efdf95d3270) 0
+ primary-for QFile (0x0x7efdf95d3208)
+ QIODevice (0x0x7efdf95d32d8) 0
+ primary-for QFileDevice (0x0x7efdf95d3270)
+ QObject (0x0x7efdf95d4ba0) 0
+ primary-for QIODevice (0x0x7efdf95d32d8)
+
+Class QFileInfo
+ size=8 align=8
+ base size=8 base align=8
+QFileInfo (0x0x7efdf964b2a0) 0
+
+Class QDir
+ size=8 align=8
+ base size=8 base align=8
+QDir (0x0x7efdf9718180) 0
+
+Class QDirIterator
+ size=8 align=8
+ base size=8 base align=8
+QDirIterator (0x0x7efdf9440180) 0
+
+Class QEasingCurve
+ size=8 align=8
+ base size=8 base align=8
+QEasingCurve (0x0x7efdf9440900) 0
+
+Class QEventTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QEventTransition::QPrivateSignal (0x0x7efdf9573a20) 0 empty
+
+Vtable for QEventTransition
+QEventTransition::_ZTV16QEventTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QEventTransition)
+16 (int (*)(...))QEventTransition::metaObject
+24 (int (*)(...))QEventTransition::qt_metacast
+32 (int (*)(...))QEventTransition::qt_metacall
+40 (int (*)(...))QEventTransition::~QEventTransition
+48 (int (*)(...))QEventTransition::~QEventTransition
+56 (int (*)(...))QEventTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QEventTransition::eventTest
+120 (int (*)(...))QEventTransition::onTransition
+
+Class QEventTransition
+ size=16 align=8
+ base size=16 base align=8
+QEventTransition (0x0x7efdf952af70) 0
+ vptr=((& QEventTransition::_ZTV16QEventTransition) + 16)
+ QAbstractTransition (0x0x7efdf9587000) 0
+ primary-for QEventTransition (0x0x7efdf952af70)
+ QObject (0x0x7efdf95739c0) 0
+ primary-for QAbstractTransition (0x0x7efdf9587000)
+
+Vtable for QException
+QException::_ZTV10QException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QException)
+16 (int (*)(...))QException::~QException
+24 (int (*)(...))QException::~QException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QException::raise
+48 (int (*)(...))QException::clone
+
+Class QException
+ size=8 align=8
+ base size=8 base align=8
+QException (0x0x7efdf9587068) 0 nearly-empty
+ vptr=((& QException::_ZTV10QException) + 16)
+ std::exception (0x0x7efdf9573c00) 0 nearly-empty
+ primary-for QException (0x0x7efdf9587068)
+
+Vtable for QUnhandledException
+QUnhandledException::_ZTV19QUnhandledException: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QUnhandledException)
+16 (int (*)(...))QUnhandledException::~QUnhandledException
+24 (int (*)(...))QUnhandledException::~QUnhandledException
+32 (int (*)(...))std::exception::what
+40 (int (*)(...))QUnhandledException::raise
+48 (int (*)(...))QUnhandledException::clone
+
+Class QUnhandledException
+ size=8 align=8
+ base size=8 base align=8
+QUnhandledException (0x0x7efdf95870d0) 0 nearly-empty
+ vptr=((& QUnhandledException::_ZTV19QUnhandledException) + 16)
+ QException (0x0x7efdf9587138) 0 nearly-empty
+ primary-for QUnhandledException (0x0x7efdf95870d0)
+ std::exception (0x0x7efdf9573c60) 0 nearly-empty
+ primary-for QException (0x0x7efdf9587138)
+
+Class QtPrivate::ExceptionHolder
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionHolder (0x0x7efdf9573cc0) 0
+
+Class QtPrivate::ExceptionStore
+ size=8 align=8
+ base size=8 base align=8
+QtPrivate::ExceptionStore (0x0x7efdf9573d80) 0
+
+Vtable for QFactoryInterface
+QFactoryInterface::_ZTV17QFactoryInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QFactoryInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class QFactoryInterface
+ size=8 align=8
+ base size=8 base align=8
+QFactoryInterface (0x0x7efdf9573de0) 0 nearly-empty
+ vptr=((& QFactoryInterface::_ZTV17QFactoryInterface) + 16)
+
+Class QFileSelector::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSelector::QPrivateSignal (0x0x7efdf95b4060) 0 empty
+
+Vtable for QFileSelector
+QFileSelector::_ZTV13QFileSelector: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QFileSelector)
+16 (int (*)(...))QFileSelector::metaObject
+24 (int (*)(...))QFileSelector::qt_metacast
+32 (int (*)(...))QFileSelector::qt_metacall
+40 (int (*)(...))QFileSelector::~QFileSelector
+48 (int (*)(...))QFileSelector::~QFileSelector
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSelector
+ size=16 align=8
+ base size=16 base align=8
+QFileSelector (0x0x7efdf95871a0) 0
+ vptr=((& QFileSelector::_ZTV13QFileSelector) + 16)
+ QObject (0x0x7efdf95b4000) 0
+ primary-for QFileSelector (0x0x7efdf95871a0)
+
+Class QFileSystemWatcher::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFileSystemWatcher::QPrivateSignal (0x0x7efdf95b42a0) 0 empty
+
+Vtable for QFileSystemWatcher
+QFileSystemWatcher::_ZTV18QFileSystemWatcher: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFileSystemWatcher)
+16 (int (*)(...))QFileSystemWatcher::metaObject
+24 (int (*)(...))QFileSystemWatcher::qt_metacast
+32 (int (*)(...))QFileSystemWatcher::qt_metacall
+40 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+48 (int (*)(...))QFileSystemWatcher::~QFileSystemWatcher
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QFileSystemWatcher
+ size=16 align=8
+ base size=16 base align=8
+QFileSystemWatcher (0x0x7efdf9587208) 0
+ vptr=((& QFileSystemWatcher::_ZTV18QFileSystemWatcher) + 16)
+ QObject (0x0x7efdf95b4240) 0
+ primary-for QFileSystemWatcher (0x0x7efdf9587208)
+
+Class QFinalState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFinalState::QPrivateSignal (0x0x7efdf95b44e0) 0 empty
+
+Vtable for QFinalState
+QFinalState::_ZTV11QFinalState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QFinalState)
+16 (int (*)(...))QFinalState::metaObject
+24 (int (*)(...))QFinalState::qt_metacast
+32 (int (*)(...))QFinalState::qt_metacall
+40 (int (*)(...))QFinalState::~QFinalState
+48 (int (*)(...))QFinalState::~QFinalState
+56 (int (*)(...))QFinalState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFinalState::onEntry
+120 (int (*)(...))QFinalState::onExit
+
+Class QFinalState
+ size=16 align=8
+ base size=16 base align=8
+QFinalState (0x0x7efdf9587270) 0
+ vptr=((& QFinalState::_ZTV11QFinalState) + 16)
+ QAbstractState (0x0x7efdf95872d8) 0
+ primary-for QFinalState (0x0x7efdf9587270)
+ QObject (0x0x7efdf95b4480) 0
+ primary-for QAbstractState (0x0x7efdf95872d8)
+
+Vtable for QRunnable
+QRunnable::_ZTV9QRunnable: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QRunnable)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QRunnable
+ size=16 align=8
+ base size=12 base align=8
+QRunnable (0x0x7efdf95b46c0) 0
+ vptr=((& QRunnable::_ZTV9QRunnable) + 16)
+
+Class QBasicMutex
+ size=8 align=8
+ base size=8 base align=8
+QBasicMutex (0x0x7efdf95b4960) 0
+
+Class QMutex
+ size=8 align=8
+ base size=8 base align=8
+QMutex (0x0x7efdf95873a8) 0
+ QBasicMutex (0x0x7efdf9210600) 0
+
+Class QRecursiveMutex
+ size=8 align=8
+ base size=8 base align=8
+QRecursiveMutex (0x0x7efdf9587410) 0
+ QMutex (0x0x7efdf9587478) 0
+ QBasicMutex (0x0x7efdf9210840) 0
+
+Class QMutexLocker
+ size=8 align=8
+ base size=8 base align=8
+QMutexLocker (0x0x7efdf92108a0) 0
+
+Class QtPrivate::ResultItem
+ size=16 align=8
+ base size=16 base align=8
+QtPrivate::ResultItem (0x0x7efdf9210ea0) 0
+
+Class QtPrivate::ResultIteratorBase
+ size=16 align=8
+ base size=12 base align=8
+QtPrivate::ResultIteratorBase (0x0x7efdf923e4e0) 0
+
+Vtable for QtPrivate::ResultStoreBase
+QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN9QtPrivate15ResultStoreBaseE)
+16 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+24 (int (*)(...))QtPrivate::ResultStoreBase::~ResultStoreBase
+
+Class QtPrivate::ResultStoreBase
+ size=48 align=8
+ base size=44 base align=8
+QtPrivate::ResultStoreBase (0x0x7efdf923e6c0) 0
+ vptr=((& QtPrivate::ResultStoreBase::_ZTVN9QtPrivate15ResultStoreBaseE) + 16)
+
+Class std::__mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__mutex_base (0x0x7efdf92b0ea0) 0
+
+Class std::mutex
+ size=40 align=8
+ base size=40 base align=8
+std::mutex (0x0x7efdf92b3d68) 0
+ std::__mutex_base (0x0x7efdf92b0f00) 0
+
+Class std::defer_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::defer_lock_t (0x0x7efdf92d7120) 0 empty
+
+Class std::try_to_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::try_to_lock_t (0x0x7efdf92d7180) 0 empty
+
+Class std::adopt_lock_t
+ size=1 align=1
+ base size=0 base align=1
+std::adopt_lock_t (0x0x7efdf92d71e0) 0 empty
+
+Class std::__recursive_mutex_base
+ size=40 align=8
+ base size=40 base align=8
+std::__recursive_mutex_base (0x0x7efdf92d7c00) 0
+
+Class std::recursive_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_mutex (0x0x7efdf92b3dd0) 0
+ std::__recursive_mutex_base (0x0x7efdf92d7c60) 0
+
+Class std::timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::timed_mutex (0x0x7efdf92c8b60) 0
+ std::__mutex_base (0x0x7efdf930c060) 0
+ std::__timed_mutex_impl<std::timed_mutex> (0x0x7efdf930c0c0) 0 empty
+
+Class std::recursive_timed_mutex
+ size=40 align=8
+ base size=40 base align=8
+std::recursive_timed_mutex (0x0x7efdf92c8ee0) 0
+ std::__recursive_mutex_base (0x0x7efdf930c420) 0
+ std::__timed_mutex_impl<std::recursive_timed_mutex> (0x0x7efdf930c480) 0 empty
+
+Class std::once_flag
+ size=4 align=4
+ base size=4 base align=4
+std::once_flag (0x0x7efdf930cba0) 0
+
+Vtable for QFutureInterfaceBase
+QFutureInterfaceBase::_ZTV20QFutureInterfaceBase: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QFutureInterfaceBase)
+16 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+24 (int (*)(...))QFutureInterfaceBase::~QFutureInterfaceBase
+
+Class QFutureInterfaceBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureInterfaceBase (0x0x7efdf930cde0) 0
+ vptr=((& QFutureInterfaceBase::_ZTV20QFutureInterfaceBase) + 16)
+
+Class QFutureWatcherBase::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QFutureWatcherBase::QPrivateSignal (0x0x7efdf8ff2180) 0 empty
+
+Vtable for QFutureWatcherBase
+QFutureWatcherBase::_ZTV18QFutureWatcherBase: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QFutureWatcherBase)
+16 (int (*)(...))QFutureWatcherBase::metaObject
+24 (int (*)(...))QFutureWatcherBase::qt_metacast
+32 (int (*)(...))QFutureWatcherBase::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QFutureWatcherBase::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QFutureWatcherBase::connectNotify
+104 (int (*)(...))QFutureWatcherBase::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+
+Class QFutureWatcherBase
+ size=16 align=8
+ base size=16 base align=8
+QFutureWatcherBase (0x0x7efdf9360bc8) 0
+ vptr=((& QFutureWatcherBase::_ZTV18QFutureWatcherBase) + 16)
+ QObject (0x0x7efdf8ff2120) 0
+ primary-for QFutureWatcherBase (0x0x7efdf9360bc8)
+
+Class QHistoryState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHistoryState::QPrivateSignal (0x0x7efdf90214e0) 0 empty
+
+Vtable for QHistoryState
+QHistoryState::_ZTV13QHistoryState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QHistoryState)
+16 (int (*)(...))QHistoryState::metaObject
+24 (int (*)(...))QHistoryState::qt_metacast
+32 (int (*)(...))QHistoryState::qt_metacall
+40 (int (*)(...))QHistoryState::~QHistoryState
+48 (int (*)(...))QHistoryState::~QHistoryState
+56 (int (*)(...))QHistoryState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHistoryState::onEntry
+120 (int (*)(...))QHistoryState::onExit
+
+Class QHistoryState
+ size=16 align=8
+ base size=16 base align=8
+QHistoryState (0x0x7efdf9024410) 0
+ vptr=((& QHistoryState::_ZTV13QHistoryState) + 16)
+ QAbstractState (0x0x7efdf9024478) 0
+ primary-for QHistoryState (0x0x7efdf9024410)
+ QObject (0x0x7efdf9021480) 0
+ primary-for QAbstractState (0x0x7efdf9024478)
+
+Class QIdentityProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIdentityProxyModel::QPrivateSignal (0x0x7efdf90217e0) 0 empty
+
+Vtable for QIdentityProxyModel
+QIdentityProxyModel::_ZTV19QIdentityProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIdentityProxyModel)
+16 (int (*)(...))QIdentityProxyModel::metaObject
+24 (int (*)(...))QIdentityProxyModel::qt_metacast
+32 (int (*)(...))QIdentityProxyModel::qt_metacall
+40 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+48 (int (*)(...))QIdentityProxyModel::~QIdentityProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIdentityProxyModel::index
+120 (int (*)(...))QIdentityProxyModel::parent
+128 (int (*)(...))QIdentityProxyModel::sibling
+136 (int (*)(...))QIdentityProxyModel::rowCount
+144 (int (*)(...))QIdentityProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QIdentityProxyModel::headerData
+184 (int (*)(...))QAbstractProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QIdentityProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QIdentityProxyModel::insertRows
+264 (int (*)(...))QIdentityProxyModel::insertColumns
+272 (int (*)(...))QIdentityProxyModel::removeRows
+280 (int (*)(...))QIdentityProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QAbstractProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QIdentityProxyModel::match
+352 (int (*)(...))QAbstractProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QIdentityProxyModel::setSourceModel
+392 (int (*)(...))QIdentityProxyModel::mapToSource
+400 (int (*)(...))QIdentityProxyModel::mapFromSource
+408 (int (*)(...))QIdentityProxyModel::mapSelectionToSource
+416 (int (*)(...))QIdentityProxyModel::mapSelectionFromSource
+
+Class QIdentityProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QIdentityProxyModel (0x0x7efdf90244e0) 0
+ vptr=((& QIdentityProxyModel::_ZTV19QIdentityProxyModel) + 16)
+ QAbstractProxyModel (0x0x7efdf9024548) 0
+ primary-for QIdentityProxyModel (0x0x7efdf90244e0)
+ QAbstractItemModel (0x0x7efdf90245b0) 0
+ primary-for QAbstractProxyModel (0x0x7efdf9024548)
+ QObject (0x0x7efdf9021780) 0
+ primary-for QAbstractItemModel (0x0x7efdf90245b0)
+
+Class QItemSelectionRange
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionRange (0x0x7efdf90219c0) 0
+
+Class QItemSelectionModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QItemSelectionModel::QPrivateSignal (0x0x7efdf9107300) 0 empty
+
+Vtable for QItemSelectionModel
+QItemSelectionModel::_ZTV19QItemSelectionModel: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QItemSelectionModel)
+16 (int (*)(...))QItemSelectionModel::metaObject
+24 (int (*)(...))QItemSelectionModel::qt_metacast
+32 (int (*)(...))QItemSelectionModel::qt_metacall
+40 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+48 (int (*)(...))QItemSelectionModel::~QItemSelectionModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QItemSelectionModel::setCurrentIndex
+120 (int (*)(...))QItemSelectionModel::select
+128 (int (*)(...))QItemSelectionModel::select
+136 (int (*)(...))QItemSelectionModel::clear
+144 (int (*)(...))QItemSelectionModel::reset
+152 (int (*)(...))QItemSelectionModel::clearCurrentIndex
+
+Class QItemSelectionModel
+ size=16 align=8
+ base size=16 base align=8
+QItemSelectionModel (0x0x7efdf90f3f08) 0
+ vptr=((& QItemSelectionModel::_ZTV19QItemSelectionModel) + 16)
+ QObject (0x0x7efdf91072a0) 0
+ primary-for QItemSelectionModel (0x0x7efdf90f3f08)
+
+Class QItemSelection
+ size=8 align=8
+ base size=8 base align=8
+QItemSelection (0x0x7efdf91250d0) 0
+ QList<QItemSelectionRange> (0x0x7efdf9125138) 0
+ QListSpecialMethods<QItemSelectionRange> (0x0x7efdf9107de0) 0 empty
+
+Class QJsonValue
+ size=24 align=8
+ base size=20 base align=8
+QJsonValue (0x0x7efdf8db2720) 0
+
+Class QJsonValueRef
+ size=16 align=8
+ base size=12 base align=8
+QJsonValueRef (0x0x7efdf8f113c0) 0
+
+Class QJsonValuePtr
+ size=24 align=8
+ base size=24 base align=8
+QJsonValuePtr (0x0x7efdf8f60360) 0
+
+Class QJsonValueRefPtr
+ size=16 align=8
+ base size=16 base align=8
+QJsonValueRefPtr (0x0x7efdf8f60600) 0
+
+Class QJsonArray::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::iterator (0x0x7efdf8ba5960) 0
+
+Class QJsonArray::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonArray::const_iterator (0x0x7efdf8ba59c0) 0
+
+Class QJsonArray
+ size=16 align=8
+ base size=16 base align=8
+QJsonArray (0x0x7efdf8ba5900) 0
+
+Class QJsonParseError
+ size=8 align=4
+ base size=8 base align=4
+QJsonParseError (0x0x7efdf8cd48a0) 0
+
+Class QJsonDocument
+ size=8 align=8
+ base size=8 base align=8
+QJsonDocument (0x0x7efdf8cd4900) 0
+
+Class QJsonObject::iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::iterator (0x0x7efdf8d3f120) 0
+
+Class QJsonObject::const_iterator
+ size=16 align=8
+ base size=12 base align=8
+QJsonObject::const_iterator (0x0x7efdf8d3f180) 0
+
+Class QJsonObject
+ size=16 align=8
+ base size=16 base align=8
+QJsonObject (0x0x7efdf8d3f0c0) 0
+
+Class QLibrary::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLibrary::QPrivateSignal (0x0x7efdf8a615a0) 0 empty
+
+Vtable for QLibrary
+QLibrary::_ZTV8QLibrary: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QLibrary)
+16 (int (*)(...))QLibrary::metaObject
+24 (int (*)(...))QLibrary::qt_metacast
+32 (int (*)(...))QLibrary::qt_metacall
+40 (int (*)(...))QLibrary::~QLibrary
+48 (int (*)(...))QLibrary::~QLibrary
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLibrary
+ size=32 align=8
+ base size=25 base align=8
+QLibrary (0x0x7efdf8a4fd68) 0
+ vptr=((& QLibrary::_ZTV8QLibrary) + 16)
+ QObject (0x0x7efdf8a61540) 0
+ primary-for QLibrary (0x0x7efdf8a4fd68)
+
+Class QVersionNumber::SegmentStorage
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber::SegmentStorage (0x0x7efdf8aab420) 0
+
+Class QVersionNumber
+ size=8 align=8
+ base size=8 base align=8
+QVersionNumber (0x0x7efdf8a61f00) 0
+
+Class QLibraryInfo
+ size=1 align=1
+ base size=0 base align=1
+QLibraryInfo (0x0x7efdf8b45ba0) 0 empty
+
+Class QPoint
+ size=8 align=4
+ base size=8 base align=4
+QPoint (0x0x7efdf8b45c00) 0
+
+Class QPointF
+ size=16 align=8
+ base size=16 base align=8
+QPointF (0x0x7efdf87b4a80) 0
+
+Class QLine
+ size=16 align=4
+ base size=16 base align=4
+QLine (0x0x7efdf8825c60) 0
+
+Class QLineF
+ size=32 align=8
+ base size=32 base align=8
+QLineF (0x0x7efdf88c5060) 0
+
+Class QLinkedListData
+ size=32 align=8
+ base size=25 base align=8
+QLinkedListData (0x0x7efdf893c300) 0
+
+Class QLockFile
+ size=8 align=8
+ base size=8 base align=8
+QLockFile (0x0x7efdf85dc840) 0
+
+Class QLoggingCategory::AtomicBools
+ size=4 align=1
+ base size=4 base align=1
+QLoggingCategory::AtomicBools (0x0x7efdf85dca80) 0
+
+Class QLoggingCategory
+ size=24 align=8
+ base size=24 base align=8
+QLoggingCategory (0x0x7efdf85dca20) 0
+
+Class QMargins
+ size=16 align=4
+ base size=16 base align=4
+QMargins (0x0x7efdf85dcea0) 0
+
+Class QMarginsF
+ size=32 align=8
+ base size=32 base align=8
+QMarginsF (0x0x7efdf8690de0) 0
+
+Class QMessageAuthenticationCode
+ size=8 align=8
+ base size=8 base align=8
+QMessageAuthenticationCode (0x0x7efdf8501600) 0
+
+Class QMetaMethod
+ size=16 align=8
+ base size=12 base align=8
+QMetaMethod (0x0x7efdf8501660) 0
+
+Class QMetaEnum
+ size=16 align=8
+ base size=12 base align=8
+QMetaEnum (0x0x7efdf856aea0) 0
+
+Class QMetaProperty
+ size=32 align=8
+ base size=32 base align=8
+QMetaProperty (0x0x7efdf80c70c0) 0
+
+Class QMetaClassInfo
+ size=16 align=8
+ base size=12 base align=8
+QMetaClassInfo (0x0x7efdf80c71e0) 0
+
+Class QMimeData::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMimeData::QPrivateSignal (0x0x7efdf810a780) 0 empty
+
+Vtable for QMimeData
+QMimeData::_ZTV9QMimeData: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QMimeData)
+16 (int (*)(...))QMimeData::metaObject
+24 (int (*)(...))QMimeData::qt_metacast
+32 (int (*)(...))QMimeData::qt_metacall
+40 (int (*)(...))QMimeData::~QMimeData
+48 (int (*)(...))QMimeData::~QMimeData
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMimeData::hasFormat
+120 (int (*)(...))QMimeData::formats
+128 (int (*)(...))QMimeData::retrieveData
+
+Class QMimeData
+ size=16 align=8
+ base size=16 base align=8
+QMimeData (0x0x7efdf81079c0) 0
+ vptr=((& QMimeData::_ZTV9QMimeData) + 16)
+ QObject (0x0x7efdf810a720) 0
+ primary-for QMimeData (0x0x7efdf81079c0)
+
+Class QMimeType
+ size=8 align=8
+ base size=8 base align=8
+QMimeType (0x0x7efdf810a960) 0
+
+Class QMimeDatabase
+ size=8 align=8
+ base size=8 base align=8
+QMimeDatabase (0x0x7efdf81d98a0) 0
+
+Class QObjectCleanupHandler::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QObjectCleanupHandler::QPrivateSignal (0x0x7efdf81d9960) 0 empty
+
+Vtable for QObjectCleanupHandler
+QObjectCleanupHandler::_ZTV21QObjectCleanupHandler: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QObjectCleanupHandler)
+16 (int (*)(...))QObjectCleanupHandler::metaObject
+24 (int (*)(...))QObjectCleanupHandler::qt_metacast
+32 (int (*)(...))QObjectCleanupHandler::qt_metacall
+40 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+48 (int (*)(...))QObjectCleanupHandler::~QObjectCleanupHandler
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QObjectCleanupHandler
+ size=24 align=8
+ base size=24 base align=8
+QObjectCleanupHandler (0x0x7efdf81de548) 0
+ vptr=((& QObjectCleanupHandler::_ZTV21QObjectCleanupHandler) + 16)
+ QObject (0x0x7efdf81d9900) 0
+ primary-for QObjectCleanupHandler (0x0x7efdf81de548)
+
+Class QOperatingSystemVersion
+ size=16 align=4
+ base size=16 base align=4
+QOperatingSystemVersion (0x0x7efdf81d9a80) 0
+
+Class QParallelAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QParallelAnimationGroup::QPrivateSignal (0x0x7efdf8264240) 0 empty
+
+Vtable for QParallelAnimationGroup
+QParallelAnimationGroup::_ZTV23QParallelAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QParallelAnimationGroup)
+16 (int (*)(...))QParallelAnimationGroup::metaObject
+24 (int (*)(...))QParallelAnimationGroup::qt_metacast
+32 (int (*)(...))QParallelAnimationGroup::qt_metacall
+40 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+48 (int (*)(...))QParallelAnimationGroup::~QParallelAnimationGroup
+56 (int (*)(...))QParallelAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QParallelAnimationGroup::duration
+120 (int (*)(...))QParallelAnimationGroup::updateCurrentTime
+128 (int (*)(...))QParallelAnimationGroup::updateState
+136 (int (*)(...))QParallelAnimationGroup::updateDirection
+
+Class QParallelAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QParallelAnimationGroup (0x0x7efdf8252dd0) 0
+ vptr=((& QParallelAnimationGroup::_ZTV23QParallelAnimationGroup) + 16)
+ QAnimationGroup (0x0x7efdf8252e38) 0
+ primary-for QParallelAnimationGroup (0x0x7efdf8252dd0)
+ QAbstractAnimation (0x0x7efdf8252ea0) 0
+ primary-for QAnimationGroup (0x0x7efdf8252e38)
+ QObject (0x0x7efdf82641e0) 0
+ primary-for QAbstractAnimation (0x0x7efdf8252ea0)
+
+Class QPauseAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPauseAnimation::QPrivateSignal (0x0x7efdf8264480) 0 empty
+
+Vtable for QPauseAnimation
+QPauseAnimation::_ZTV15QPauseAnimation: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPauseAnimation)
+16 (int (*)(...))QPauseAnimation::metaObject
+24 (int (*)(...))QPauseAnimation::qt_metacast
+32 (int (*)(...))QPauseAnimation::qt_metacall
+40 (int (*)(...))QPauseAnimation::~QPauseAnimation
+48 (int (*)(...))QPauseAnimation::~QPauseAnimation
+56 (int (*)(...))QPauseAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPauseAnimation::duration
+120 (int (*)(...))QPauseAnimation::updateCurrentTime
+128 (int (*)(...))QAbstractAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+
+Class QPauseAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPauseAnimation (0x0x7efdf8252f08) 0
+ vptr=((& QPauseAnimation::_ZTV15QPauseAnimation) + 16)
+ QAbstractAnimation (0x0x7efdf8252f70) 0
+ primary-for QPauseAnimation (0x0x7efdf8252f08)
+ QObject (0x0x7efdf8264420) 0
+ primary-for QAbstractAnimation (0x0x7efdf8252f70)
+
+Class QStaticPlugin
+ size=16 align=8
+ base size=16 base align=8
+QStaticPlugin (0x0x7efdf7e9e000) 0
+
+Class QPluginLoader::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPluginLoader::QPrivateSignal (0x0x7efdf7ed9180) 0 empty
+
+Vtable for QPluginLoader
+QPluginLoader::_ZTV13QPluginLoader: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QPluginLoader)
+16 (int (*)(...))QPluginLoader::metaObject
+24 (int (*)(...))QPluginLoader::qt_metacast
+32 (int (*)(...))QPluginLoader::qt_metacall
+40 (int (*)(...))QPluginLoader::~QPluginLoader
+48 (int (*)(...))QPluginLoader::~QPluginLoader
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPluginLoader
+ size=32 align=8
+ base size=25 base align=8
+QPluginLoader (0x0x7efdf7ed82d8) 0
+ vptr=((& QPluginLoader::_ZTV13QPluginLoader) + 16)
+ QObject (0x0x7efdf7ed9120) 0
+ primary-for QPluginLoader (0x0x7efdf7ed82d8)
+
+Class QProcessEnvironment
+ size=8 align=8
+ base size=8 base align=8
+QProcessEnvironment (0x0x7efdf7ed92a0) 0
+
+Class QProcess::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProcess::QPrivateSignal (0x0x7efdf7faa720) 0 empty
+
+Vtable for QProcess
+QProcess::_ZTV8QProcess: 31 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QProcess)
+16 (int (*)(...))QProcess::metaObject
+24 (int (*)(...))QProcess::qt_metacast
+32 (int (*)(...))QProcess::qt_metacall
+40 (int (*)(...))QProcess::~QProcess
+48 (int (*)(...))QProcess::~QProcess
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProcess::isSequential
+120 (int (*)(...))QProcess::open
+128 (int (*)(...))QProcess::close
+136 (int (*)(...))QIODevice::pos
+144 (int (*)(...))QIODevice::size
+152 (int (*)(...))QIODevice::seek
+160 (int (*)(...))QProcess::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QProcess::bytesAvailable
+184 (int (*)(...))QProcess::bytesToWrite
+192 (int (*)(...))QProcess::canReadLine
+200 (int (*)(...))QProcess::waitForReadyRead
+208 (int (*)(...))QProcess::waitForBytesWritten
+216 (int (*)(...))QProcess::readData
+224 (int (*)(...))QIODevice::readLineData
+232 (int (*)(...))QProcess::writeData
+240 (int (*)(...))QProcess::setupChildProcess
+
+Class QProcess
+ size=16 align=8
+ base size=16 base align=8
+QProcess (0x0x7efdf7fa7750) 0
+ vptr=((& QProcess::_ZTV8QProcess) + 16)
+ QIODevice (0x0x7efdf7fa77b8) 0
+ primary-for QProcess (0x0x7efdf7fa7750)
+ QObject (0x0x7efdf7faa6c0) 0
+ primary-for QIODevice (0x0x7efdf7fa77b8)
+
+Class QVariantAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QVariantAnimation::QPrivateSignal (0x0x7efdf7faade0) 0 empty
+
+Vtable for QVariantAnimation
+QVariantAnimation::_ZTV17QVariantAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QVariantAnimation)
+16 (int (*)(...))QVariantAnimation::metaObject
+24 (int (*)(...))QVariantAnimation::qt_metacast
+32 (int (*)(...))QVariantAnimation::qt_metacall
+40 (int (*)(...))QVariantAnimation::~QVariantAnimation
+48 (int (*)(...))QVariantAnimation::~QVariantAnimation
+56 (int (*)(...))QVariantAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QVariantAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QVariantAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QVariantAnimation
+ size=16 align=8
+ base size=16 base align=8
+QVariantAnimation (0x0x7efdf7fa7820) 0
+ vptr=((& QVariantAnimation::_ZTV17QVariantAnimation) + 16)
+ QAbstractAnimation (0x0x7efdf7fa7888) 0
+ primary-for QVariantAnimation (0x0x7efdf7fa7820)
+ QObject (0x0x7efdf7faad80) 0
+ primary-for QAbstractAnimation (0x0x7efdf7fa7888)
+
+Class QPropertyAnimation::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPropertyAnimation::QPrivateSignal (0x0x7efdf7ffa0c0) 0 empty
+
+Vtable for QPropertyAnimation
+QPropertyAnimation::_ZTV18QPropertyAnimation: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QPropertyAnimation)
+16 (int (*)(...))QPropertyAnimation::metaObject
+24 (int (*)(...))QPropertyAnimation::qt_metacast
+32 (int (*)(...))QPropertyAnimation::qt_metacall
+40 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+48 (int (*)(...))QPropertyAnimation::~QPropertyAnimation
+56 (int (*)(...))QPropertyAnimation::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QVariantAnimation::duration
+120 (int (*)(...))QVariantAnimation::updateCurrentTime
+128 (int (*)(...))QPropertyAnimation::updateState
+136 (int (*)(...))QAbstractAnimation::updateDirection
+144 (int (*)(...))QPropertyAnimation::updateCurrentValue
+152 (int (*)(...))QVariantAnimation::interpolated
+
+Class QPropertyAnimation
+ size=16 align=8
+ base size=16 base align=8
+QPropertyAnimation (0x0x7efdf7fa7958) 0
+ vptr=((& QPropertyAnimation::_ZTV18QPropertyAnimation) + 16)
+ QVariantAnimation (0x0x7efdf7fa79c0) 0
+ primary-for QPropertyAnimation (0x0x7efdf7fa7958)
+ QAbstractAnimation (0x0x7efdf7fa7a28) 0
+ primary-for QVariantAnimation (0x0x7efdf7fa79c0)
+ QObject (0x0x7efdf7ffa060) 0
+ primary-for QAbstractAnimation (0x0x7efdf7fa7a28)
+
+Class std::random_device
+ size=5000 align=8
+ base size=5000 base align=8
+std::random_device (0x0x7efdf806d7e0) 0
+
+Class std::bernoulli_distribution::param_type
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution::param_type (0x0x7efdf7d79540) 0
+
+Class std::bernoulli_distribution
+ size=8 align=8
+ base size=8 base align=8
+std::bernoulli_distribution (0x0x7efdf7d794e0) 0
+
+Class std::seed_seq
+ size=24 align=8
+ base size=24 base align=8
+std::seed_seq (0x0x7efdf7b6d2a0) 0
+
+Class QRandomGenerator::Storage
+ size=2504 align=8
+ base size=2504 base align=8
+QRandomGenerator::Storage (0x0x7efdf7974f00) 0
+
+Class QRandomGenerator
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator (0x0x7efdf7974ea0) 0
+
+Class QRandomGenerator64
+ size=2512 align=8
+ base size=2512 base align=8
+QRandomGenerator64 (0x0x7efdf7a0d6e8) 0
+ QRandomGenerator (0x0x7efdf7a1fa20) 0
+
+Class QReadWriteLock
+ size=8 align=8
+ base size=8 base align=8
+QReadWriteLock (0x0x7efdf7a44600) 0
+
+Class QReadLocker
+ size=8 align=8
+ base size=8 base align=8
+QReadLocker (0x0x7efdf7a448a0) 0
+
+Class QWriteLocker
+ size=8 align=8
+ base size=8 base align=8
+QWriteLocker (0x0x7efdf7a44d80) 0
+
+Class QSize
+ size=8 align=4
+ base size=8 base align=4
+QSize (0x0x7efdf76cc2a0) 0
+
+Class QSizeF
+ size=16 align=8
+ base size=16 base align=8
+QSizeF (0x0x7efdf7742180) 0
+
+Class QRect
+ size=16 align=4
+ base size=16 base align=4
+QRect (0x0x7efdf77bc1e0) 0
+
+Class QRectF
+ size=32 align=8
+ base size=32 base align=8
+QRectF (0x0x7efdf7877240) 0
+
+Class QResource
+ size=8 align=8
+ base size=8 base align=8
+QResource (0x0x7efdf7533360) 0
+
+Class QSaveFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSaveFile::QPrivateSignal (0x0x7efdf7533600) 0 empty
+
+Vtable for QSaveFile
+QSaveFile::_ZTV9QSaveFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSaveFile)
+16 (int (*)(...))QSaveFile::metaObject
+24 (int (*)(...))QSaveFile::qt_metacast
+32 (int (*)(...))QSaveFile::qt_metacall
+40 (int (*)(...))QSaveFile::~QSaveFile
+48 (int (*)(...))QSaveFile::~QSaveFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QSaveFile::open
+128 (int (*)(...))QSaveFile::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFileDevice::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QSaveFile::writeData
+240 (int (*)(...))QSaveFile::fileName
+248 (int (*)(...))QFileDevice::resize
+256 (int (*)(...))QFileDevice::permissions
+264 (int (*)(...))QFileDevice::setPermissions
+
+Class QSaveFile
+ size=16 align=8
+ base size=16 base align=8
+QSaveFile (0x0x7efdf74e50d0) 0
+ vptr=((& QSaveFile::_ZTV9QSaveFile) + 16)
+ QFileDevice (0x0x7efdf74e5138) 0
+ primary-for QSaveFile (0x0x7efdf74e50d0)
+ QIODevice (0x0x7efdf74e51a0) 0
+ primary-for QFileDevice (0x0x7efdf74e5138)
+ QObject (0x0x7efdf75335a0) 0
+ primary-for QIODevice (0x0x7efdf74e51a0)
+
+Class QSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSemaphore (0x0x7efdf7533c00) 0
+
+Class QSemaphoreReleaser
+ size=16 align=8
+ base size=12 base align=8
+QSemaphoreReleaser (0x0x7efdf7533d80) 0
+
+Class QSequentialAnimationGroup::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSequentialAnimationGroup::QPrivateSignal (0x0x7efdf762e9c0) 0 empty
+
+Vtable for QSequentialAnimationGroup
+QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup: 18 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QSequentialAnimationGroup)
+16 (int (*)(...))QSequentialAnimationGroup::metaObject
+24 (int (*)(...))QSequentialAnimationGroup::qt_metacast
+32 (int (*)(...))QSequentialAnimationGroup::qt_metacall
+40 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+48 (int (*)(...))QSequentialAnimationGroup::~QSequentialAnimationGroup
+56 (int (*)(...))QSequentialAnimationGroup::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSequentialAnimationGroup::duration
+120 (int (*)(...))QSequentialAnimationGroup::updateCurrentTime
+128 (int (*)(...))QSequentialAnimationGroup::updateState
+136 (int (*)(...))QSequentialAnimationGroup::updateDirection
+
+Class QSequentialAnimationGroup
+ size=16 align=8
+ base size=16 base align=8
+QSequentialAnimationGroup (0x0x7efdf7639958) 0
+ vptr=((& QSequentialAnimationGroup::_ZTV25QSequentialAnimationGroup) + 16)
+ QAnimationGroup (0x0x7efdf76399c0) 0
+ primary-for QSequentialAnimationGroup (0x0x7efdf7639958)
+ QAbstractAnimation (0x0x7efdf7639a28) 0
+ primary-for QAnimationGroup (0x0x7efdf76399c0)
+ QObject (0x0x7efdf762e960) 0
+ primary-for QAbstractAnimation (0x0x7efdf7639a28)
+
+Class QSettings::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSettings::QPrivateSignal (0x0x7efdf762ec00) 0 empty
+
+Vtable for QSettings
+QSettings::_ZTV9QSettings: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QSettings)
+16 (int (*)(...))QSettings::metaObject
+24 (int (*)(...))QSettings::qt_metacast
+32 (int (*)(...))QSettings::qt_metacall
+40 (int (*)(...))QSettings::~QSettings
+48 (int (*)(...))QSettings::~QSettings
+56 (int (*)(...))QSettings::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSettings
+ size=16 align=8
+ base size=16 base align=8
+QSettings (0x0x7efdf7639a90) 0
+ vptr=((& QSettings::_ZTV9QSettings) + 16)
+ QObject (0x0x7efdf762eba0) 0
+ primary-for QSettings (0x0x7efdf7639a90)
+
+Class QSharedMemory::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSharedMemory::QPrivateSignal (0x0x7efdf76750c0) 0 empty
+
+Vtable for QSharedMemory
+QSharedMemory::_ZTV13QSharedMemory: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSharedMemory)
+16 (int (*)(...))QSharedMemory::metaObject
+24 (int (*)(...))QSharedMemory::qt_metacast
+32 (int (*)(...))QSharedMemory::qt_metacall
+40 (int (*)(...))QSharedMemory::~QSharedMemory
+48 (int (*)(...))QSharedMemory::~QSharedMemory
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSharedMemory
+ size=16 align=8
+ base size=16 base align=8
+QSharedMemory (0x0x7efdf7639af8) 0
+ vptr=((& QSharedMemory::_ZTV13QSharedMemory) + 16)
+ QObject (0x0x7efdf7675060) 0
+ primary-for QSharedMemory (0x0x7efdf7639af8)
+
+Class QSignalMapper::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalMapper::QPrivateSignal (0x0x7efdf7675300) 0 empty
+
+Vtable for QSignalMapper
+QSignalMapper::_ZTV13QSignalMapper: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSignalMapper)
+16 (int (*)(...))QSignalMapper::metaObject
+24 (int (*)(...))QSignalMapper::qt_metacast
+32 (int (*)(...))QSignalMapper::qt_metacall
+40 (int (*)(...))QSignalMapper::~QSignalMapper
+48 (int (*)(...))QSignalMapper::~QSignalMapper
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSignalMapper
+ size=16 align=8
+ base size=16 base align=8
+QSignalMapper (0x0x7efdf7639b60) 0
+ vptr=((& QSignalMapper::_ZTV13QSignalMapper) + 16)
+ QObject (0x0x7efdf76752a0) 0
+ primary-for QSignalMapper (0x0x7efdf7639b60)
+
+Class QSignalTransition::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSignalTransition::QPrivateSignal (0x0x7efdf7675540) 0 empty
+
+Vtable for QSignalTransition
+QSignalTransition::_ZTV17QSignalTransition: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QSignalTransition)
+16 (int (*)(...))QSignalTransition::metaObject
+24 (int (*)(...))QSignalTransition::qt_metacast
+32 (int (*)(...))QSignalTransition::qt_metacall
+40 (int (*)(...))QSignalTransition::~QSignalTransition
+48 (int (*)(...))QSignalTransition::~QSignalTransition
+56 (int (*)(...))QSignalTransition::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSignalTransition::eventTest
+120 (int (*)(...))QSignalTransition::onTransition
+
+Class QSignalTransition
+ size=16 align=8
+ base size=16 base align=8
+QSignalTransition (0x0x7efdf7639bc8) 0
+ vptr=((& QSignalTransition::_ZTV17QSignalTransition) + 16)
+ QAbstractTransition (0x0x7efdf7639c30) 0
+ primary-for QSignalTransition (0x0x7efdf7639bc8)
+ QObject (0x0x7efdf76754e0) 0
+ primary-for QAbstractTransition (0x0x7efdf7639c30)
+
+Class QSocketNotifier::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSocketNotifier::QPrivateSignal (0x0x7efdf76757e0) 0 empty
+
+Vtable for QSocketNotifier
+QSocketNotifier::_ZTV15QSocketNotifier: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QSocketNotifier)
+16 (int (*)(...))QSocketNotifier::metaObject
+24 (int (*)(...))QSocketNotifier::qt_metacast
+32 (int (*)(...))QSocketNotifier::qt_metacall
+40 (int (*)(...))QSocketNotifier::~QSocketNotifier
+48 (int (*)(...))QSocketNotifier::~QSocketNotifier
+56 (int (*)(...))QSocketNotifier::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSocketNotifier
+ size=16 align=8
+ base size=16 base align=8
+QSocketNotifier (0x0x7efdf7639c98) 0
+ vptr=((& QSocketNotifier::_ZTV15QSocketNotifier) + 16)
+ QObject (0x0x7efdf7675780) 0
+ primary-for QSocketNotifier (0x0x7efdf7639c98)
+
+Class QSortFilterProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSortFilterProxyModel::QPrivateSignal (0x0x7efdf7675a20) 0 empty
+
+Vtable for QSortFilterProxyModel
+QSortFilterProxyModel::_ZTV21QSortFilterProxyModel: 56 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSortFilterProxyModel)
+16 (int (*)(...))QSortFilterProxyModel::metaObject
+24 (int (*)(...))QSortFilterProxyModel::qt_metacast
+32 (int (*)(...))QSortFilterProxyModel::qt_metacall
+40 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+48 (int (*)(...))QSortFilterProxyModel::~QSortFilterProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSortFilterProxyModel::index
+120 (int (*)(...))QSortFilterProxyModel::parent
+128 (int (*)(...))QSortFilterProxyModel::sibling
+136 (int (*)(...))QSortFilterProxyModel::rowCount
+144 (int (*)(...))QSortFilterProxyModel::columnCount
+152 (int (*)(...))QSortFilterProxyModel::hasChildren
+160 (int (*)(...))QSortFilterProxyModel::data
+168 (int (*)(...))QSortFilterProxyModel::setData
+176 (int (*)(...))QSortFilterProxyModel::headerData
+184 (int (*)(...))QSortFilterProxyModel::setHeaderData
+192 (int (*)(...))QAbstractProxyModel::itemData
+200 (int (*)(...))QAbstractProxyModel::setItemData
+208 (int (*)(...))QSortFilterProxyModel::mimeTypes
+216 (int (*)(...))QSortFilterProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QSortFilterProxyModel::dropMimeData
+240 (int (*)(...))QSortFilterProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QSortFilterProxyModel::insertRows
+264 (int (*)(...))QSortFilterProxyModel::insertColumns
+272 (int (*)(...))QSortFilterProxyModel::removeRows
+280 (int (*)(...))QSortFilterProxyModel::removeColumns
+288 (int (*)(...))QAbstractItemModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QSortFilterProxyModel::fetchMore
+312 (int (*)(...))QSortFilterProxyModel::canFetchMore
+320 (int (*)(...))QSortFilterProxyModel::flags
+328 (int (*)(...))QSortFilterProxyModel::sort
+336 (int (*)(...))QSortFilterProxyModel::buddy
+344 (int (*)(...))QSortFilterProxyModel::match
+352 (int (*)(...))QSortFilterProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QSortFilterProxyModel::setSourceModel
+392 (int (*)(...))QSortFilterProxyModel::mapToSource
+400 (int (*)(...))QSortFilterProxyModel::mapFromSource
+408 (int (*)(...))QSortFilterProxyModel::mapSelectionToSource
+416 (int (*)(...))QSortFilterProxyModel::mapSelectionFromSource
+424 (int (*)(...))QSortFilterProxyModel::filterAcceptsRow
+432 (int (*)(...))QSortFilterProxyModel::filterAcceptsColumn
+440 (int (*)(...))QSortFilterProxyModel::lessThan
+
+Class QSortFilterProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QSortFilterProxyModel (0x0x7efdf7639d00) 0
+ vptr=((& QSortFilterProxyModel::_ZTV21QSortFilterProxyModel) + 16)
+ QAbstractProxyModel (0x0x7efdf7639d68) 0
+ primary-for QSortFilterProxyModel (0x0x7efdf7639d00)
+ QAbstractItemModel (0x0x7efdf7639dd0) 0
+ primary-for QAbstractProxyModel (0x0x7efdf7639d68)
+ QObject (0x0x7efdf76759c0) 0
+ primary-for QAbstractItemModel (0x0x7efdf7639dd0)
+
+Class QStandardPaths
+ size=1 align=1
+ base size=0 base align=1
+QStandardPaths (0x0x7efdf7675e40) 0 empty
+
+Class QState::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QState::QPrivateSignal (0x0x7efdf72f3780) 0 empty
+
+Vtable for QState
+QState::_ZTV6QState: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QState)
+16 (int (*)(...))QState::metaObject
+24 (int (*)(...))QState::qt_metacast
+32 (int (*)(...))QState::qt_metacall
+40 (int (*)(...))QState::~QState
+48 (int (*)(...))QState::~QState
+56 (int (*)(...))QState::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QState::onEntry
+120 (int (*)(...))QState::onExit
+
+Class QState
+ size=16 align=8
+ base size=16 base align=8
+QState (0x0x7efdf7639f70) 0
+ vptr=((& QState::_ZTV6QState) + 16)
+ QAbstractState (0x0x7efdf7312000) 0
+ primary-for QState (0x0x7efdf7639f70)
+ QObject (0x0x7efdf72f3720) 0
+ primary-for QAbstractState (0x0x7efdf7312000)
+
+Class QStateMachine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStateMachine::QPrivateSignal (0x0x7efdf72f3c00) 0 empty
+
+Vtable for QStateMachine::SignalEvent
+QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine11SignalEventE)
+16 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+24 (int (*)(...))QStateMachine::SignalEvent::~SignalEvent
+
+Class QStateMachine::SignalEvent
+ size=48 align=8
+ base size=48 base align=8
+QStateMachine::SignalEvent (0x0x7efdf73121a0) 0
+ vptr=((& QStateMachine::SignalEvent::_ZTVN13QStateMachine11SignalEventE) + 16)
+ QEvent (0x0x7efdf72f3c60) 0
+ primary-for QStateMachine::SignalEvent (0x0x7efdf73121a0)
+
+Vtable for QStateMachine::WrappedEvent
+QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE: 4 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTIN13QStateMachine12WrappedEventE)
+16 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+24 (int (*)(...))QStateMachine::WrappedEvent::~WrappedEvent
+
+Class QStateMachine::WrappedEvent
+ size=40 align=8
+ base size=40 base align=8
+QStateMachine::WrappedEvent (0x0x7efdf7312208) 0
+ vptr=((& QStateMachine::WrappedEvent::_ZTVN13QStateMachine12WrappedEventE) + 16)
+ QEvent (0x0x7efdf72f3cc0) 0
+ primary-for QStateMachine::WrappedEvent (0x0x7efdf7312208)
+
+Vtable for QStateMachine
+QStateMachine::_ZTV13QStateMachine: 20 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QStateMachine)
+16 (int (*)(...))QStateMachine::metaObject
+24 (int (*)(...))QStateMachine::qt_metacast
+32 (int (*)(...))QStateMachine::qt_metacall
+40 (int (*)(...))QStateMachine::~QStateMachine
+48 (int (*)(...))QStateMachine::~QStateMachine
+56 (int (*)(...))QStateMachine::event
+64 (int (*)(...))QStateMachine::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QStateMachine::onEntry
+120 (int (*)(...))QStateMachine::onExit
+128 (int (*)(...))QStateMachine::beginSelectTransitions
+136 (int (*)(...))QStateMachine::endSelectTransitions
+144 (int (*)(...))QStateMachine::beginMicrostep
+152 (int (*)(...))QStateMachine::endMicrostep
+
+Class QStateMachine
+ size=16 align=8
+ base size=16 base align=8
+QStateMachine (0x0x7efdf7312068) 0
+ vptr=((& QStateMachine::_ZTV13QStateMachine) + 16)
+ QState (0x0x7efdf73120d0) 0
+ primary-for QStateMachine (0x0x7efdf7312068)
+ QAbstractState (0x0x7efdf7312138) 0
+ primary-for QState (0x0x7efdf73120d0)
+ QObject (0x0x7efdf72f3ba0) 0
+ primary-for QAbstractState (0x0x7efdf7312138)
+
+Class QStorageInfo
+ size=8 align=8
+ base size=8 base align=8
+QStorageInfo (0x0x7efdf734f0c0) 0
+
+Class QAbstractConcatenable
+ size=1 align=1
+ base size=0 base align=1
+QAbstractConcatenable (0x0x7efdf7426e40) 0 empty
+
+Class QStringListModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QStringListModel::QPrivateSignal (0x0x7efdf70d61e0) 0 empty
+
+Vtable for QStringListModel
+QStringListModel::_ZTV16QStringListModel: 48 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QStringListModel)
+16 (int (*)(...))QStringListModel::metaObject
+24 (int (*)(...))QStringListModel::qt_metacast
+32 (int (*)(...))QStringListModel::qt_metacall
+40 (int (*)(...))QStringListModel::~QStringListModel
+48 (int (*)(...))QStringListModel::~QStringListModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAbstractListModel::index
+120 (int (*)(...))QAbstractListModel::parent
+128 (int (*)(...))QStringListModel::sibling
+136 (int (*)(...))QStringListModel::rowCount
+144 (int (*)(...))QAbstractListModel::columnCount
+152 (int (*)(...))QAbstractListModel::hasChildren
+160 (int (*)(...))QStringListModel::data
+168 (int (*)(...))QStringListModel::setData
+176 (int (*)(...))QAbstractItemModel::headerData
+184 (int (*)(...))QAbstractItemModel::setHeaderData
+192 (int (*)(...))QStringListModel::itemData
+200 (int (*)(...))QStringListModel::setItemData
+208 (int (*)(...))QAbstractItemModel::mimeTypes
+216 (int (*)(...))QAbstractItemModel::mimeData
+224 (int (*)(...))QAbstractItemModel::canDropMimeData
+232 (int (*)(...))QAbstractListModel::dropMimeData
+240 (int (*)(...))QStringListModel::supportedDropActions
+248 (int (*)(...))QAbstractItemModel::supportedDragActions
+256 (int (*)(...))QStringListModel::insertRows
+264 (int (*)(...))QAbstractItemModel::insertColumns
+272 (int (*)(...))QStringListModel::removeRows
+280 (int (*)(...))QAbstractItemModel::removeColumns
+288 (int (*)(...))QStringListModel::moveRows
+296 (int (*)(...))QAbstractItemModel::moveColumns
+304 (int (*)(...))QAbstractItemModel::fetchMore
+312 (int (*)(...))QAbstractItemModel::canFetchMore
+320 (int (*)(...))QStringListModel::flags
+328 (int (*)(...))QStringListModel::sort
+336 (int (*)(...))QAbstractItemModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QAbstractItemModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractItemModel::submit
+376 (int (*)(...))QAbstractItemModel::revert
+
+Class QStringListModel
+ size=24 align=8
+ base size=24 base align=8
+QStringListModel (0x0x7efdf70acaf8) 0
+ vptr=((& QStringListModel::_ZTV16QStringListModel) + 16)
+ QAbstractListModel (0x0x7efdf70acb60) 0
+ primary-for QStringListModel (0x0x7efdf70acaf8)
+ QAbstractItemModel (0x0x7efdf70acbc8) 0
+ primary-for QAbstractListModel (0x0x7efdf70acb60)
+ QObject (0x0x7efdf70d6180) 0
+ primary-for QAbstractItemModel (0x0x7efdf70acbc8)
+
+Class QSystemSemaphore
+ size=8 align=8
+ base size=8 base align=8
+QSystemSemaphore (0x0x7efdf70d6300) 0
+
+Class QTemporaryDir
+ size=8 align=8
+ base size=8 base align=8
+QTemporaryDir (0x0x7efdf70d63c0) 0
+
+Class QTemporaryFile::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTemporaryFile::QPrivateSignal (0x0x7efdf70d64e0) 0 empty
+
+Vtable for QTemporaryFile
+QTemporaryFile::_ZTV14QTemporaryFile: 34 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QTemporaryFile)
+16 (int (*)(...))QTemporaryFile::metaObject
+24 (int (*)(...))QTemporaryFile::qt_metacast
+32 (int (*)(...))QTemporaryFile::qt_metacall
+40 (int (*)(...))QTemporaryFile::~QTemporaryFile
+48 (int (*)(...))QTemporaryFile::~QTemporaryFile
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QFileDevice::isSequential
+120 (int (*)(...))QTemporaryFile::open
+128 (int (*)(...))QFileDevice::close
+136 (int (*)(...))QFileDevice::pos
+144 (int (*)(...))QFile::size
+152 (int (*)(...))QFileDevice::seek
+160 (int (*)(...))QFileDevice::atEnd
+168 (int (*)(...))QIODevice::reset
+176 (int (*)(...))QIODevice::bytesAvailable
+184 (int (*)(...))QIODevice::bytesToWrite
+192 (int (*)(...))QIODevice::canReadLine
+200 (int (*)(...))QIODevice::waitForReadyRead
+208 (int (*)(...))QIODevice::waitForBytesWritten
+216 (int (*)(...))QFileDevice::readData
+224 (int (*)(...))QFileDevice::readLineData
+232 (int (*)(...))QFileDevice::writeData
+240 (int (*)(...))QTemporaryFile::fileName
+248 (int (*)(...))QFile::resize
+256 (int (*)(...))QFile::permissions
+264 (int (*)(...))QFile::setPermissions
+
+Class QTemporaryFile
+ size=16 align=8
+ base size=16 base align=8
+QTemporaryFile (0x0x7efdf70acc30) 0
+ vptr=((& QTemporaryFile::_ZTV14QTemporaryFile) + 16)
+ QFile (0x0x7efdf70acc98) 0
+ primary-for QTemporaryFile (0x0x7efdf70acc30)
+ QFileDevice (0x0x7efdf70acd00) 0
+ primary-for QFile (0x0x7efdf70acc98)
+ QIODevice (0x0x7efdf70acd68) 0
+ primary-for QFileDevice (0x0x7efdf70acd00)
+ QObject (0x0x7efdf70d6480) 0
+ primary-for QIODevice (0x0x7efdf70acd68)
+
+Class QTextBoundaryFinder
+ size=48 align=8
+ base size=48 base align=8
+QTextBoundaryFinder (0x0x7efdf70d6840) 0
+
+Class QTextCodec::ConverterState
+ size=32 align=8
+ base size=32 base align=8
+QTextCodec::ConverterState (0x0x7efdf71510c0) 0
+
+Vtable for QTextCodec
+QTextCodec::_ZTV10QTextCodec: 9 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTextCodec)
+16 (int (*)(...))__cxa_pure_virtual
+24 (int (*)(...))QTextCodec::aliases
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+56 0
+64 0
+
+Class QTextCodec
+ size=8 align=8
+ base size=8 base align=8
+QTextCodec (0x0x7efdf7151060) 0 nearly-empty
+ vptr=((& QTextCodec::_ZTV10QTextCodec) + 16)
+
+Class QTextEncoder
+ size=40 align=8
+ base size=40 base align=8
+QTextEncoder (0x0x7efdf7151a80) 0
+
+Class QTextDecoder
+ size=40 align=8
+ base size=40 base align=8
+QTextDecoder (0x0x7efdf7151c60) 0
+
+Vtable for std::thread::_State
+std::thread::_State::_ZTVNSt6thread6_StateE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt6thread6_StateE)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+
+Class std::thread::_State
+ size=8 align=8
+ base size=8 base align=8
+std::thread::_State (0x0x7efdf7151ea0) 0 nearly-empty
+ vptr=((& std::thread::_State::_ZTVNSt6thread6_StateE) + 16)
+
+Class std::thread::id
+ size=8 align=8
+ base size=8 base align=8
+std::thread::id (0x0x7efdf7151f00) 0
+
+Class std::thread
+ size=8 align=8
+ base size=8 base align=8
+std::thread (0x0x7efdf7151e40) 0
+
+Class std::condition_variable
+ size=48 align=8
+ base size=48 base align=8
+std::condition_variable (0x0x7efdf7040300) 0
+
+Class std::__at_thread_exit_elt
+ size=16 align=8
+ base size=16 base align=8
+std::__at_thread_exit_elt (0x0x7efdf70406c0) 0
+
+Class std::_V2::condition_variable_any
+ size=64 align=8
+ base size=64 base align=8
+std::_V2::condition_variable_any (0x0x7efdf7040720) 0
+
+Class std::__atomic_futex_unsigned_base
+ size=1 align=1
+ base size=0 base align=1
+std::__atomic_futex_unsigned_base (0x0x7efdf6dc7a20) 0 empty
+
+Vtable for std::future_error
+std::future_error::_ZTVSt12future_error: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTISt12future_error)
+16 (int (*)(...))std::future_error::~future_error
+24 (int (*)(...))std::future_error::~future_error
+32 (int (*)(...))std::future_error::what
+
+Class std::future_error
+ size=32 align=8
+ base size=32 base align=8
+std::future_error (0x0x7efdf6df0138) 0
+ vptr=((& std::future_error::_ZTVSt12future_error) + 16)
+ std::logic_error (0x0x7efdf6df01a0) 0
+ primary-for std::future_error (0x0x7efdf6df0138)
+ std::exception (0x0x7efdf6df5180) 0 nearly-empty
+ primary-for std::logic_error (0x0x7efdf6df01a0)
+
+Class std::__future_base::_Result_base::_Deleter
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_Result_base::_Deleter (0x0x7efdf6df58a0) 0 empty
+
+Vtable for std::__future_base::_Result_base
+std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base12_Result_baseE)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class std::__future_base::_Result_base
+ size=16 align=8
+ base size=16 base align=8
+std::__future_base::_Result_base (0x0x7efdf6df5840) 0
+ vptr=((& std::__future_base::_Result_base::_ZTVNSt13__future_base12_Result_baseE) + 16)
+
+Class std::__future_base::_State_baseV2::__exception_ptr_tag
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base::_State_baseV2::__exception_ptr_tag (0x0x7efdf6c10000) 0 empty
+
+Class std::__future_base::_State_baseV2::_Make_ready
+ size=32 align=8
+ base size=32 base align=8
+std::__future_base::_State_baseV2::_Make_ready (0x0x7efdf6bca9c0) 0
+ std::__at_thread_exit_elt (0x0x7efdf6c100c0) 0
+
+Vtable for std::__future_base::_State_baseV2
+std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base13_State_baseV2E)
+16 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+24 (int (*)(...))std::__future_base::_State_baseV2::~_State_baseV2
+32 (int (*)(...))std::__future_base::_State_baseV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_State_baseV2
+ size=32 align=8
+ base size=28 base align=8
+std::__future_base::_State_baseV2 (0x0x7efdf6df5a20) 0
+ vptr=((& std::__future_base::_State_baseV2::_ZTVNSt13__future_base13_State_baseV2E) + 16)
+
+Class std::__future_base
+ size=1 align=1
+ base size=0 base align=1
+std::__future_base (0x0x7efdf6df57e0) 0 empty
+
+Vtable for std::__future_base::_Async_state_commonV2
+std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTINSt13__future_base21_Async_state_commonV2E)
+16 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+24 (int (*)(...))std::__future_base::_Async_state_commonV2::~_Async_state_commonV2
+32 (int (*)(...))std::__future_base::_Async_state_commonV2::_M_complete_async
+40 (int (*)(...))std::__future_base::_State_baseV2::_M_is_deferred_future
+
+Class std::__future_base::_Async_state_commonV2
+ size=48 align=8
+ base size=44 base align=8
+std::__future_base::_Async_state_commonV2 (0x0x7efdf63696e8) 0
+ vptr=((& std::__future_base::_Async_state_commonV2::_ZTVNSt13__future_base21_Async_state_commonV2E) + 16)
+ std::__future_base::_State_baseV2 (0x0x7efdf63ae0c0) 0
+ primary-for std::__future_base::_Async_state_commonV2 (0x0x7efdf63696e8)
+
+Class QThread::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThread::QPrivateSignal (0x0x7efdf63ae960) 0 empty
+
+Vtable for QThread
+QThread::_ZTV7QThread: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QThread)
+16 (int (*)(...))QThread::metaObject
+24 (int (*)(...))QThread::qt_metacast
+32 (int (*)(...))QThread::qt_metacall
+40 (int (*)(...))QThread::~QThread
+48 (int (*)(...))QThread::~QThread
+56 (int (*)(...))QThread::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QThread::run
+
+Class QThread
+ size=16 align=8
+ base size=16 base align=8
+QThread (0x0x7efdf6369a28) 0
+ vptr=((& QThread::_ZTV7QThread) + 16)
+ QObject (0x0x7efdf63ae900) 0
+ primary-for QThread (0x0x7efdf6369a28)
+
+Class QThreadPool::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QThreadPool::QPrivateSignal (0x0x7efdf63aed20) 0 empty
+
+Vtable for QThreadPool
+QThreadPool::_ZTV11QThreadPool: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QThreadPool)
+16 (int (*)(...))QThreadPool::metaObject
+24 (int (*)(...))QThreadPool::qt_metacast
+32 (int (*)(...))QThreadPool::qt_metacall
+40 (int (*)(...))QThreadPool::~QThreadPool
+48 (int (*)(...))QThreadPool::~QThreadPool
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QThreadPool
+ size=16 align=8
+ base size=16 base align=8
+QThreadPool (0x0x7efdf6369a90) 0
+ vptr=((& QThreadPool::_ZTV11QThreadPool) + 16)
+ QObject (0x0x7efdf63aecc0) 0
+ primary-for QThreadPool (0x0x7efdf6369a90)
+
+Class QThreadStorageData
+ size=4 align=4
+ base size=4 base align=4
+QThreadStorageData (0x0x7efdf63aef00) 0
+
+Class QTimeLine::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimeLine::QPrivateSignal (0x0x7efdf63f6600) 0 empty
+
+Vtable for QTimeLine
+QTimeLine::_ZTV9QTimeLine: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI9QTimeLine)
+16 (int (*)(...))QTimeLine::metaObject
+24 (int (*)(...))QTimeLine::qt_metacast
+32 (int (*)(...))QTimeLine::qt_metacall
+40 (int (*)(...))QTimeLine::~QTimeLine
+48 (int (*)(...))QTimeLine::~QTimeLine
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimeLine::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTimeLine::valueForTime
+
+Class QTimeLine
+ size=16 align=8
+ base size=16 base align=8
+QTimeLine (0x0x7efdf6369af8) 0
+ vptr=((& QTimeLine::_ZTV9QTimeLine) + 16)
+ QObject (0x0x7efdf63f65a0) 0
+ primary-for QTimeLine (0x0x7efdf6369af8)
+
+Class QTimer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTimer::QPrivateSignal (0x0x7efdf63f6840) 0 empty
+
+Vtable for QTimer
+QTimer::_ZTV6QTimer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI6QTimer)
+16 (int (*)(...))QTimer::metaObject
+24 (int (*)(...))QTimer::qt_metacast
+32 (int (*)(...))QTimer::qt_metacall
+40 (int (*)(...))QTimer::~QTimer
+48 (int (*)(...))QTimer::~QTimer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QTimer::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTimer
+ size=32 align=8
+ base size=29 base align=8
+QTimer (0x0x7efdf6369b60) 0
+ vptr=((& QTimer::_ZTV6QTimer) + 16)
+ QObject (0x0x7efdf63f67e0) 0
+ primary-for QTimer (0x0x7efdf6369b60)
+
+Class QTimeZone::OffsetData
+ size=32 align=8
+ base size=28 base align=8
+QTimeZone::OffsetData (0x0x7efdf64621e0) 0
+
+Class QTimeZone
+ size=8 align=8
+ base size=8 base align=8
+QTimeZone (0x0x7efdf6462180) 0
+
+Class QTranslator::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTranslator::QPrivateSignal (0x0x7efdf61002a0) 0 empty
+
+Vtable for QTranslator
+QTranslator::_ZTV11QTranslator: 16 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTranslator)
+16 (int (*)(...))QTranslator::metaObject
+24 (int (*)(...))QTranslator::qt_metacast
+32 (int (*)(...))QTranslator::qt_metacall
+40 (int (*)(...))QTranslator::~QTranslator
+48 (int (*)(...))QTranslator::~QTranslator
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTranslator::translate
+120 (int (*)(...))QTranslator::isEmpty
+
+Class QTranslator
+ size=16 align=8
+ base size=16 base align=8
+QTranslator (0x0x7efdf60fe270) 0
+ vptr=((& QTranslator::_ZTV11QTranslator) + 16)
+ QObject (0x0x7efdf6100240) 0
+ primary-for QTranslator (0x0x7efdf60fe270)
+
+Class QTransposeProxyModel::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTransposeProxyModel::QPrivateSignal (0x0x7efdf61004e0) 0 empty
+
+Vtable for QTransposeProxyModel
+QTransposeProxyModel::_ZTV20QTransposeProxyModel: 53 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QTransposeProxyModel)
+16 (int (*)(...))QTransposeProxyModel::metaObject
+24 (int (*)(...))QTransposeProxyModel::qt_metacast
+32 (int (*)(...))QTransposeProxyModel::qt_metacall
+40 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+48 (int (*)(...))QTransposeProxyModel::~QTransposeProxyModel
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTransposeProxyModel::index
+120 (int (*)(...))QTransposeProxyModel::parent
+128 (int (*)(...))QAbstractProxyModel::sibling
+136 (int (*)(...))QTransposeProxyModel::rowCount
+144 (int (*)(...))QTransposeProxyModel::columnCount
+152 (int (*)(...))QAbstractProxyModel::hasChildren
+160 (int (*)(...))QAbstractProxyModel::data
+168 (int (*)(...))QAbstractProxyModel::setData
+176 (int (*)(...))QTransposeProxyModel::headerData
+184 (int (*)(...))QTransposeProxyModel::setHeaderData
+192 (int (*)(...))QTransposeProxyModel::itemData
+200 (int (*)(...))QTransposeProxyModel::setItemData
+208 (int (*)(...))QAbstractProxyModel::mimeTypes
+216 (int (*)(...))QAbstractProxyModel::mimeData
+224 (int (*)(...))QAbstractProxyModel::canDropMimeData
+232 (int (*)(...))QAbstractProxyModel::dropMimeData
+240 (int (*)(...))QAbstractProxyModel::supportedDropActions
+248 (int (*)(...))QAbstractProxyModel::supportedDragActions
+256 (int (*)(...))QTransposeProxyModel::insertRows
+264 (int (*)(...))QTransposeProxyModel::insertColumns
+272 (int (*)(...))QTransposeProxyModel::removeRows
+280 (int (*)(...))QTransposeProxyModel::removeColumns
+288 (int (*)(...))QTransposeProxyModel::moveRows
+296 (int (*)(...))QTransposeProxyModel::moveColumns
+304 (int (*)(...))QAbstractProxyModel::fetchMore
+312 (int (*)(...))QAbstractProxyModel::canFetchMore
+320 (int (*)(...))QAbstractProxyModel::flags
+328 (int (*)(...))QTransposeProxyModel::sort
+336 (int (*)(...))QAbstractProxyModel::buddy
+344 (int (*)(...))QAbstractItemModel::match
+352 (int (*)(...))QTransposeProxyModel::span
+360 (int (*)(...))QAbstractItemModel::roleNames
+368 (int (*)(...))QAbstractProxyModel::submit
+376 (int (*)(...))QAbstractProxyModel::revert
+384 (int (*)(...))QTransposeProxyModel::setSourceModel
+392 (int (*)(...))QTransposeProxyModel::mapToSource
+400 (int (*)(...))QTransposeProxyModel::mapFromSource
+408 (int (*)(...))QAbstractProxyModel::mapSelectionToSource
+416 (int (*)(...))QAbstractProxyModel::mapSelectionFromSource
+
+Class QTransposeProxyModel
+ size=16 align=8
+ base size=16 base align=8
+QTransposeProxyModel (0x0x7efdf60fe2d8) 0
+ vptr=((& QTransposeProxyModel::_ZTV20QTransposeProxyModel) + 16)
+ QAbstractProxyModel (0x0x7efdf60fe340) 0
+ primary-for QTransposeProxyModel (0x0x7efdf60fe2d8)
+ QAbstractItemModel (0x0x7efdf60fe3a8) 0
+ primary-for QAbstractProxyModel (0x0x7efdf60fe340)
+ QObject (0x0x7efdf6100480) 0
+ primary-for QAbstractItemModel (0x0x7efdf60fe3a8)
+
+Class QUrlQuery
+ size=8 align=8
+ base size=8 base align=8
+QUrlQuery (0x0x7efdf61006c0) 0
+
+Class QWaitCondition
+ size=8 align=8
+ base size=8 base align=8
+QWaitCondition (0x0x7efdf61f8ba0) 0
+
+Class QXmlStreamStringRef
+ size=16 align=8
+ base size=16 base align=8
+QXmlStreamStringRef (0x0x7efdf61f8cc0) 0
+
+Class QXmlStreamAttribute
+ size=80 align=8
+ base size=73 base align=8
+QXmlStreamAttribute (0x0x7efdf5da60c0) 0
+
+Class QXmlStreamAttributes
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamAttributes (0x0x7efdf5e09680) 0
+ QVector<QXmlStreamAttribute> (0x0x7efdf5e087e0) 0
+
+Class QXmlStreamNamespaceDeclaration
+ size=40 align=8
+ base size=40 base align=8
+QXmlStreamNamespaceDeclaration (0x0x7efdf5e08ae0) 0
+
+Class QXmlStreamNotationDeclaration
+ size=56 align=8
+ base size=56 base align=8
+QXmlStreamNotationDeclaration (0x0x7efdf5e8ea80) 0
+
+Class QXmlStreamEntityDeclaration
+ size=88 align=8
+ base size=88 base align=8
+QXmlStreamEntityDeclaration (0x0x7efdf5eeaa80) 0
+
+Vtable for QXmlStreamEntityResolver
+QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QXmlStreamEntityResolver)
+16 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+24 (int (*)(...))QXmlStreamEntityResolver::~QXmlStreamEntityResolver
+32 (int (*)(...))QXmlStreamEntityResolver::resolveEntity
+40 (int (*)(...))QXmlStreamEntityResolver::resolveUndeclaredEntity
+
+Class QXmlStreamEntityResolver
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamEntityResolver (0x0x7efdf5f57b40) 0 nearly-empty
+ vptr=((& QXmlStreamEntityResolver::_ZTV24QXmlStreamEntityResolver) + 16)
+
+Class QXmlStreamReader
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamReader (0x0x7efdf5f57ba0) 0
+
+Class QXmlStreamWriter
+ size=8 align=8
+ base size=8 base align=8
+QXmlStreamWriter (0x0x7efdf5b94a80) 0
+
+Class qoutputrange
+ size=24 align=8
+ base size=24 base align=8
+qoutputrange (0x0x7efdf5b94c60) 0
+
+Class QSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensor::QPrivateSignal (0x0x7efdf5b94d20) 0 empty
+
+Vtable for QSensor
+QSensor::_ZTV7QSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI7QSensor)
+16 (int (*)(...))QSensor::metaObject
+24 (int (*)(...))QSensor::qt_metacast
+32 (int (*)(...))QSensor::qt_metacall
+40 (int (*)(...))QSensor::~QSensor
+48 (int (*)(...))QSensor::~QSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSensor
+ size=16 align=8
+ base size=16 base align=8
+QSensor (0x0x7efdf5bc4340) 0
+ vptr=((& QSensor::_ZTV7QSensor) + 16)
+ QObject (0x0x7efdf5b94cc0) 0
+ primary-for QSensor (0x0x7efdf5bc4340)
+
+Vtable for QSensorFilter
+QSensorFilter::_ZTV13QSensorFilter: 6 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QSensorFilter)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+
+Class QSensorFilter
+ size=16 align=8
+ base size=16 base align=8
+QSensorFilter (0x0x7efdf5b94f00) 0
+ vptr=((& QSensorFilter::_ZTV13QSensorFilter) + 16)
+
+Class QSensorReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorReading::QPrivateSignal (0x0x7efdf5c01000) 0 empty
+
+Vtable for QSensorReading
+QSensorReading::_ZTV14QSensorReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSensorReading)
+16 (int (*)(...))QSensorReading::metaObject
+24 (int (*)(...))QSensorReading::qt_metacast
+32 (int (*)(...))QSensorReading::qt_metacall
+40 (int (*)(...))QSensorReading::~QSensorReading
+48 (int (*)(...))QSensorReading::~QSensorReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QSensorReading::copyValuesFrom
+
+Class QSensorReading
+ size=24 align=8
+ base size=24 base align=8
+QSensorReading (0x0x7efdf5bc43a8) 0
+ vptr=((& QSensorReading::_ZTV14QSensorReading) + 16)
+ QObject (0x0x7efdf5b94f60) 0
+ primary-for QSensorReading (0x0x7efdf5bc43a8)
+
+Class QAccelerometerReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccelerometerReading::QPrivateSignal (0x0x7efdf5c01ae0) 0 empty
+
+Vtable for QAccelerometerReading
+QAccelerometerReading::_ZTV21QAccelerometerReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QAccelerometerReading)
+16 (int (*)(...))QAccelerometerReading::metaObject
+24 (int (*)(...))QAccelerometerReading::qt_metacast
+32 (int (*)(...))QAccelerometerReading::qt_metacall
+40 (int (*)(...))QAccelerometerReading::~QAccelerometerReading
+48 (int (*)(...))QAccelerometerReading::~QAccelerometerReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAccelerometerReading::copyValuesFrom
+
+Class QAccelerometerReading
+ size=32 align=8
+ base size=32 base align=8
+QAccelerometerReading (0x0x7efdf5bc44e0) 0
+ vptr=((& QAccelerometerReading::_ZTV21QAccelerometerReading) + 16)
+ QSensorReading (0x0x7efdf5bc4548) 0
+ primary-for QAccelerometerReading (0x0x7efdf5bc44e0)
+ QObject (0x0x7efdf5c01a80) 0
+ primary-for QSensorReading (0x0x7efdf5bc4548)
+
+Vtable for QAccelerometerFilter
+QAccelerometerFilter::_ZTV20QAccelerometerFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAccelerometerFilter)
+16 (int (*)(...))QAccelerometerFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAccelerometerFilter
+ size=16 align=8
+ base size=16 base align=8
+QAccelerometerFilter (0x0x7efdf5bc45b0) 0
+ vptr=((& QAccelerometerFilter::_ZTV20QAccelerometerFilter) + 16)
+ QSensorFilter (0x0x7efdf5c01c60) 0
+ primary-for QAccelerometerFilter (0x0x7efdf5bc45b0)
+
+Class QAccelerometer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAccelerometer::QPrivateSignal (0x0x7efdf5c01d20) 0 empty
+
+Vtable for QAccelerometer
+QAccelerometer::_ZTV14QAccelerometer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QAccelerometer)
+16 (int (*)(...))QAccelerometer::metaObject
+24 (int (*)(...))QAccelerometer::qt_metacast
+32 (int (*)(...))QAccelerometer::qt_metacall
+40 (int (*)(...))QAccelerometer::~QAccelerometer
+48 (int (*)(...))QAccelerometer::~QAccelerometer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAccelerometer
+ size=16 align=8
+ base size=16 base align=8
+QAccelerometer (0x0x7efdf5bc4618) 0
+ vptr=((& QAccelerometer::_ZTV14QAccelerometer) + 16)
+ QSensor (0x0x7efdf5bc4680) 0
+ primary-for QAccelerometer (0x0x7efdf5bc4618)
+ QObject (0x0x7efdf5c01cc0) 0
+ primary-for QSensor (0x0x7efdf5bc4680)
+
+Class QAltimeterReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAltimeterReading::QPrivateSignal (0x0x7efdf5c01f60) 0 empty
+
+Vtable for QAltimeterReading
+QAltimeterReading::_ZTV17QAltimeterReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QAltimeterReading)
+16 (int (*)(...))QAltimeterReading::metaObject
+24 (int (*)(...))QAltimeterReading::qt_metacast
+32 (int (*)(...))QAltimeterReading::qt_metacall
+40 (int (*)(...))QAltimeterReading::~QAltimeterReading
+48 (int (*)(...))QAltimeterReading::~QAltimeterReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAltimeterReading::copyValuesFrom
+
+Class QAltimeterReading
+ size=32 align=8
+ base size=32 base align=8
+QAltimeterReading (0x0x7efdf5bc46e8) 0
+ vptr=((& QAltimeterReading::_ZTV17QAltimeterReading) + 16)
+ QSensorReading (0x0x7efdf5bc4750) 0
+ primary-for QAltimeterReading (0x0x7efdf5bc46e8)
+ QObject (0x0x7efdf5c01f00) 0
+ primary-for QSensorReading (0x0x7efdf5bc4750)
+
+Vtable for QAltimeterFilter
+QAltimeterFilter::_ZTV16QAltimeterFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QAltimeterFilter)
+16 (int (*)(...))QAltimeterFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAltimeterFilter
+ size=16 align=8
+ base size=16 base align=8
+QAltimeterFilter (0x0x7efdf5bc47b8) 0
+ vptr=((& QAltimeterFilter::_ZTV16QAltimeterFilter) + 16)
+ QSensorFilter (0x0x7efdf5cb1120) 0
+ primary-for QAltimeterFilter (0x0x7efdf5bc47b8)
+
+Class QAltimeter::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAltimeter::QPrivateSignal (0x0x7efdf5cb11e0) 0 empty
+
+Vtable for QAltimeter
+QAltimeter::_ZTV10QAltimeter: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QAltimeter)
+16 (int (*)(...))QAltimeter::metaObject
+24 (int (*)(...))QAltimeter::qt_metacast
+32 (int (*)(...))QAltimeter::qt_metacall
+40 (int (*)(...))QAltimeter::~QAltimeter
+48 (int (*)(...))QAltimeter::~QAltimeter
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAltimeter
+ size=16 align=8
+ base size=16 base align=8
+QAltimeter (0x0x7efdf5bc4820) 0
+ vptr=((& QAltimeter::_ZTV10QAltimeter) + 16)
+ QSensor (0x0x7efdf5bc4888) 0
+ primary-for QAltimeter (0x0x7efdf5bc4820)
+ QObject (0x0x7efdf5cb1180) 0
+ primary-for QSensor (0x0x7efdf5bc4888)
+
+Class QAmbientLightReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientLightReading::QPrivateSignal (0x0x7efdf5cb1360) 0 empty
+
+Vtable for QAmbientLightReading
+QAmbientLightReading::_ZTV20QAmbientLightReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QAmbientLightReading)
+16 (int (*)(...))QAmbientLightReading::metaObject
+24 (int (*)(...))QAmbientLightReading::qt_metacast
+32 (int (*)(...))QAmbientLightReading::qt_metacall
+40 (int (*)(...))QAmbientLightReading::~QAmbientLightReading
+48 (int (*)(...))QAmbientLightReading::~QAmbientLightReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAmbientLightReading::copyValuesFrom
+
+Class QAmbientLightReading
+ size=32 align=8
+ base size=32 base align=8
+QAmbientLightReading (0x0x7efdf5bc48f0) 0
+ vptr=((& QAmbientLightReading::_ZTV20QAmbientLightReading) + 16)
+ QSensorReading (0x0x7efdf5bc4958) 0
+ primary-for QAmbientLightReading (0x0x7efdf5bc48f0)
+ QObject (0x0x7efdf5cb1300) 0
+ primary-for QSensorReading (0x0x7efdf5bc4958)
+
+Vtable for QAmbientLightFilter
+QAmbientLightFilter::_ZTV19QAmbientLightFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAmbientLightFilter)
+16 (int (*)(...))QAmbientLightFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAmbientLightFilter
+ size=16 align=8
+ base size=16 base align=8
+QAmbientLightFilter (0x0x7efdf5bc49c0) 0
+ vptr=((& QAmbientLightFilter::_ZTV19QAmbientLightFilter) + 16)
+ QSensorFilter (0x0x7efdf5cb14e0) 0
+ primary-for QAmbientLightFilter (0x0x7efdf5bc49c0)
+
+Class QAmbientLightSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientLightSensor::QPrivateSignal (0x0x7efdf5cb15a0) 0 empty
+
+Vtable for QAmbientLightSensor
+QAmbientLightSensor::_ZTV19QAmbientLightSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QAmbientLightSensor)
+16 (int (*)(...))QAmbientLightSensor::metaObject
+24 (int (*)(...))QAmbientLightSensor::qt_metacast
+32 (int (*)(...))QAmbientLightSensor::qt_metacall
+40 (int (*)(...))QAmbientLightSensor::~QAmbientLightSensor
+48 (int (*)(...))QAmbientLightSensor::~QAmbientLightSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAmbientLightSensor
+ size=16 align=8
+ base size=16 base align=8
+QAmbientLightSensor (0x0x7efdf5bc4a28) 0
+ vptr=((& QAmbientLightSensor::_ZTV19QAmbientLightSensor) + 16)
+ QSensor (0x0x7efdf5bc4a90) 0
+ primary-for QAmbientLightSensor (0x0x7efdf5bc4a28)
+ QObject (0x0x7efdf5cb1540) 0
+ primary-for QSensor (0x0x7efdf5bc4a90)
+
+Class QAmbientTemperatureReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientTemperatureReading::QPrivateSignal (0x0x7efdf5cb1720) 0 empty
+
+Vtable for QAmbientTemperatureReading
+QAmbientTemperatureReading::_ZTV26QAmbientTemperatureReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI26QAmbientTemperatureReading)
+16 (int (*)(...))QAmbientTemperatureReading::metaObject
+24 (int (*)(...))QAmbientTemperatureReading::qt_metacast
+32 (int (*)(...))QAmbientTemperatureReading::qt_metacall
+40 (int (*)(...))QAmbientTemperatureReading::~QAmbientTemperatureReading
+48 (int (*)(...))QAmbientTemperatureReading::~QAmbientTemperatureReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QAmbientTemperatureReading::copyValuesFrom
+
+Class QAmbientTemperatureReading
+ size=32 align=8
+ base size=32 base align=8
+QAmbientTemperatureReading (0x0x7efdf5bc4af8) 0
+ vptr=((& QAmbientTemperatureReading::_ZTV26QAmbientTemperatureReading) + 16)
+ QSensorReading (0x0x7efdf5bc4b60) 0
+ primary-for QAmbientTemperatureReading (0x0x7efdf5bc4af8)
+ QObject (0x0x7efdf5cb16c0) 0
+ primary-for QSensorReading (0x0x7efdf5bc4b60)
+
+Vtable for QAmbientTemperatureFilter
+QAmbientTemperatureFilter::_ZTV25QAmbientTemperatureFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAmbientTemperatureFilter)
+16 (int (*)(...))QAmbientTemperatureFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QAmbientTemperatureFilter
+ size=16 align=8
+ base size=16 base align=8
+QAmbientTemperatureFilter (0x0x7efdf5bc4bc8) 0
+ vptr=((& QAmbientTemperatureFilter::_ZTV25QAmbientTemperatureFilter) + 16)
+ QSensorFilter (0x0x7efdf5cb18a0) 0
+ primary-for QAmbientTemperatureFilter (0x0x7efdf5bc4bc8)
+
+Class QAmbientTemperatureSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QAmbientTemperatureSensor::QPrivateSignal (0x0x7efdf5cb1960) 0 empty
+
+Vtable for QAmbientTemperatureSensor
+QAmbientTemperatureSensor::_ZTV25QAmbientTemperatureSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI25QAmbientTemperatureSensor)
+16 (int (*)(...))QAmbientTemperatureSensor::metaObject
+24 (int (*)(...))QAmbientTemperatureSensor::qt_metacast
+32 (int (*)(...))QAmbientTemperatureSensor::qt_metacall
+40 (int (*)(...))QAmbientTemperatureSensor::~QAmbientTemperatureSensor
+48 (int (*)(...))QAmbientTemperatureSensor::~QAmbientTemperatureSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QAmbientTemperatureSensor
+ size=16 align=8
+ base size=16 base align=8
+QAmbientTemperatureSensor (0x0x7efdf5bc4c30) 0
+ vptr=((& QAmbientTemperatureSensor::_ZTV25QAmbientTemperatureSensor) + 16)
+ QSensor (0x0x7efdf5bc4c98) 0
+ primary-for QAmbientTemperatureSensor (0x0x7efdf5bc4c30)
+ QObject (0x0x7efdf5cb1900) 0
+ primary-for QSensor (0x0x7efdf5bc4c98)
+
+Class QCompassReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompassReading::QPrivateSignal (0x0x7efdf5cb1ae0) 0 empty
+
+Vtable for QCompassReading
+QCompassReading::_ZTV15QCompassReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QCompassReading)
+16 (int (*)(...))QCompassReading::metaObject
+24 (int (*)(...))QCompassReading::qt_metacast
+32 (int (*)(...))QCompassReading::qt_metacall
+40 (int (*)(...))QCompassReading::~QCompassReading
+48 (int (*)(...))QCompassReading::~QCompassReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QCompassReading::copyValuesFrom
+
+Class QCompassReading
+ size=32 align=8
+ base size=32 base align=8
+QCompassReading (0x0x7efdf5bc4d00) 0
+ vptr=((& QCompassReading::_ZTV15QCompassReading) + 16)
+ QSensorReading (0x0x7efdf5bc4d68) 0
+ primary-for QCompassReading (0x0x7efdf5bc4d00)
+ QObject (0x0x7efdf5cb1a80) 0
+ primary-for QSensorReading (0x0x7efdf5bc4d68)
+
+Vtable for QCompassFilter
+QCompassFilter::_ZTV14QCompassFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QCompassFilter)
+16 (int (*)(...))QCompassFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QCompassFilter
+ size=16 align=8
+ base size=16 base align=8
+QCompassFilter (0x0x7efdf5bc4dd0) 0
+ vptr=((& QCompassFilter::_ZTV14QCompassFilter) + 16)
+ QSensorFilter (0x0x7efdf5cb1c60) 0
+ primary-for QCompassFilter (0x0x7efdf5bc4dd0)
+
+Class QCompass::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QCompass::QPrivateSignal (0x0x7efdf5cb1d20) 0 empty
+
+Vtable for QCompass
+QCompass::_ZTV8QCompass: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI8QCompass)
+16 (int (*)(...))QCompass::metaObject
+24 (int (*)(...))QCompass::qt_metacast
+32 (int (*)(...))QCompass::qt_metacall
+40 (int (*)(...))QCompass::~QCompass
+48 (int (*)(...))QCompass::~QCompass
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QCompass
+ size=16 align=8
+ base size=16 base align=8
+QCompass (0x0x7efdf5bc4e38) 0
+ vptr=((& QCompass::_ZTV8QCompass) + 16)
+ QSensor (0x0x7efdf5bc4ea0) 0
+ primary-for QCompass (0x0x7efdf5bc4e38)
+ QObject (0x0x7efdf5cb1cc0) 0
+ primary-for QSensor (0x0x7efdf5bc4ea0)
+
+Class QDistanceReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDistanceReading::QPrivateSignal (0x0x7efdf5cb1ea0) 0 empty
+
+Vtable for QDistanceReading
+QDistanceReading::_ZTV16QDistanceReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QDistanceReading)
+16 (int (*)(...))QDistanceReading::metaObject
+24 (int (*)(...))QDistanceReading::qt_metacast
+32 (int (*)(...))QDistanceReading::qt_metacall
+40 (int (*)(...))QDistanceReading::~QDistanceReading
+48 (int (*)(...))QDistanceReading::~QDistanceReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QDistanceReading::copyValuesFrom
+
+Class QDistanceReading
+ size=32 align=8
+ base size=32 base align=8
+QDistanceReading (0x0x7efdf5bc4f08) 0
+ vptr=((& QDistanceReading::_ZTV16QDistanceReading) + 16)
+ QSensorReading (0x0x7efdf5bc4f70) 0
+ primary-for QDistanceReading (0x0x7efdf5bc4f08)
+ QObject (0x0x7efdf5cb1e40) 0
+ primary-for QSensorReading (0x0x7efdf5bc4f70)
+
+Vtable for QDistanceFilter
+QDistanceFilter::_ZTV15QDistanceFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDistanceFilter)
+16 (int (*)(...))QDistanceFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QDistanceFilter
+ size=16 align=8
+ base size=16 base align=8
+QDistanceFilter (0x0x7efdf5d2e000) 0
+ vptr=((& QDistanceFilter::_ZTV15QDistanceFilter) + 16)
+ QSensorFilter (0x0x7efdf5d2d060) 0
+ primary-for QDistanceFilter (0x0x7efdf5d2e000)
+
+Class QDistanceSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QDistanceSensor::QPrivateSignal (0x0x7efdf5d2d120) 0 empty
+
+Vtable for QDistanceSensor
+QDistanceSensor::_ZTV15QDistanceSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QDistanceSensor)
+16 (int (*)(...))QDistanceSensor::metaObject
+24 (int (*)(...))QDistanceSensor::qt_metacast
+32 (int (*)(...))QDistanceSensor::qt_metacall
+40 (int (*)(...))QDistanceSensor::~QDistanceSensor
+48 (int (*)(...))QDistanceSensor::~QDistanceSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QDistanceSensor
+ size=16 align=8
+ base size=16 base align=8
+QDistanceSensor (0x0x7efdf5d2e068) 0
+ vptr=((& QDistanceSensor::_ZTV15QDistanceSensor) + 16)
+ QSensor (0x0x7efdf5d2e0d0) 0
+ primary-for QDistanceSensor (0x0x7efdf5d2e068)
+ QObject (0x0x7efdf5d2d0c0) 0
+ primary-for QSensor (0x0x7efdf5d2e0d0)
+
+Class QGyroscopeReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGyroscopeReading::QPrivateSignal (0x0x7efdf5d2d2a0) 0 empty
+
+Vtable for QGyroscopeReading
+QGyroscopeReading::_ZTV17QGyroscopeReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QGyroscopeReading)
+16 (int (*)(...))QGyroscopeReading::metaObject
+24 (int (*)(...))QGyroscopeReading::qt_metacast
+32 (int (*)(...))QGyroscopeReading::qt_metacall
+40 (int (*)(...))QGyroscopeReading::~QGyroscopeReading
+48 (int (*)(...))QGyroscopeReading::~QGyroscopeReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QGyroscopeReading::copyValuesFrom
+
+Class QGyroscopeReading
+ size=32 align=8
+ base size=32 base align=8
+QGyroscopeReading (0x0x7efdf5d2e138) 0
+ vptr=((& QGyroscopeReading::_ZTV17QGyroscopeReading) + 16)
+ QSensorReading (0x0x7efdf5d2e1a0) 0
+ primary-for QGyroscopeReading (0x0x7efdf5d2e138)
+ QObject (0x0x7efdf5d2d240) 0
+ primary-for QSensorReading (0x0x7efdf5d2e1a0)
+
+Vtable for QGyroscopeFilter
+QGyroscopeFilter::_ZTV16QGyroscopeFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QGyroscopeFilter)
+16 (int (*)(...))QGyroscopeFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QGyroscopeFilter
+ size=16 align=8
+ base size=16 base align=8
+QGyroscopeFilter (0x0x7efdf5d2e208) 0
+ vptr=((& QGyroscopeFilter::_ZTV16QGyroscopeFilter) + 16)
+ QSensorFilter (0x0x7efdf5d2d420) 0
+ primary-for QGyroscopeFilter (0x0x7efdf5d2e208)
+
+Class QGyroscope::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QGyroscope::QPrivateSignal (0x0x7efdf5d2d4e0) 0 empty
+
+Vtable for QGyroscope
+QGyroscope::_ZTV10QGyroscope: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QGyroscope)
+16 (int (*)(...))QGyroscope::metaObject
+24 (int (*)(...))QGyroscope::qt_metacast
+32 (int (*)(...))QGyroscope::qt_metacall
+40 (int (*)(...))QGyroscope::~QGyroscope
+48 (int (*)(...))QGyroscope::~QGyroscope
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QGyroscope
+ size=16 align=8
+ base size=16 base align=8
+QGyroscope (0x0x7efdf5d2e270) 0
+ vptr=((& QGyroscope::_ZTV10QGyroscope) + 16)
+ QSensor (0x0x7efdf5d2e2d8) 0
+ primary-for QGyroscope (0x0x7efdf5d2e270)
+ QObject (0x0x7efdf5d2d480) 0
+ primary-for QSensor (0x0x7efdf5d2e2d8)
+
+Class QHolsterReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHolsterReading::QPrivateSignal (0x0x7efdf5d2d660) 0 empty
+
+Vtable for QHolsterReading
+QHolsterReading::_ZTV15QHolsterReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHolsterReading)
+16 (int (*)(...))QHolsterReading::metaObject
+24 (int (*)(...))QHolsterReading::qt_metacast
+32 (int (*)(...))QHolsterReading::qt_metacall
+40 (int (*)(...))QHolsterReading::~QHolsterReading
+48 (int (*)(...))QHolsterReading::~QHolsterReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHolsterReading::copyValuesFrom
+
+Class QHolsterReading
+ size=32 align=8
+ base size=32 base align=8
+QHolsterReading (0x0x7efdf5d2e340) 0
+ vptr=((& QHolsterReading::_ZTV15QHolsterReading) + 16)
+ QSensorReading (0x0x7efdf5d2e3a8) 0
+ primary-for QHolsterReading (0x0x7efdf5d2e340)
+ QObject (0x0x7efdf5d2d600) 0
+ primary-for QSensorReading (0x0x7efdf5d2e3a8)
+
+Vtable for QHolsterFilter
+QHolsterFilter::_ZTV14QHolsterFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QHolsterFilter)
+16 (int (*)(...))QHolsterFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QHolsterFilter
+ size=16 align=8
+ base size=16 base align=8
+QHolsterFilter (0x0x7efdf5d2e410) 0
+ vptr=((& QHolsterFilter::_ZTV14QHolsterFilter) + 16)
+ QSensorFilter (0x0x7efdf5d2d7e0) 0
+ primary-for QHolsterFilter (0x0x7efdf5d2e410)
+
+Class QHolsterSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHolsterSensor::QPrivateSignal (0x0x7efdf5d2d8a0) 0 empty
+
+Vtable for QHolsterSensor
+QHolsterSensor::_ZTV14QHolsterSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QHolsterSensor)
+16 (int (*)(...))QHolsterSensor::metaObject
+24 (int (*)(...))QHolsterSensor::qt_metacast
+32 (int (*)(...))QHolsterSensor::qt_metacall
+40 (int (*)(...))QHolsterSensor::~QHolsterSensor
+48 (int (*)(...))QHolsterSensor::~QHolsterSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QHolsterSensor
+ size=16 align=8
+ base size=16 base align=8
+QHolsterSensor (0x0x7efdf5d2e478) 0
+ vptr=((& QHolsterSensor::_ZTV14QHolsterSensor) + 16)
+ QSensor (0x0x7efdf5d2e4e0) 0
+ primary-for QHolsterSensor (0x0x7efdf5d2e478)
+ QObject (0x0x7efdf5d2d840) 0
+ primary-for QSensor (0x0x7efdf5d2e4e0)
+
+Class QHumidityReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHumidityReading::QPrivateSignal (0x0x7efdf5d2da20) 0 empty
+
+Vtable for QHumidityReading
+QHumidityReading::_ZTV16QHumidityReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QHumidityReading)
+16 (int (*)(...))QHumidityReading::metaObject
+24 (int (*)(...))QHumidityReading::qt_metacast
+32 (int (*)(...))QHumidityReading::qt_metacall
+40 (int (*)(...))QHumidityReading::~QHumidityReading
+48 (int (*)(...))QHumidityReading::~QHumidityReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QHumidityReading::copyValuesFrom
+
+Class QHumidityReading
+ size=32 align=8
+ base size=32 base align=8
+QHumidityReading (0x0x7efdf5d2e548) 0
+ vptr=((& QHumidityReading::_ZTV16QHumidityReading) + 16)
+ QSensorReading (0x0x7efdf5d2e5b0) 0
+ primary-for QHumidityReading (0x0x7efdf5d2e548)
+ QObject (0x0x7efdf5d2d9c0) 0
+ primary-for QSensorReading (0x0x7efdf5d2e5b0)
+
+Vtable for QHumidityFilter
+QHumidityFilter::_ZTV15QHumidityFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHumidityFilter)
+16 (int (*)(...))QHumidityFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QHumidityFilter
+ size=16 align=8
+ base size=16 base align=8
+QHumidityFilter (0x0x7efdf5d2e618) 0
+ vptr=((& QHumidityFilter::_ZTV15QHumidityFilter) + 16)
+ QSensorFilter (0x0x7efdf5d2dba0) 0
+ primary-for QHumidityFilter (0x0x7efdf5d2e618)
+
+Class QHumiditySensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QHumiditySensor::QPrivateSignal (0x0x7efdf5d2dc60) 0 empty
+
+Vtable for QHumiditySensor
+QHumiditySensor::_ZTV15QHumiditySensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QHumiditySensor)
+16 (int (*)(...))QHumiditySensor::metaObject
+24 (int (*)(...))QHumiditySensor::qt_metacast
+32 (int (*)(...))QHumiditySensor::qt_metacall
+40 (int (*)(...))QHumiditySensor::~QHumiditySensor
+48 (int (*)(...))QHumiditySensor::~QHumiditySensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QHumiditySensor
+ size=16 align=8
+ base size=16 base align=8
+QHumiditySensor (0x0x7efdf5d2e680) 0
+ vptr=((& QHumiditySensor::_ZTV15QHumiditySensor) + 16)
+ QSensor (0x0x7efdf5d2e6e8) 0
+ primary-for QHumiditySensor (0x0x7efdf5d2e680)
+ QObject (0x0x7efdf5d2dc00) 0
+ primary-for QSensor (0x0x7efdf5d2e6e8)
+
+Class QIRProximityReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIRProximityReading::QPrivateSignal (0x0x7efdf5d2dea0) 0 empty
+
+Vtable for QIRProximityReading
+QIRProximityReading::_ZTV19QIRProximityReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QIRProximityReading)
+16 (int (*)(...))QIRProximityReading::metaObject
+24 (int (*)(...))QIRProximityReading::qt_metacast
+32 (int (*)(...))QIRProximityReading::qt_metacall
+40 (int (*)(...))QIRProximityReading::~QIRProximityReading
+48 (int (*)(...))QIRProximityReading::~QIRProximityReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QIRProximityReading::copyValuesFrom
+
+Class QIRProximityReading
+ size=32 align=8
+ base size=32 base align=8
+QIRProximityReading (0x0x7efdf5d2e750) 0
+ vptr=((& QIRProximityReading::_ZTV19QIRProximityReading) + 16)
+ QSensorReading (0x0x7efdf5d2e7b8) 0
+ primary-for QIRProximityReading (0x0x7efdf5d2e750)
+ QObject (0x0x7efdf5d2de40) 0
+ primary-for QSensorReading (0x0x7efdf5d2e7b8)
+
+Vtable for QIRProximityFilter
+QIRProximityFilter::_ZTV18QIRProximityFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QIRProximityFilter)
+16 (int (*)(...))QIRProximityFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QIRProximityFilter
+ size=16 align=8
+ base size=16 base align=8
+QIRProximityFilter (0x0x7efdf5d2e820) 0
+ vptr=((& QIRProximityFilter::_ZTV18QIRProximityFilter) + 16)
+ QSensorFilter (0x0x7efdf59a1060) 0
+ primary-for QIRProximityFilter (0x0x7efdf5d2e820)
+
+Class QIRProximitySensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QIRProximitySensor::QPrivateSignal (0x0x7efdf59a1120) 0 empty
+
+Vtable for QIRProximitySensor
+QIRProximitySensor::_ZTV18QIRProximitySensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QIRProximitySensor)
+16 (int (*)(...))QIRProximitySensor::metaObject
+24 (int (*)(...))QIRProximitySensor::qt_metacast
+32 (int (*)(...))QIRProximitySensor::qt_metacall
+40 (int (*)(...))QIRProximitySensor::~QIRProximitySensor
+48 (int (*)(...))QIRProximitySensor::~QIRProximitySensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QIRProximitySensor
+ size=16 align=8
+ base size=16 base align=8
+QIRProximitySensor (0x0x7efdf5d2e888) 0
+ vptr=((& QIRProximitySensor::_ZTV18QIRProximitySensor) + 16)
+ QSensor (0x0x7efdf5d2e8f0) 0
+ primary-for QIRProximitySensor (0x0x7efdf5d2e888)
+ QObject (0x0x7efdf59a10c0) 0
+ primary-for QSensor (0x0x7efdf5d2e8f0)
+
+Class QLidReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLidReading::QPrivateSignal (0x0x7efdf59a12a0) 0 empty
+
+Vtable for QLidReading
+QLidReading::_ZTV11QLidReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QLidReading)
+16 (int (*)(...))QLidReading::metaObject
+24 (int (*)(...))QLidReading::qt_metacast
+32 (int (*)(...))QLidReading::qt_metacall
+40 (int (*)(...))QLidReading::~QLidReading
+48 (int (*)(...))QLidReading::~QLidReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLidReading::copyValuesFrom
+
+Class QLidReading
+ size=32 align=8
+ base size=32 base align=8
+QLidReading (0x0x7efdf5d2e958) 0
+ vptr=((& QLidReading::_ZTV11QLidReading) + 16)
+ QSensorReading (0x0x7efdf5d2e9c0) 0
+ primary-for QLidReading (0x0x7efdf5d2e958)
+ QObject (0x0x7efdf59a1240) 0
+ primary-for QSensorReading (0x0x7efdf5d2e9c0)
+
+Vtable for QLidFilter
+QLidFilter::_ZTV10QLidFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLidFilter)
+16 (int (*)(...))QLidFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QLidFilter
+ size=16 align=8
+ base size=16 base align=8
+QLidFilter (0x0x7efdf5d2ea28) 0
+ vptr=((& QLidFilter::_ZTV10QLidFilter) + 16)
+ QSensorFilter (0x0x7efdf59a1420) 0
+ primary-for QLidFilter (0x0x7efdf5d2ea28)
+
+Class QLidSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLidSensor::QPrivateSignal (0x0x7efdf59a14e0) 0 empty
+
+Vtable for QLidSensor
+QLidSensor::_ZTV10QLidSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QLidSensor)
+16 (int (*)(...))QLidSensor::metaObject
+24 (int (*)(...))QLidSensor::qt_metacast
+32 (int (*)(...))QLidSensor::qt_metacall
+40 (int (*)(...))QLidSensor::~QLidSensor
+48 (int (*)(...))QLidSensor::~QLidSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLidSensor
+ size=16 align=8
+ base size=16 base align=8
+QLidSensor (0x0x7efdf5d2ea90) 0
+ vptr=((& QLidSensor::_ZTV10QLidSensor) + 16)
+ QSensor (0x0x7efdf5d2eaf8) 0
+ primary-for QLidSensor (0x0x7efdf5d2ea90)
+ QObject (0x0x7efdf59a1480) 0
+ primary-for QSensor (0x0x7efdf5d2eaf8)
+
+Class QLightReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLightReading::QPrivateSignal (0x0x7efdf59a1660) 0 empty
+
+Vtable for QLightReading
+QLightReading::_ZTV13QLightReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QLightReading)
+16 (int (*)(...))QLightReading::metaObject
+24 (int (*)(...))QLightReading::qt_metacast
+32 (int (*)(...))QLightReading::qt_metacall
+40 (int (*)(...))QLightReading::~QLightReading
+48 (int (*)(...))QLightReading::~QLightReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QLightReading::copyValuesFrom
+
+Class QLightReading
+ size=32 align=8
+ base size=32 base align=8
+QLightReading (0x0x7efdf5d2eb60) 0
+ vptr=((& QLightReading::_ZTV13QLightReading) + 16)
+ QSensorReading (0x0x7efdf5d2ebc8) 0
+ primary-for QLightReading (0x0x7efdf5d2eb60)
+ QObject (0x0x7efdf59a1600) 0
+ primary-for QSensorReading (0x0x7efdf5d2ebc8)
+
+Vtable for QLightFilter
+QLightFilter::_ZTV12QLightFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLightFilter)
+16 (int (*)(...))QLightFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QLightFilter
+ size=16 align=8
+ base size=16 base align=8
+QLightFilter (0x0x7efdf5d2ec30) 0
+ vptr=((& QLightFilter::_ZTV12QLightFilter) + 16)
+ QSensorFilter (0x0x7efdf59a17e0) 0
+ primary-for QLightFilter (0x0x7efdf5d2ec30)
+
+Class QLightSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QLightSensor::QPrivateSignal (0x0x7efdf59a18a0) 0 empty
+
+Vtable for QLightSensor
+QLightSensor::_ZTV12QLightSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QLightSensor)
+16 (int (*)(...))QLightSensor::metaObject
+24 (int (*)(...))QLightSensor::qt_metacast
+32 (int (*)(...))QLightSensor::qt_metacall
+40 (int (*)(...))QLightSensor::~QLightSensor
+48 (int (*)(...))QLightSensor::~QLightSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QLightSensor
+ size=16 align=8
+ base size=16 base align=8
+QLightSensor (0x0x7efdf5d2ec98) 0
+ vptr=((& QLightSensor::_ZTV12QLightSensor) + 16)
+ QSensor (0x0x7efdf5d2ed00) 0
+ primary-for QLightSensor (0x0x7efdf5d2ec98)
+ QObject (0x0x7efdf59a1840) 0
+ primary-for QSensor (0x0x7efdf5d2ed00)
+
+Class QMagnetometerReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMagnetometerReading::QPrivateSignal (0x0x7efdf59a1ae0) 0 empty
+
+Vtable for QMagnetometerReading
+QMagnetometerReading::_ZTV20QMagnetometerReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI20QMagnetometerReading)
+16 (int (*)(...))QMagnetometerReading::metaObject
+24 (int (*)(...))QMagnetometerReading::qt_metacast
+32 (int (*)(...))QMagnetometerReading::qt_metacall
+40 (int (*)(...))QMagnetometerReading::~QMagnetometerReading
+48 (int (*)(...))QMagnetometerReading::~QMagnetometerReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QMagnetometerReading::copyValuesFrom
+
+Class QMagnetometerReading
+ size=32 align=8
+ base size=32 base align=8
+QMagnetometerReading (0x0x7efdf5d2ed68) 0
+ vptr=((& QMagnetometerReading::_ZTV20QMagnetometerReading) + 16)
+ QSensorReading (0x0x7efdf5d2edd0) 0
+ primary-for QMagnetometerReading (0x0x7efdf5d2ed68)
+ QObject (0x0x7efdf59a1a80) 0
+ primary-for QSensorReading (0x0x7efdf5d2edd0)
+
+Vtable for QMagnetometerFilter
+QMagnetometerFilter::_ZTV19QMagnetometerFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QMagnetometerFilter)
+16 (int (*)(...))QMagnetometerFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QMagnetometerFilter
+ size=16 align=8
+ base size=16 base align=8
+QMagnetometerFilter (0x0x7efdf5d2ee38) 0
+ vptr=((& QMagnetometerFilter::_ZTV19QMagnetometerFilter) + 16)
+ QSensorFilter (0x0x7efdf59a1c60) 0
+ primary-for QMagnetometerFilter (0x0x7efdf5d2ee38)
+
+Class QMagnetometer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QMagnetometer::QPrivateSignal (0x0x7efdf59a1d20) 0 empty
+
+Vtable for QMagnetometer
+QMagnetometer::_ZTV13QMagnetometer: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI13QMagnetometer)
+16 (int (*)(...))QMagnetometer::metaObject
+24 (int (*)(...))QMagnetometer::qt_metacast
+32 (int (*)(...))QMagnetometer::qt_metacall
+40 (int (*)(...))QMagnetometer::~QMagnetometer
+48 (int (*)(...))QMagnetometer::~QMagnetometer
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QMagnetometer
+ size=16 align=8
+ base size=16 base align=8
+QMagnetometer (0x0x7efdf5d2eea0) 0
+ vptr=((& QMagnetometer::_ZTV13QMagnetometer) + 16)
+ QSensor (0x0x7efdf5d2ef08) 0
+ primary-for QMagnetometer (0x0x7efdf5d2eea0)
+ QObject (0x0x7efdf59a1cc0) 0
+ primary-for QSensor (0x0x7efdf5d2ef08)
+
+Class QOrientationReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOrientationReading::QPrivateSignal (0x0x7efdf59a1f60) 0 empty
+
+Vtable for QOrientationReading
+QOrientationReading::_ZTV19QOrientationReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI19QOrientationReading)
+16 (int (*)(...))QOrientationReading::metaObject
+24 (int (*)(...))QOrientationReading::qt_metacast
+32 (int (*)(...))QOrientationReading::qt_metacall
+40 (int (*)(...))QOrientationReading::~QOrientationReading
+48 (int (*)(...))QOrientationReading::~QOrientationReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QOrientationReading::copyValuesFrom
+
+Class QOrientationReading
+ size=32 align=8
+ base size=32 base align=8
+QOrientationReading (0x0x7efdf5d2ef70) 0
+ vptr=((& QOrientationReading::_ZTV19QOrientationReading) + 16)
+ QSensorReading (0x0x7efdf5a08000) 0
+ primary-for QOrientationReading (0x0x7efdf5d2ef70)
+ QObject (0x0x7efdf59a1f00) 0
+ primary-for QSensorReading (0x0x7efdf5a08000)
+
+Vtable for QOrientationFilter
+QOrientationFilter::_ZTV18QOrientationFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOrientationFilter)
+16 (int (*)(...))QOrientationFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QOrientationFilter
+ size=16 align=8
+ base size=16 base align=8
+QOrientationFilter (0x0x7efdf5a08068) 0
+ vptr=((& QOrientationFilter::_ZTV18QOrientationFilter) + 16)
+ QSensorFilter (0x0x7efdf5a0d120) 0
+ primary-for QOrientationFilter (0x0x7efdf5a08068)
+
+Class QOrientationSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QOrientationSensor::QPrivateSignal (0x0x7efdf5a0d1e0) 0 empty
+
+Vtable for QOrientationSensor
+QOrientationSensor::_ZTV18QOrientationSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI18QOrientationSensor)
+16 (int (*)(...))QOrientationSensor::metaObject
+24 (int (*)(...))QOrientationSensor::qt_metacast
+32 (int (*)(...))QOrientationSensor::qt_metacall
+40 (int (*)(...))QOrientationSensor::~QOrientationSensor
+48 (int (*)(...))QOrientationSensor::~QOrientationSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QOrientationSensor
+ size=16 align=8
+ base size=16 base align=8
+QOrientationSensor (0x0x7efdf5a080d0) 0
+ vptr=((& QOrientationSensor::_ZTV18QOrientationSensor) + 16)
+ QSensor (0x0x7efdf5a08138) 0
+ primary-for QOrientationSensor (0x0x7efdf5a080d0)
+ QObject (0x0x7efdf5a0d180) 0
+ primary-for QSensor (0x0x7efdf5a08138)
+
+Class QPressureReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPressureReading::QPrivateSignal (0x0x7efdf5a0d360) 0 empty
+
+Vtable for QPressureReading
+QPressureReading::_ZTV16QPressureReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QPressureReading)
+16 (int (*)(...))QPressureReading::metaObject
+24 (int (*)(...))QPressureReading::qt_metacast
+32 (int (*)(...))QPressureReading::qt_metacall
+40 (int (*)(...))QPressureReading::~QPressureReading
+48 (int (*)(...))QPressureReading::~QPressureReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QPressureReading::copyValuesFrom
+
+Class QPressureReading
+ size=32 align=8
+ base size=32 base align=8
+QPressureReading (0x0x7efdf5a081a0) 0
+ vptr=((& QPressureReading::_ZTV16QPressureReading) + 16)
+ QSensorReading (0x0x7efdf5a08208) 0
+ primary-for QPressureReading (0x0x7efdf5a081a0)
+ QObject (0x0x7efdf5a0d300) 0
+ primary-for QSensorReading (0x0x7efdf5a08208)
+
+Vtable for QPressureFilter
+QPressureFilter::_ZTV15QPressureFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPressureFilter)
+16 (int (*)(...))QPressureFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QPressureFilter
+ size=16 align=8
+ base size=16 base align=8
+QPressureFilter (0x0x7efdf5a08270) 0
+ vptr=((& QPressureFilter::_ZTV15QPressureFilter) + 16)
+ QSensorFilter (0x0x7efdf5a0d4e0) 0
+ primary-for QPressureFilter (0x0x7efdf5a08270)
+
+Class QPressureSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QPressureSensor::QPrivateSignal (0x0x7efdf5a0d5a0) 0 empty
+
+Vtable for QPressureSensor
+QPressureSensor::_ZTV15QPressureSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QPressureSensor)
+16 (int (*)(...))QPressureSensor::metaObject
+24 (int (*)(...))QPressureSensor::qt_metacast
+32 (int (*)(...))QPressureSensor::qt_metacall
+40 (int (*)(...))QPressureSensor::~QPressureSensor
+48 (int (*)(...))QPressureSensor::~QPressureSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QPressureSensor
+ size=16 align=8
+ base size=16 base align=8
+QPressureSensor (0x0x7efdf5a082d8) 0
+ vptr=((& QPressureSensor::_ZTV15QPressureSensor) + 16)
+ QSensor (0x0x7efdf5a08340) 0
+ primary-for QPressureSensor (0x0x7efdf5a082d8)
+ QObject (0x0x7efdf5a0d540) 0
+ primary-for QSensor (0x0x7efdf5a08340)
+
+Class QProximityReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProximityReading::QPrivateSignal (0x0x7efdf5a0d720) 0 empty
+
+Vtable for QProximityReading
+QProximityReading::_ZTV17QProximityReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI17QProximityReading)
+16 (int (*)(...))QProximityReading::metaObject
+24 (int (*)(...))QProximityReading::qt_metacast
+32 (int (*)(...))QProximityReading::qt_metacall
+40 (int (*)(...))QProximityReading::~QProximityReading
+48 (int (*)(...))QProximityReading::~QProximityReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QProximityReading::copyValuesFrom
+
+Class QProximityReading
+ size=32 align=8
+ base size=32 base align=8
+QProximityReading (0x0x7efdf5a083a8) 0
+ vptr=((& QProximityReading::_ZTV17QProximityReading) + 16)
+ QSensorReading (0x0x7efdf5a08410) 0
+ primary-for QProximityReading (0x0x7efdf5a083a8)
+ QObject (0x0x7efdf5a0d6c0) 0
+ primary-for QSensorReading (0x0x7efdf5a08410)
+
+Vtable for QProximityFilter
+QProximityFilter::_ZTV16QProximityFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QProximityFilter)
+16 (int (*)(...))QProximityFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QProximityFilter
+ size=16 align=8
+ base size=16 base align=8
+QProximityFilter (0x0x7efdf5a08478) 0
+ vptr=((& QProximityFilter::_ZTV16QProximityFilter) + 16)
+ QSensorFilter (0x0x7efdf5a0d8a0) 0
+ primary-for QProximityFilter (0x0x7efdf5a08478)
+
+Class QProximitySensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QProximitySensor::QPrivateSignal (0x0x7efdf5a0d960) 0 empty
+
+Vtable for QProximitySensor
+QProximitySensor::_ZTV16QProximitySensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QProximitySensor)
+16 (int (*)(...))QProximitySensor::metaObject
+24 (int (*)(...))QProximitySensor::qt_metacast
+32 (int (*)(...))QProximitySensor::qt_metacall
+40 (int (*)(...))QProximitySensor::~QProximitySensor
+48 (int (*)(...))QProximitySensor::~QProximitySensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QProximitySensor
+ size=16 align=8
+ base size=16 base align=8
+QProximitySensor (0x0x7efdf5a084e0) 0
+ vptr=((& QProximitySensor::_ZTV16QProximitySensor) + 16)
+ QSensor (0x0x7efdf5a08548) 0
+ primary-for QProximitySensor (0x0x7efdf5a084e0)
+ QObject (0x0x7efdf5a0d900) 0
+ primary-for QSensor (0x0x7efdf5a08548)
+
+Class QRotationReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRotationReading::QPrivateSignal (0x0x7efdf5a0dae0) 0 empty
+
+Vtable for QRotationReading
+QRotationReading::_ZTV16QRotationReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI16QRotationReading)
+16 (int (*)(...))QRotationReading::metaObject
+24 (int (*)(...))QRotationReading::qt_metacast
+32 (int (*)(...))QRotationReading::qt_metacall
+40 (int (*)(...))QRotationReading::~QRotationReading
+48 (int (*)(...))QRotationReading::~QRotationReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QRotationReading::copyValuesFrom
+
+Class QRotationReading
+ size=32 align=8
+ base size=32 base align=8
+QRotationReading (0x0x7efdf5a085b0) 0
+ vptr=((& QRotationReading::_ZTV16QRotationReading) + 16)
+ QSensorReading (0x0x7efdf5a08618) 0
+ primary-for QRotationReading (0x0x7efdf5a085b0)
+ QObject (0x0x7efdf5a0da80) 0
+ primary-for QSensorReading (0x0x7efdf5a08618)
+
+Vtable for QRotationFilter
+QRotationFilter::_ZTV15QRotationFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QRotationFilter)
+16 (int (*)(...))QRotationFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QRotationFilter
+ size=16 align=8
+ base size=16 base align=8
+QRotationFilter (0x0x7efdf5a08680) 0
+ vptr=((& QRotationFilter::_ZTV15QRotationFilter) + 16)
+ QSensorFilter (0x0x7efdf5a0dc60) 0
+ primary-for QRotationFilter (0x0x7efdf5a08680)
+
+Class QRotationSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QRotationSensor::QPrivateSignal (0x0x7efdf5a0dd20) 0 empty
+
+Vtable for QRotationSensor
+QRotationSensor::_ZTV15QRotationSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI15QRotationSensor)
+16 (int (*)(...))QRotationSensor::metaObject
+24 (int (*)(...))QRotationSensor::qt_metacast
+32 (int (*)(...))QRotationSensor::qt_metacall
+40 (int (*)(...))QRotationSensor::~QRotationSensor
+48 (int (*)(...))QRotationSensor::~QRotationSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QRotationSensor
+ size=16 align=8
+ base size=16 base align=8
+QRotationSensor (0x0x7efdf5a086e8) 0
+ vptr=((& QRotationSensor::_ZTV15QRotationSensor) + 16)
+ QSensor (0x0x7efdf5a08750) 0
+ primary-for QRotationSensor (0x0x7efdf5a086e8)
+ QObject (0x0x7efdf5a0dcc0) 0
+ primary-for QSensor (0x0x7efdf5a08750)
+
+Class QSensorManager
+ size=1 align=1
+ base size=0 base align=1
+QSensorManager (0x0x7efdf5a0df00) 0 empty
+
+Vtable for QSensorBackendFactory
+QSensorBackendFactory::_ZTV21QSensorBackendFactory: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSensorBackendFactory)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QSensorBackendFactory
+ size=8 align=8
+ base size=8 base align=8
+QSensorBackendFactory (0x0x7efdf5a0df60) 0 nearly-empty
+ vptr=((& QSensorBackendFactory::_ZTV21QSensorBackendFactory) + 16)
+
+Class QSensorBackend::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorBackend::QPrivateSignal (0x0x7efdf5a83060) 0 empty
+
+Vtable for QSensorBackend
+QSensorBackend::_ZTV14QSensorBackend: 17 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSensorBackend)
+16 (int (*)(...))QSensorBackend::metaObject
+24 (int (*)(...))QSensorBackend::qt_metacast
+32 (int (*)(...))QSensorBackend::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))QSensorBackend::isFeatureSupported
+
+Class QSensorBackend
+ size=16 align=8
+ base size=16 base align=8
+QSensorBackend (0x0x7efdf5a087b8) 0
+ vptr=((& QSensorBackend::_ZTV14QSensorBackend) + 16)
+ QObject (0x0x7efdf5a83000) 0
+ primary-for QSensorBackend (0x0x7efdf5a087b8)
+
+Vtable for QSensorGesture
+QSensorGesture::_ZTV14QSensorGesture: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI14QSensorGesture)
+16 (int (*)(...))QSensorGesture::metaObject
+24 (int (*)(...))QObject::qt_metacast
+32 (int (*)(...))QSensorGesture::qt_metacall
+40 (int (*)(...))QSensorGesture::~QSensorGesture
+48 (int (*)(...))QSensorGesture::~QSensorGesture
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSensorGesture
+ size=24 align=8
+ base size=24 base align=8
+QSensorGesture (0x0x7efdf5a08820) 0
+ vptr=((& QSensorGesture::_ZTV14QSensorGesture) + 16)
+ QObject (0x0x7efdf5a832a0) 0
+ primary-for QSensorGesture (0x0x7efdf5a08820)
+
+Class QSensorGestureRecognizer::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorGestureRecognizer::QPrivateSignal (0x0x7efdf5a83360) 0 empty
+
+Vtable for QSensorGestureRecognizer
+QSensorGestureRecognizer::_ZTV24QSensorGestureRecognizer: 19 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI24QSensorGestureRecognizer)
+16 (int (*)(...))QSensorGestureRecognizer::metaObject
+24 (int (*)(...))QSensorGestureRecognizer::qt_metacast
+32 (int (*)(...))QSensorGestureRecognizer::qt_metacall
+40 0
+48 0
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))__cxa_pure_virtual
+120 (int (*)(...))__cxa_pure_virtual
+128 (int (*)(...))__cxa_pure_virtual
+136 (int (*)(...))__cxa_pure_virtual
+144 (int (*)(...))__cxa_pure_virtual
+
+Class QSensorGestureRecognizer
+ size=24 align=8
+ base size=24 base align=8
+QSensorGestureRecognizer (0x0x7efdf5a08888) 0
+ vptr=((& QSensorGestureRecognizer::_ZTV24QSensorGestureRecognizer) + 16)
+ QObject (0x0x7efdf5a83300) 0
+ primary-for QSensorGestureRecognizer (0x0x7efdf5a08888)
+
+Class QSensorGestureManager::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QSensorGestureManager::QPrivateSignal (0x0x7efdf5a834e0) 0 empty
+
+Vtable for QSensorGestureManager
+QSensorGestureManager::_ZTV21QSensorGestureManager: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI21QSensorGestureManager)
+16 (int (*)(...))QSensorGestureManager::metaObject
+24 (int (*)(...))QSensorGestureManager::qt_metacast
+32 (int (*)(...))QSensorGestureManager::qt_metacall
+40 (int (*)(...))QSensorGestureManager::~QSensorGestureManager
+48 (int (*)(...))QSensorGestureManager::~QSensorGestureManager
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QSensorGestureManager
+ size=16 align=8
+ base size=16 base align=8
+QSensorGestureManager (0x0x7efdf5a088f0) 0
+ vptr=((& QSensorGestureManager::_ZTV21QSensorGestureManager) + 16)
+ QObject (0x0x7efdf5a83480) 0
+ primary-for QSensorGestureManager (0x0x7efdf5a088f0)
+
+Vtable for QSensorGesturePluginInterface
+QSensorGesturePluginInterface::_ZTV29QSensorGesturePluginInterface: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI29QSensorGesturePluginInterface)
+16 0
+24 0
+32 (int (*)(...))__cxa_pure_virtual
+40 (int (*)(...))__cxa_pure_virtual
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QSensorGesturePluginInterface
+ size=8 align=8
+ base size=8 base align=8
+QSensorGesturePluginInterface (0x0x7efdf5a836c0) 0 nearly-empty
+ vptr=((& QSensorGesturePluginInterface::_ZTV29QSensorGesturePluginInterface) + 16)
+
+Vtable for QSensorPluginInterface
+QSensorPluginInterface::_ZTV22QSensorPluginInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI22QSensorPluginInterface)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QSensorPluginInterface
+ size=8 align=8
+ base size=8 base align=8
+QSensorPluginInterface (0x0x7efdf5a838a0) 0 nearly-empty
+ vptr=((& QSensorPluginInterface::_ZTV22QSensorPluginInterface) + 16)
+
+Vtable for QSensorChangesInterface
+QSensorChangesInterface::_ZTV23QSensorChangesInterface: 5 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI23QSensorChangesInterface)
+16 (int (*)(...))__cxa_pure_virtual
+24 0
+32 0
+
+Class QSensorChangesInterface
+ size=8 align=8
+ base size=8 base align=8
+QSensorChangesInterface (0x0x7efdf5a83900) 0 nearly-empty
+ vptr=((& QSensorChangesInterface::_ZTV23QSensorChangesInterface) + 16)
+
+Class QTapReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapReading::QPrivateSignal (0x0x7efdf5a83cc0) 0 empty
+
+Vtable for QTapReading
+QTapReading::_ZTV11QTapReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTapReading)
+16 (int (*)(...))QTapReading::metaObject
+24 (int (*)(...))QTapReading::qt_metacast
+32 (int (*)(...))QTapReading::qt_metacall
+40 (int (*)(...))QTapReading::~QTapReading
+48 (int (*)(...))QTapReading::~QTapReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTapReading::copyValuesFrom
+
+Class QTapReading
+ size=32 align=8
+ base size=32 base align=8
+QTapReading (0x0x7efdf5a08958) 0
+ vptr=((& QTapReading::_ZTV11QTapReading) + 16)
+ QSensorReading (0x0x7efdf5a089c0) 0
+ primary-for QTapReading (0x0x7efdf5a08958)
+ QObject (0x0x7efdf5a83c60) 0
+ primary-for QSensorReading (0x0x7efdf5a089c0)
+
+Vtable for QTapFilter
+QTapFilter::_ZTV10QTapFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTapFilter)
+16 (int (*)(...))QTapFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QTapFilter
+ size=16 align=8
+ base size=16 base align=8
+QTapFilter (0x0x7efdf5a08a28) 0
+ vptr=((& QTapFilter::_ZTV10QTapFilter) + 16)
+ QSensorFilter (0x0x7efdf5a83e40) 0
+ primary-for QTapFilter (0x0x7efdf5a08a28)
+
+Class QTapSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTapSensor::QPrivateSignal (0x0x7efdf5a83f00) 0 empty
+
+Vtable for QTapSensor
+QTapSensor::_ZTV10QTapSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI10QTapSensor)
+16 (int (*)(...))QTapSensor::metaObject
+24 (int (*)(...))QTapSensor::qt_metacast
+32 (int (*)(...))QTapSensor::qt_metacall
+40 (int (*)(...))QTapSensor::~QTapSensor
+48 (int (*)(...))QTapSensor::~QTapSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTapSensor
+ size=16 align=8
+ base size=16 base align=8
+QTapSensor (0x0x7efdf5a08a90) 0
+ vptr=((& QTapSensor::_ZTV10QTapSensor) + 16)
+ QSensor (0x0x7efdf5a08af8) 0
+ primary-for QTapSensor (0x0x7efdf5a08a90)
+ QObject (0x0x7efdf5a83ea0) 0
+ primary-for QSensor (0x0x7efdf5a08af8)
+
+Class QTiltReading::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTiltReading::QPrivateSignal (0x0x7efdf5adf180) 0 empty
+
+Vtable for QTiltReading
+QTiltReading::_ZTV12QTiltReading: 15 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI12QTiltReading)
+16 (int (*)(...))QTiltReading::metaObject
+24 (int (*)(...))QTiltReading::qt_metacast
+32 (int (*)(...))QTiltReading::qt_metacall
+40 (int (*)(...))QTiltReading::~QTiltReading
+48 (int (*)(...))QTiltReading::~QTiltReading
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+112 (int (*)(...))QTiltReading::copyValuesFrom
+
+Class QTiltReading
+ size=32 align=8
+ base size=32 base align=8
+QTiltReading (0x0x7efdf5a08b60) 0
+ vptr=((& QTiltReading::_ZTV12QTiltReading) + 16)
+ QSensorReading (0x0x7efdf5a08bc8) 0
+ primary-for QTiltReading (0x0x7efdf5a08b60)
+ QObject (0x0x7efdf5adf120) 0
+ primary-for QSensorReading (0x0x7efdf5a08bc8)
+
+Vtable for QTiltFilter
+QTiltFilter::_ZTV11QTiltFilter: 7 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTiltFilter)
+16 (int (*)(...))QTiltFilter::filter
+24 0
+32 0
+40 (int (*)(...))QSensorFilter::setSensor
+48 (int (*)(...))__cxa_pure_virtual
+
+Class QTiltFilter
+ size=16 align=8
+ base size=16 base align=8
+QTiltFilter (0x0x7efdf5a08c30) 0
+ vptr=((& QTiltFilter::_ZTV11QTiltFilter) + 16)
+ QSensorFilter (0x0x7efdf5adf300) 0
+ primary-for QTiltFilter (0x0x7efdf5a08c30)
+
+Class QTiltSensor::QPrivateSignal
+ size=1 align=1
+ base size=0 base align=1
+QTiltSensor::QPrivateSignal (0x0x7efdf5adf3c0) 0 empty
+
+Vtable for QTiltSensor
+QTiltSensor::_ZTV11QTiltSensor: 14 entries
+0 (int (*)(...))0
+8 (int (*)(...))(& _ZTI11QTiltSensor)
+16 (int (*)(...))QTiltSensor::metaObject
+24 (int (*)(...))QTiltSensor::qt_metacast
+32 (int (*)(...))QTiltSensor::qt_metacall
+40 (int (*)(...))QTiltSensor::~QTiltSensor
+48 (int (*)(...))QTiltSensor::~QTiltSensor
+56 (int (*)(...))QObject::event
+64 (int (*)(...))QObject::eventFilter
+72 (int (*)(...))QObject::timerEvent
+80 (int (*)(...))QObject::childEvent
+88 (int (*)(...))QObject::customEvent
+96 (int (*)(...))QObject::connectNotify
+104 (int (*)(...))QObject::disconnectNotify
+
+Class QTiltSensor
+ size=16 align=8
+ base size=16 base align=8
+QTiltSensor (0x0x7efdf5a08c98) 0
+ vptr=((& QTiltSensor::_ZTV11QTiltSensor) + 16)
+ QSensor (0x0x7efdf5a08d00) 0
+ primary-for QTiltSensor (0x0x7efdf5a08c98)
+ QObject (0x0x7efdf5adf360) 0
+ primary-for QSensor (0x0x7efdf5a08d00)
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b25780) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b25ae0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b25cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b54060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b54240) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b545a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b54780) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b54ae0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b54cc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = char; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b8e060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b8e240) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b8e5a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b8e780) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5b8eae0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5b8ecc0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = char; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf57c8060) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf57f4540) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf57f48a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf57f4a20) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long int; _Ret = long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf57f4d80) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf57f4f00) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long unsigned int; _Ret = long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf58252a0) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5825420) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long int; _Ret = long long int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5825780) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5825900) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long long unsigned int; _Ret = long long unsigned int; _CharT = wchar_t; _Base = {int}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5825c60) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5825de0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = float; _Ret = float; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5855180) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf5855300) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = double; _Ret = double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5855660) 0 empty
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno
+ size=4 align=4
+ base size=4 base align=4
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Save_errno (0x0x7efdf58557e0) 0
+
+Class __gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk
+ size=1 align=1
+ base size=0 base align=1
+__gnu_cxx::__stoa(_TRet (*)(const _CharT*, _CharT**, _Base ...), const char*, const _CharT*, std::size_t*, _Base ...) [with _TRet = long double; _Ret = long double; _CharT = wchar_t; _Base = {}; std::size_t = long unsigned int]::_Range_chk (0x0x7efdf5855b40) 0 empty
+
diff --git a/tests/auto/cmake/CMakeLists.txt b/tests/auto/cmake/CMakeLists.txt
index 4eba8604..9b4b9c83 100644
--- a/tests/auto/cmake/CMakeLists.txt
+++ b/tests/auto/cmake/CMakeLists.txt
@@ -1,14 +1,48 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
-cmake_minimum_required(VERSION 2.8)
-
-project(qmake_cmake_files)
+# This is an automatic test for the CMake configuration files.
+# To run it manually,
+# 1) mkdir build # Create a build directory
+# 2) cd build
+# 3) # Run cmake on this directory
+# `$qt_prefix/bin/qt-cmake ..` or `cmake -DCMAKE_PREFIX_PATH=/path/to/qt ..`
+# 4) ctest # Run ctest
+cmake_minimum_required(VERSION 3.16)
+project(sensors_cmake_tests)
enable_testing()
-find_package(Qt5Core REQUIRED)
+set(required_packages Core Sensors)
+
+# Setup the test when called as a completely standalone project.
+if(TARGET Qt6::Core)
+ # Tests are built as part of the qtsensors build tree.
+ # Setup paths so that the Qt packages are found.
+ qt_internal_set_up_build_dir_package_paths()
+endif()
+
+find_package(Qt6 REQUIRED COMPONENTS ${required_packages})
+
+# Setup common test variables which were previously set by ctest_testcase_common.prf.
+set(CMAKE_MODULES_UNDER_TEST "${required_packages}")
-include("${_Qt5CTestMacros}")
+foreach(qt_package ${CMAKE_MODULES_UNDER_TEST})
+ set(package_name "${QT_CMAKE_EXPORT_NAMESPACE}${qt_package}")
+ if(${package_name}_FOUND)
+ set(CMAKE_${qt_package}_MODULE_MAJOR_VERSION "${${package_name}_VERSION_MAJOR}")
+ set(CMAKE_${qt_package}_MODULE_MINOR_VERSION "${${package_name}_VERSION_MINOR}")
+ set(CMAKE_${qt_package}_MODULE_PATCH_VERSION "${${package_name}_VERSION_PATCH}")
+ endif()
+endforeach()
+
+include("${_Qt6CTestMacros}")
+
+set(module_includes
+ Sensors QLightSensor
+ Sensors QRotationSensor
+)
-test_module_includes(
- Sensors QLightSensor
+_qt_internal_test_module_includes(
+ ${module_includes}
)
diff --git a/tests/auto/cmake/cmake.pro b/tests/auto/cmake/cmake.pro
deleted file mode 100644
index f8c4e0a9..00000000
--- a/tests/auto/cmake/cmake.pro
+++ /dev/null
@@ -1,7 +0,0 @@
-
-# Cause make to do nothing.
-TEMPLATE = subdirs
-
-CMAKE_QT_MODULES_UNDER_TEST = sensors
-
-CONFIG += ctest_testcase
diff --git a/tests/auto/common/test_backends.cpp b/tests/auto/common/test_backends.cpp
new file mode 100644
index 00000000..92e69bb3
--- /dev/null
+++ b/tests/auto/common/test_backends.cpp
@@ -0,0 +1,160 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtCore/QList>
+#include <QtCore/QMap>
+#include <QtCore/QVariantMap>
+#include "qsensorbackend.h"
+
+
+typedef QSensorBackend* (*CreateFunc) (QSensor *sensor);
+class Record
+{
+public:
+ QByteArray type;
+ CreateFunc func;
+};
+static QList<Record> records;
+
+static bool registerTestBackend(const char *className, CreateFunc func)
+{
+ Record record;
+ record.type = className;
+ record.func = func;
+ records << record;
+ return true;
+}
+
+#define REGISTER_TOO
+#include "test_backends.h"
+#include <QDebug>
+
+// The sensor-to-backend mapping is maintained in order to be able to change
+// the sensor reading values in the backend
+static QMap<QSensor*, QSensorBackend*> sensorToBackend;
+
+void set_test_backend_busy(QSensor* sensor, bool busy)
+{
+ Q_ASSERT(sensor->isConnectedToBackend());
+ QSensorBackend* backend = sensorToBackend.value(sensor);
+ backend->sensorBusy(busy);
+}
+
+void set_test_backend_reading(QSensor* sensor, const QVariantMap& values)
+{
+ Q_ASSERT(sensor->isConnectedToBackend());
+ QSensorBackend* backend = sensorToBackend.value(sensor);
+ // timestamp is common to all readings
+ if (values.contains("timestamp"))
+ backend->reading()->setTimestamp(values["timestamp"].toInt());
+ if (sensor->type() == "QAccelerometer") {
+ QAccelerometerReading* reading = static_cast<QAccelerometerReading*>(backend->reading());
+ if (values.contains("x")) reading->setX(values["x"].value<qreal>());
+ if (values.contains("y")) reading->setY(values["y"].value<qreal>());
+ if (values.contains("z")) reading->setZ(values["z"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QPressureSensor") {
+ QPressureReading* reading = static_cast<QPressureReading*>(backend->reading());
+ if (values.contains("pressure")) reading->setPressure(values["pressure"].value<qreal>());
+ if (values.contains("temperature")) reading->setTemperature(values["temperature"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QGyroscope") {
+ QGyroscopeReading* reading = static_cast<QGyroscopeReading*>(backend->reading());
+ if (values.contains("x")) reading->setX(values["x"].value<qreal>());
+ if (values.contains("y")) reading->setY(values["y"].value<qreal>());
+ if (values.contains("z")) reading->setZ(values["z"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QTapSensor") {
+ QTapReading* reading = static_cast<QTapReading*>(backend->reading());
+ if (values.contains("doubleTap")) reading->setDoubleTap(values["doubleTap"].value<bool>());
+ if (values.contains("tapDirection")) reading->setTapDirection(QTapReading::TapDirection(values["tapDirection"].toInt()));
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QCompass") {
+ QCompassReading* reading = static_cast<QCompassReading*>(backend->reading());
+ if (values.contains("azimuth")) reading->setAzimuth(values["azimuth"].value<qreal>());
+ if (values.contains("calibrationLevel")) reading->setCalibrationLevel(values["calibrationLevel"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QProximitySensor") {
+ QProximityReading* reading = static_cast<QProximityReading*>(backend->reading());
+ reading->setClose(values["near"].value<bool>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QOrientationSensor") {
+ QOrientationReading* reading = static_cast<QOrientationReading*>(backend->reading());
+ reading->setOrientation(QOrientationReading::Orientation(values["orientation"].toInt()));
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QAmbientLightSensor") {
+ QAmbientLightReading* reading = static_cast<QAmbientLightReading*>(backend->reading());
+ reading->setLightLevel(QAmbientLightReading::LightLevel(values["lightLevel"].toInt()));
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QMagnetometer") {
+ QMagnetometerReading* reading = static_cast<QMagnetometerReading*>(backend->reading());
+ if (values.contains("x")) reading->setX(values["x"].value<qreal>());
+ if (values.contains("y")) reading->setY(values["y"].value<qreal>());
+ if (values.contains("z")) reading->setZ(values["z"].value<qreal>());
+ if (values.contains("calibrationLevel")) reading->setCalibrationLevel(values["calibrationLevel"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QLidSensor") {
+ QLidReading* reading = static_cast<QLidReading*>(backend->reading());
+ if (values.contains("backLidClosed")) reading->setBackLidClosed(values["backLidClosed"].value<bool>());
+ if (values.contains("frontLidClosed")) reading->setFrontLidClosed(values["frontLidClosed"].value<bool>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QTiltSensor") {
+ QTiltReading* reading = static_cast<QTiltReading*>(backend->reading());
+ if (values.contains("yRotation")) reading->setYRotation(values["yRotation"].value<qreal>());
+ if (values.contains("xRotation")) reading->setXRotation(values["xRotation"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QRotationSensor") {
+ QRotationReading* reading = static_cast<QRotationReading*>(backend->reading());
+ reading->setFromEuler(values["x"].value<qreal>(), values["y"].value<qreal>(), values["z"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QHumiditySensor") {
+ QHumidityReading* reading = static_cast<QHumidityReading*>(backend->reading());
+ if (values.contains("relativeHumidity")) reading->setRelativeHumidity(values["relativeHumidity"].value<qreal>());
+ if (values.contains("absoluteHumidity")) reading->setAbsoluteHumidity(values["absoluteHumidity"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QAmbientTemperatureSensor") {
+ QAmbientTemperatureReading* reading = static_cast<QAmbientTemperatureReading*>(backend->reading());
+ reading->setTemperature(values["temperature"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QLightSensor") {
+ QLightReading* reading = static_cast<QLightReading*>(backend->reading());
+ reading->setLux(values["illuminance"].value<qreal>());
+ backend->newReadingAvailable();
+ } else if (sensor->type() == "QIRProximitySensor") {
+ QIRProximityReading* reading = static_cast<QIRProximityReading*>(backend->reading());
+ reading->setReflectance(values["reflectance"].value<qreal>());
+ backend->newReadingAvailable();
+ } else {
+ qWarning() << "Unsupported test sensor backend:" << sensor->type();
+ }
+}
+
+class BackendFactory : public QSensorBackendFactory
+{
+ QSensorBackend *createBackend(QSensor *sensor) override
+ {
+ for (const Record &record : records) {
+ if (sensor->identifier() == record.type) {
+ QSensorBackend* backend = record.func(sensor);
+ sensorToBackend.insert(sensor, backend);
+ return backend;
+ }
+ }
+ return nullptr;
+ }
+};
+static BackendFactory factory;
+
+void register_test_backends()
+{
+ sensorToBackend.clear();
+ for (const Record &record : records)
+ QSensorManager::registerBackend(record.type, record.type, &factory);
+}
+
+void unregister_test_backends()
+{
+ sensorToBackend.clear();
+ for (const Record &record : records)
+ QSensorManager::unregisterBackend(record.type, record.type);
+}
diff --git a/tests/auto/qsensor/test_backends.h b/tests/auto/common/test_backends.h
index aba0b2f2..06d827b7 100644
--- a/tests/auto/qsensor/test_backends.h
+++ b/tests/auto/common/test_backends.h
@@ -1,46 +1,22 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_BACKENDS_H
#define TEST_BACKENDS_H
#include <qsensorbackend.h>
+#include <QtCore/QJsonObject>
void register_test_backends();
void unregister_test_backends();
+void set_test_backend_reading(QSensor* sensor, const QVariantMap& values);
+void set_test_backend_busy(QSensor* sensor, bool busy);
#include <qaccelerometer.h>
-#include <qaltimeter.h>
#include <qambientlightsensor.h>
#include <qambienttemperaturesensor.h>
#include <qcompass.h>
#include <qgyroscope.h>
-#include <qholstersensor.h>
#include <qlightsensor.h>
#include <qmagnetometer.h>
#include <qorientationsensor.h>
@@ -50,6 +26,8 @@ void unregister_test_backends();
#include <qtapsensor.h>
#include <qirproximitysensor.h>
#include <qtiltsensor.h>
+#include <qlidsensor.h>
+#include <qhumiditysensor.h>
#define PREPARE_SENSORINTERFACE_DECLS(SensorClass, ReadingClass, FilterClass, readingcode)\
class SensorClass ## _impl : public QSensorBackend\
@@ -58,6 +36,7 @@ void unregister_test_backends();
SensorClass ## _impl(QSensor *sensor);\
void start() override;\
void stop() override;\
+ bool isFeatureSupported(QSensor::Feature feature) const override;\
};\
class SensorClass ## _testfilter : public FilterClass { bool filter(ReadingClass *) override; };
@@ -69,6 +48,11 @@ void unregister_test_backends();
newReadingAvailable();\
}\
void SensorClass ##_impl::stop() {}\
+ bool SensorClass ##_impl::isFeatureSupported(QSensor::Feature feature) const { \
+ if (feature == QSensor::Feature::SkipDuplicates) \
+ return true; \
+ return false; \
+ } \
bool SensorClass ## _testfilter::filter(ReadingClass *) { return true; }\
static QSensorBackend *create_ ## SensorClass ## _impl(QSensor *sensor) { return new SensorClass ## _impl(sensor); }\
static bool registered_ ## SensorClass = registerTestBackend(#SensorClass, create_ ## SensorClass ## _impl);
@@ -83,13 +67,11 @@ void unregister_test_backends();
#endif
PREPARE_SENSORINTERFACE(QAccelerometer, QAccelerometerReading, QAccelerometerFilter, {
+ reading->setTimestamp(1);
reading->setX(1.0);
reading->setY(1.0);
reading->setZ(1.0);
})
-PREPARE_SENSORINTERFACE(QAltimeter, QAltimeterReading, QAltimeterFilter, {
- reading->setAltitude(8848);
-})
PREPARE_SENSORINTERFACE(QAmbientLightSensor, QAmbientLightReading, QAmbientLightFilter, {
reading->setLightLevel(QAmbientLightReading::Twilight);
})
@@ -105,9 +87,6 @@ PREPARE_SENSORINTERFACE(QGyroscope, QGyroscopeReading, QGyroscopeFilter, {
reading->setY(1.0);
reading->setZ(1.0);
})
-PREPARE_SENSORINTERFACE(QHolsterSensor, QHolsterReading, QHolsterFilter, {
- reading->setHolstered(true);
-})
PREPARE_SENSORINTERFACE(QLightSensor, QLightReading, QLightFilter, {
reading->setLux(1.0);
})
@@ -141,10 +120,20 @@ PREPARE_SENSORINTERFACE(QTiltSensor, QTiltReading, QTiltFilter, {
reading->setYRotation(1.0);
reading->setXRotation(1.0);
})
+PREPARE_SENSORINTERFACE(QLidSensor, QLidReading, QLidFilter, {
+ reading->setBackLidClosed(true);
+ reading->setFrontLidClosed(true);
+})
+PREPARE_SENSORINTERFACE(QHumiditySensor, QHumidityReading, QHumidityFilter, {
+ reading->setRelativeHumidity(1.0);
+ reading->setAbsoluteHumidity(1.0);
+})
+
#define TEST_SENSORINTERFACE(SensorClass, ReadingClass, readingcode)\
do {\
SensorClass sensor;\
+ sensor.setIdentifier(#SensorClass); \
SensorClass ## _testfilter filter;\
sensor.addFilter(&filter);\
sensor.start();\
diff --git a/tests/auto/legacy_sensors/legacy_sensors.pro b/tests/auto/legacy_sensors/legacy_sensors.pro
deleted file mode 100644
index daf0185d..00000000
--- a/tests/auto/legacy_sensors/legacy_sensors.pro
+++ /dev/null
@@ -1,15 +0,0 @@
-TEMPLATE=app
-TARGET=tst_legacy_sensors
-!no_system_tests:CONFIG += testcase
-QT = core testlib gui qml sensors
-SOURCES += tst_legacy_sensors.cpp
-
-VPATH += ../qsensor
-INCLUDEPATH += ../qsensor
-
-HEADERS += \
- test_backends.h
-
-SOURCES += \
- test_backends.cpp
-
diff --git a/tests/auto/legacy_sensors/tst_legacy_sensors.cpp b/tests/auto/legacy_sensors/tst_legacy_sensors.cpp
deleted file mode 100644
index 10ced231..00000000
--- a/tests/auto/legacy_sensors/tst_legacy_sensors.cpp
+++ /dev/null
@@ -1,266 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QQmlEngine>
-#include <QQmlComponent>
-#include <QSensor>
-#include "test_backends.h"
-
-class tst_legacy_sensors : public QObject
-{
- Q_OBJECT
-public:
- tst_legacy_sensors(QObject *parent = 0)
- : QObject(parent)
- {
- qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
- register_test_backends();
- }
-
-private slots:
- void initTestCase()
- {
- }
-
- void cleanupTestCase()
- {
- }
-
- void versions_data()
- {
- QTest::addColumn<QString>("version");
- QTest::addColumn<bool>("exists");
-
- QTest::newRow("5.0") << "5.0" << true;
- }
-
- void versions()
- {
- QFETCH(QString, version);
- QFETCH(bool, exists);
-
- QQmlEngine engine;
- QString qml = QString("import QtQuick 2.0\nimport QtSensors %1\nItem {}").arg(version);
- QQmlComponent c(&engine);
- c.setData(qml.toLocal8Bit(), QUrl::fromLocalFile(QDir::currentPath()));
- if (!exists)
- QTest::ignoreMessage(QtWarningMsg, "QQmlComponent: Component is not ready");
- QObject *obj = c.create();
- QCOMPARE(exists, (obj != 0));
- delete obj;
- QList<QQmlError> errors = c.errors();
- if (exists) {
- QCOMPARE(errors.count(), 0);
- } else {
- QCOMPARE(errors.count(), 1);
- QString expected = QString("module \"QtSensors\" version %1 is not installed").arg(version);
- QString actual = errors.first().description();
- QCOMPARE(expected, actual);
- }
- }
-
- void elements_data()
- {
- QTest::addColumn<QString>("version");
- QTest::addColumn<QString>("element");
- QTest::addColumn<bool>("exists");
-
- QTest::newRow("5.0 Range") << "5.0" << "Range" << false;
- QTest::newRow("5.0 OutputRange") << "5.0" << "OutputRange" << false;
- QTest::newRow("5.0 Sensor") << "5.0" << "Sensor" << false;
- QTest::newRow("5.0 SensorReading") << "5.0" << "SensorReading" << false;
- QTest::newRow("5.0 Accelerometer") << "5.0" << "Accelerometer" << true;
- QTest::newRow("5.0 AccelerometerReading") << "5.0" << "AccelerometerReading" << false;
- QTest::newRow("5.0 AmbientLightSensor") << "5.0" << "AmbientLightSensor" << true;
- QTest::newRow("5.0 AmbientLightReading") << "5.0" << "AmbientLightReading" << false;
- QTest::newRow("5.0 Compass") << "5.0" << "Compass" << true;
- QTest::newRow("5.0 CompassReading") << "5.0" << "CompassReading" << false;
- QTest::newRow("5.0 Magnetometer") << "5.0" << "Magnetometer" << true;
- QTest::newRow("5.0 MagnetometerReading") << "5.0" << "MagnetometerReading" << false;
- QTest::newRow("5.0 OrientationSensor") << "5.0" << "OrientationSensor" << true;
- QTest::newRow("5.0 OrientationReading") << "5.0" << "OrientationReading" << false;
- QTest::newRow("5.0 ProximitySensor") << "5.0" << "ProximitySensor" << true;
- QTest::newRow("5.0 ProximityReading") << "5.0" << "ProximityReading" << false;
- QTest::newRow("5.0 RotationSensor") << "5.0" << "RotationSensor" << true;
- QTest::newRow("5.0 RotationReading") << "5.0" << "RotationReading" << false;
- QTest::newRow("5.0 TapSensor") << "5.0" << "TapSensor" << true;
- QTest::newRow("5.0 TapReading") << "5.0" << "TapReading" << false;
- QTest::newRow("5.0 LightSensor") << "5.0" << "LightSensor" << true;
- QTest::newRow("5.0 LightReading") << "5.0" << "LightReading" << false;
- QTest::newRow("5.0 Gyroscope") << "5.0" << "Gyroscope" << true;
- QTest::newRow("5.0 GyroscopeReading") << "5.0" << "GyroscopeReading" << false;
- QTest::newRow("5.0 IRProximitySensor") << "5.0" << "IRProximitySensor" << true;
- QTest::newRow("5.0 IRProximityReading") << "5.0" << "IRProximityReading" << false;
- QTest::newRow("5.0 TiltSensor") << "5.0" << "TiltSensor" << true;
- QTest::newRow("5.0 TiltReading") << "5.0" << "TiltReading" << false;
-
- QTest::newRow("5.0 SensorGesture") << "5.0" << "SensorGesture" << true;
- }
-
- void elements()
- {
- QFETCH(QString, version);
- QFETCH(QString, element);
- QFETCH(bool, exists);
-
- QQmlEngine engine;
- QString qml = QString("import QtQuick 2.0\nimport QtSensors %1\n%2 {}").arg(version).arg(element);
- QQmlComponent c(&engine);
- c.setData(qml.toLocal8Bit(), QUrl::fromLocalFile(QDir::currentPath()));
- if (!exists)
- QTest::ignoreMessage(QtWarningMsg, "QQmlComponent: Component is not ready");
- QObject *obj = c.create();
- QCOMPARE(exists, (obj != 0));
- delete obj;
- QList<QQmlError> errors = c.errors();
- if (exists) {
- QCOMPARE(errors.count(), 0);
- } else {
- QCOMPARE(errors.count(), 1);
- QString expected = QString("Cannot create %1").arg(element);
- QString actual = errors.first().description();
- QCOMPARE(expected, actual);
- }
- }
-
- void alwaysOn_data()
- {
- QTest::addColumn<QString>("version");
- QTest::addColumn<QString>("element");
- QTest::addColumn<bool>("validSyntax");
-
- QTest::newRow("5.0 Accelerometer") << "5.0" << "Accelerometer" << true;
- QTest::newRow("5.0 AmbientLightSensor") << "5.0" << "AmbientLightSensor" << true;
- QTest::newRow("5.0 Compass") << "5.0" << "Compass" << true;
- QTest::newRow("5.0 Magnetometer") << "5.0" << "Magnetometer" << true;
- QTest::newRow("5.0 OrientationSensor") << "5.0" << "OrientationSensor" << true;
- QTest::newRow("5.0 ProximitySensor") << "5.0" << "ProximitySensor" << true;
- QTest::newRow("5.0 RotationSensor") << "5.0" << "RotationSensor" << true;
- QTest::newRow("5.0 TapSensor") << "5.0" << "TapSensor" << true;
- QTest::newRow("5.0 LightSensor") << "5.0" << "LightSensor" << true;
- QTest::newRow("5.0 Gyroscope") << "5.0" << "Gyroscope" << true;
- QTest::newRow("5.0 IRProximitySensor") << "5.0" << "IRProximitySensor" << true;
- QTest::newRow("5.0 TiltSensor") << "5.0" << "TiltSensor" << true;
- }
-
- void alwaysOn()
- {
- QFETCH(QString, version);
- QFETCH(QString, element);
- QFETCH(bool, validSyntax);
-
- QQmlEngine engine;
- QString qml = QString("import QtQuick 2.0\nimport QtSensors %1\n%2 {\nalwaysOn: true\n}").arg(version).arg(element);
- QQmlComponent c(&engine);
- if (!validSyntax)
- QTest::ignoreMessage(QtWarningMsg, "QQmlComponent: Component is not ready");
- c.setData(qml.toLocal8Bit(), QUrl::fromLocalFile(QDir::currentPath()));
- QObject *obj = c.create();
- if (validSyntax) {
- QVERIFY(obj);
- QVariant alwaysOn = obj->property("alwaysOn");
- QCOMPARE(alwaysOn.isValid(), true);
- QCOMPARE(alwaysOn.toBool(), true);
- delete obj;
- } else {
- QCOMPARE(obj, static_cast<QObject*>(0));
- }
- }
-
- void namespace_api_data()
- {
- QTest::addColumn<QString>("qmlcode");
- QTest::addColumn<QVariant>("expected");
-
- QVariant expected;
- QStringList sl;
- foreach (const QByteArray &type, QSensor::sensorTypes()) {
- sl << QString::fromLocal8Bit(type);
- qDebug() << type;
- }
- expected = sl;
- QTest::newRow("Sensors.sensorTypes()")
- << "Item {\n"
- "property var result\n"
- "Component.onCompleted: {\n"
- "result = Sensors.sensorTypes();\n"
- "}\n"
- "}"
- << expected;
-
- foreach (const QByteArray &type, QSensor::sensorTypes()) {
- sl.clear();
- foreach (const QByteArray &identifier, QSensor::sensorsForType(type)) {
- sl << QString::fromLocal8Bit(identifier);
- }
- expected = sl;
- QTest::newRow(QString("Sensors.sensorsForType(\"%1\")").arg(QString::fromLocal8Bit(type)).toLocal8Bit().constData())
- << QString(
- "Item {\n"
- "property var result\n"
- "Component.onCompleted: {\n"
- "result = Sensors.sensorsForType(\"%1\");\n"
- "}\n"
- "}").arg(QString::fromLocal8Bit(type))
- << expected;
-
- expected = QString::fromLocal8Bit(QSensor::defaultSensorForType(type));
- QTest::newRow(QString("Sensors.defaultSensorForType(\"%1\")").arg(QString::fromLocal8Bit(type)).toLocal8Bit().constData())
- << QString(
- "Item {\n"
- "property var result\n"
- "Component.onCompleted: {\n"
- "result = Sensors.defaultSensorForType(\"%1\");\n"
- "}\n"
- "}").arg(QString::fromLocal8Bit(type))
- << expected;
- }
- }
-
- void namespace_api()
- {
- QFETCH(QString, qmlcode);
- QFETCH(QVariant, expected);
-
- QQmlEngine engine;
- QString qml = QString("import QtQuick 2.0\nimport QtSensors 5.0 as Sensors\n%1").arg(qmlcode);
- QQmlComponent c(&engine);
- c.setData(qml.toLocal8Bit(), QUrl::fromLocalFile(QDir::currentPath()));
- QObject *obj = c.create();
- QVERIFY(obj);
- QVariant result = obj->property("result");
- QCOMPARE(expected, result);
- delete obj;
- }
-
-};
-
-QTEST_MAIN(tst_legacy_sensors)
-
-#include "tst_legacy_sensors.moc"
diff --git a/tests/auto/legacy_sensors_qml/tst_qsensor.qml b/tests/auto/legacy_sensors_qml/tst_qsensor.qml
deleted file mode 100644
index 186f6a18..00000000
--- a/tests/auto/legacy_sensors_qml/tst_qsensor.qml
+++ /dev/null
@@ -1,192 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import QtTest 1.0
-import QtSensors 5.0 as Sensors
-import TestHelper 1.0
-
-TestCase {
- id: test
- name: "tst_qsensor"
-
- TestHelper {
- id: helper
- }
-
- Component {
- id: cTestSensor
- TestSensor{}
- }
-
- function initTestCase() {}
-
- function cleanupTestCase() {}
-
- function init() {}
-
- function cleanup() {}
-
- function sortlist(list)
- {
- var array = new Array();
- for (var ii in list)
- array.push(list[ii]);
- array.sort();
- return array;
- }
-
- function test_001_TypeRegistered()
- {
- var expected = [ "test sensor", "test sensor 2" ];
- var actual = Sensors.sensorTypes();
- // FIXME .sort() is broken!
- actual = sortlist(actual); // The actual list is not in a defined order
- compare(actual, expected);
- }
-
- function test_002_SensorRegistered()
- {
- var expected = [ "test sensor 2", "test sensor 3", "test sensor impl" ];
- var actual = Sensors.sensorsForType("test sensor");
- // FIXME .sort() is broken!
- actual = sortlist(actual); // The actual list is not in a defined order
- compare(actual, expected);
- }
-
- function test_003_SensorDefault()
- {
- var expected = "test sensor impl";
- var actual = Sensors.defaultSensorForType("test sensor");
- compare(actual, expected);
- }
-
- function test_004_NoSensorsForType()
- {
- var expected = [];
- var actual = Sensors.sensorsForType("bogus type");
- compare(actual, expected);
- }
-
- function test_005_NoDefaultForType()
- {
- var expected = "";
- var actual = Sensors.defaultSensorForType("bogus type");
- compare(actual, expected);
- }
-
- function test_006_Creation()
- {
- var sensor = cTestSensor.createObject();
- compare(sensor.connectedToBackend, true);
- var expected = "test sensor impl";
- var actual = sensor.sensorid;
- compare(actual, expected);
- sensor.destroy();
- }
-
- function test_008_Timestamp()
- {
- var sensor = cTestSensor.createObject();
- compare(sensor.connectedToBackend, true);
- var timestamp = sensor.reading.timestamp;
- compare(timestamp, 0);
- sensor.doThis = "setOne";
- sensor.start();
- timestamp = sensor.reading.timestamp;
- compare(timestamp, 1);
- sensor.destroy();
- }
-
- function test_009_Start()
- {
- var sensor = cTestSensor.createObject();
- sensor.start();
- compare(sensor.active, true);
- sensor.start();
- compare(sensor.active, true);
- sensor.destroy();
- }
-
- function test_010_Stop()
- {
- var sensor = cTestSensor.createObject();
- sensor.stop();
- compare(sensor.active, false);
- sensor.start();
- compare(sensor.active, true);
- sensor.stop();
- compare(sensor.active, false);
- sensor.destroy();
- }
-
- function test_011_Start2()
- {
- var sensor = cTestSensor.createObject();
-
- sensor.doThis = "stop";
- sensor.start();
- compare(sensor.active, false);
- sensor.stop();
-
- sensor.doThis = "error";
- sensor.start();
- compare(sensor.error, 1);
- // Yes, this is non-intuitive but the sensor
- // decides if an error is fatal or not.
- // In this case our test sensor is reporting a
- // non-fatal error so the sensor will start.
- compare(sensor.active, true);
- sensor.stop();
-
- sensor.doThis = "setOne";
- sensor.start();
- compare(sensor.reading.timestamp, 1);
- sensor.stop();
-
- sensor.doThis = "setTwo";
- sensor.start();
- compare(sensor.reading.timestamp, 2);
- sensor.stop();
- sensor.destroy();
- }
-
- function test_012_SetBadDataRate()
- {
- var sensor = cTestSensor.createObject();
-
- ignoreWarning("setDataRate: 1 is not supported by the sensor. ");
- sensor.dataRate = 1;
- compare(sensor.dataRate, 0);
-
- ignoreWarning("setDataRate: 1000 is not supported by the sensor. ");
- sensor.dataRate = 1000;
- compare(sensor.dataRate, 0);
- sensor.destroy();
- }
-}
diff --git a/tests/auto/qml/CMakeLists.txt b/tests/auto/qml/CMakeLists.txt
new file mode 100644
index 00000000..142c1228
--- /dev/null
+++ b/tests/auto/qml/CMakeLists.txt
@@ -0,0 +1,2 @@
+add_subdirectory(qml_cpp)
+add_subdirectory(qml_quick)
diff --git a/tests/auto/qml/qml_cpp/CMakeLists.txt b/tests/auto/qml/qml_cpp/CMakeLists.txt
new file mode 100644
index 00000000..917dcc49
--- /dev/null
+++ b/tests/auto/qml/qml_cpp/CMakeLists.txt
@@ -0,0 +1,13 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+qt_internal_add_test(tst_sensors_qmlcpp
+ SOURCES
+ ../../common/test_backends.cpp ../../common/test_backends.h
+ tst_sensors_qmlcpp.cpp
+ LIBRARIES
+ Qt::Qml
+ Qt::SensorsPrivate
+ Qt::SensorsQuickPrivate
+ Qt::TestPrivate
+)
diff --git a/tests/auto/qml/qml_cpp/tst_sensors_qmlcpp.cpp b/tests/auto/qml/qml_cpp/tst_sensors_qmlcpp.cpp
new file mode 100644
index 00000000..32d82348
--- /dev/null
+++ b/tests/auto/qml/qml_cpp/tst_sensors_qmlcpp.cpp
@@ -0,0 +1,278 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtTest/QtTest>
+#include <QtTest/QSignalSpy>
+#include <QtCore/QDebug>
+
+#include <QtTest/private/qpropertytesthelper_p.h>
+#include <QtSensorsQuick/private/qmlsensor_p.h>
+#include <qsensorbackend.h>
+#include "qsensormanager.h"
+
+#include "../../common/test_backends.h"
+#include <QtSensorsQuick/private/qmlaccelerometer_p.h>
+#include <QtSensorsQuick/private/qmlpressuresensor_p.h>
+#include <QtSensorsQuick/private/qmlgyroscope_p.h>
+#include <QtSensorsQuick/private/qmltapsensor_p.h>
+#include <QtSensorsQuick/private/qmlcompass_p.h>
+#include <QtSensorsQuick/private/qmlproximitysensor_p.h>
+#include <QtSensorsQuick/private/qmlorientationsensor_p.h>
+#include <QtSensorsQuick/private/qmlambientlightsensor_p.h>
+#include <QtSensorsQuick/private/qmlmagnetometer_p.h>
+#include <QtSensorsQuick/private/qmllidsensor_p.h>
+#include <QtSensorsQuick/private/qmltiltsensor_p.h>
+#include <QtSensorsQuick/private/qmlrotationsensor_p.h>
+#include <QtSensorsQuick/private/qmlhumiditysensor_p.h>
+#include <QtSensorsQuick/private/qmlambienttemperaturesensor_p.h>
+#include <QtSensorsQuick/private/qmllightsensor_p.h>
+#include <QtSensorsQuick/private/qmlirproximitysensor_p.h>
+
+QT_USE_NAMESPACE
+
+QT_BEGIN_NAMESPACE
+
+class tst_sensors_qmlcpp : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void initTestCase();
+ void testReadingBindings();
+ // void testGesture();
+ void testSensorRanges();
+};
+
+void tst_sensors_qmlcpp::initTestCase()
+{
+ qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
+}
+
+template<typename SensorClass, typename ReadingClass, typename ValueType>
+void testSensorReadings(const char* identifier, const QVariantMap& values)
+{
+ SensorClass sensor;
+ sensor.setIdentifier(identifier);
+ sensor.componentComplete();
+ sensor.start();
+
+ for (const auto& key : values.keys()) {
+ ValueType initialValue = values[key].toList()[0].value<ValueType>();
+ ValueType changedValue = values[key].toList()[1].value<ValueType>();
+ QTestPrivate::testReadOnlyPropertyBasics<ReadingClass, ValueType>(
+ *static_cast<ReadingClass*>(sensor.reading()),
+ initialValue, changedValue, key.toStdString().c_str(),
+ [&](){ set_test_backend_reading(sensor.sensor(), {{key, changedValue}}); });
+ if (QTest::currentTestFailed()) {
+ qWarning() << identifier << "::" << key << "test failed.";
+ return;
+ }
+ }
+}
+
+void tst_sensors_qmlcpp::testReadingBindings()
+{
+ register_test_backends();
+
+ testSensorReadings<QmlAccelerometer, QmlAccelerometerReading, qreal>(
+ "QAccelerometer",
+ {{"x", QVariantList{1.0, 2.0}},
+ {"y", QVariantList{1.0, 2.0}},
+ {"z", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlAccelerometer, QmlAccelerometerReading, quint64>(
+ "QAccelerometer",
+ {{"timestamp", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlAmbientLightSensor, QmlAmbientLightSensorReading, QAmbientLightReading::LightLevel>(
+ "QAmbientLightSensor",
+ {{"lightLevel", QVariantList{QAmbientLightReading::Twilight, QAmbientLightReading::Sunny}}});
+ testSensorReadings<QmlPressureSensor, QmlPressureReading, qreal>(
+ "QPressureSensor",
+ {{"pressure", QVariantList{1.0, 2.0}},
+ {"temperature", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlGyroscope, QmlGyroscopeReading, qreal>(
+ "QGyroscope",
+ {{"x", QVariantList{1.0, 2.0}},
+ {"y", QVariantList{1.0, 2.0}},
+ {"z", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlTapSensor, QmlTapSensorReading, bool>(
+ "QTapSensor",
+ {{"doubleTap", QVariantList{true, false}}});
+ testSensorReadings<QmlTapSensor, QmlTapSensorReading, QTapReading::TapDirection>(
+ "QTapSensor",
+ {{"tapDirection", QVariantList{QTapReading::Z_Both, QTapReading::X_Both}}});
+ testSensorReadings<QmlCompass, QmlCompassReading, qreal>(
+ "QCompass",
+ {{"azimuth", QVariantList{1.0, 2.0}},
+ {"calibrationLevel", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlProximitySensor, QmlProximitySensorReading, bool>(
+ "QProximitySensor",
+ {{"near", QVariantList{true, false}}});
+ testSensorReadings<QmlOrientationSensor, QmlOrientationSensorReading, QOrientationReading::Orientation>(
+ "QOrientationSensor",
+ {{"orientation", QVariantList{QOrientationReading::LeftUp, QOrientationReading::RightUp}}});
+ testSensorReadings<QmlMagnetometer, QmlMagnetometerReading, qreal>(
+ "QMagnetometer",
+ {{"x", QVariantList{1.0, 2.0}},
+ {"y", QVariantList{1.0, 2.0}},
+ {"z", QVariantList{1.0, 2.0}},
+ {"calibrationLevel", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlLidSensor, QmlLidReading, bool>(
+ "QLidSensor",
+ {{"backLidClosed", QVariantList{true, false}},
+ {"frontLidClosed", QVariantList{true, false}}});
+ testSensorReadings<QmlTiltSensor, QmlTiltSensorReading, qreal>(
+ "QTiltSensor",
+ {{"yRotation", QVariantList{1.0, 2.0}},
+ {"xRotation", QVariantList{1.0, 2.0}}});
+ // rotation sensor properties need to be tested separately because the setter function is
+ // not symmetric with getter functions ("setFromEuler()" vs. "x() & y() & z()")
+ testSensorReadings<QmlRotationSensor, QmlRotationSensorReading, qreal>(
+ "QRotationSensor",
+ {{"x", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlRotationSensor, QmlRotationSensorReading, qreal>(
+ "QRotationSensor",
+ {{"y", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlRotationSensor, QmlRotationSensorReading, qreal>(
+ "QRotationSensor",
+ {{"z", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlHumiditySensor, QmlHumidityReading, qreal>(
+ "QHumiditySensor",
+ {{"relativeHumidity", QVariantList{1.0, 2.0}},
+ {"absoluteHumidity", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlAmbientTemperatureSensor, QmlAmbientTemperatureReading, qreal>(
+ "QAmbientTemperatureSensor",
+ {{"temperature", QVariantList{30.0, 40.0}}});
+ testSensorReadings<QmlLightSensor, QmlLightSensorReading, qreal>(
+ "QLightSensor",
+ {{"illuminance", QVariantList{1.0, 2.0}}});
+ testSensorReadings<QmlIRProximitySensor, QmlIRProximitySensorReading, qreal>(
+ "QIRProximitySensor",
+ {{"reflectance", QVariantList{0.5, 0.6}}});
+
+ // The following tests QmlSensor (the baseclass) 'readingChanged' which is
+ // emitted every time a sensor value changes. For that we instantiate a
+ // concrete sensor. The actual 'reading' value (a QObject pointer) of the
+ // 'readingChanged' property will not change, but rather the
+ // 'readingChanged' is used to indicate that the value it contains has changed.
+ QmlAccelerometer accelerometer;
+ accelerometer.setIdentifier("QAccelerometer");
+ accelerometer.componentComplete();
+ accelerometer.start();
+ QTestPrivate::testReadOnlyPropertyBasics<QmlSensor, QmlSensorReading*>(
+ accelerometer, accelerometer.reading(), accelerometer.reading(), "reading",
+ [&](){ set_test_backend_reading(accelerometer.sensor(), {{"x", 2.0}}); });
+
+ unregister_test_backends();
+}
+
+class QDummySensorBackend : public QSensorBackend
+{
+ Q_OBJECT
+public:
+ QDummySensorBackend(QSensor *sensor) : QSensorBackend(sensor)
+ {
+ addDataRate(2, 3);
+ addDataRate(5, 7);
+ addOutputRange(100, 200, 1);
+ addOutputRange(600, 700, 10);
+ addOutputRange(0, 1, 2);
+ }
+
+ void start() override {}
+ void stop() override {}
+};
+
+class QDummySensorReading : public QSensorReading
+{
+ Q_OBJECT
+public:
+ QDummySensorReading(QObject *parent) : QSensorReading(parent, nullptr) {}
+};
+
+class QmlDummySensorReading : public QmlSensorReading
+{
+ Q_OBJECT
+public:
+ QmlDummySensorReading() :
+ m_reading(new QDummySensorReading(this))
+ {}
+
+ QSensorReading *reading() const override { return m_reading; }
+ void readingUpdate() override {}
+
+private:
+ QSensorReading *m_reading = nullptr;
+};
+
+class QmlDummySensor : public QmlSensor
+{
+ Q_OBJECT
+public:
+ QmlDummySensor(QObject *parent = nullptr) :
+ QmlSensor(parent),
+ m_sensor(new QSensor("dummy", this))
+ {
+ QDummySensorBackend b(m_sensor);
+ Q_UNUSED(b);
+ }
+
+ QSensor *sensor() const override { return m_sensor; }
+ QmlSensorReading *createReading() const override { return new QmlDummySensorReading(); }
+
+ void componentComplete() override { QmlSensor::componentComplete(); }
+
+private:
+ QSensor *m_sensor = nullptr;
+};
+
+void tst_sensors_qmlcpp::testSensorRanges()
+{
+ QScopedPointer<QmlDummySensor> qmlSensor(new QmlDummySensor);
+ qmlSensor->componentComplete();
+
+ auto ranges = qmlSensor->availableDataRates();
+ QCOMPARE(ranges.count(&ranges), 2);
+
+ const auto range0 = ranges.at(&ranges, 0);
+ QCOMPARE(range0->minimum(), 2);
+ QCOMPARE(range0->maximum(), 3);
+ QSignalSpy range0Spy(range0, SIGNAL(destroyed()));
+
+ const auto range1 = ranges.at(&ranges, 1);
+ QCOMPARE(range1->minimum(), 5);
+ QCOMPARE(range1->maximum(), 7);
+ QSignalSpy range1Spy(range1, SIGNAL(destroyed()));
+
+ auto outputs = qmlSensor->outputRanges();
+ QCOMPARE(outputs.count(&outputs), 3);
+
+ const auto output0 = outputs.at(&outputs, 0);
+ QCOMPARE(output0->minimum(), 100);
+ QCOMPARE(output0->maximum(), 200);
+ QCOMPARE(output0->accuracy(), 1);
+ QSignalSpy output0Spy(output0, SIGNAL(destroyed()));
+
+ const auto output1 = outputs.at(&outputs, 1);
+ QCOMPARE(output1->minimum(), 600);
+ QCOMPARE(output1->maximum(), 700);
+ QCOMPARE(output1->accuracy(), 10);
+ QSignalSpy output1Spy(output1, SIGNAL(destroyed()));
+
+ const auto output2 = outputs.at(&outputs, 2);
+ QCOMPARE(output2->minimum(), 0);
+ QCOMPARE(output2->maximum(), 1);
+ QCOMPARE(output2->accuracy(), 2);
+ QSignalSpy output2Spy(output2, SIGNAL(destroyed()));
+
+ qmlSensor.reset();
+ QCOMPARE(range0Spy.size(), 1);
+ QCOMPARE(range1Spy.size(), 1);
+ QCOMPARE(output0Spy.size(), 1);
+ QCOMPARE(output1Spy.size(), 1);
+ QCOMPARE(output2Spy.size(), 1);
+}
+
+QT_END_NAMESPACE
+
+QTEST_MAIN(tst_sensors_qmlcpp)
+#include "tst_sensors_qmlcpp.moc"
diff --git a/tests/auto/qml/qml_quick/CMakeLists.txt b/tests/auto/qml/qml_quick/CMakeLists.txt
new file mode 100644
index 00000000..8472a278
--- /dev/null
+++ b/tests/auto/qml/qml_quick/CMakeLists.txt
@@ -0,0 +1,20 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+# Collect test data
+file(GLOB_RECURSE test_data_glob
+ RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
+ ${CMAKE_CURRENT_SOURCE_DIR}/tst_*qml)
+list(APPEND test_data ${test_data_glob})
+
+qt_internal_add_test(tst_sensors_qmlquick
+ QMLTEST
+ SOURCES
+ ../../common/test_backends.cpp ../../common/test_backends.h
+ tst_sensors_qmlquick.cpp
+ LIBRARIES
+ Qt::Quick
+ Qt::Sensors
+ Qt::SensorsQuickPrivate
+ TESTDATA ${test_data}
+)
diff --git a/tests/auto/qml/qml_quick/tst_sensors_basic.qml b/tests/auto/qml/qml_quick/tst_sensors_basic.qml
new file mode 100644
index 00000000..bcb21232
--- /dev/null
+++ b/tests/auto/qml/qml_quick/tst_sensors_basic.qml
@@ -0,0 +1,226 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtTest
+import QtSensors
+
+TestCase {
+ id: testCase
+ name: "SensorTest"
+
+ SignalSpy {
+ id: sensorActiveSpy
+ signalName: "activeChanged"
+ }
+
+ SignalSpy {
+ id: sensorReadingSpy
+ signalName: "readingChanged"
+ }
+
+ SignalSpy {
+ id: sensorBusySpy
+ signalName: "busyChanged"
+ }
+
+ SignalSpy {
+ id: sensorIdentifierSpy
+ signalName: "identifierChanged"
+ }
+
+ function init() {
+ TestControl.registerTestBackends()
+ }
+
+ function cleanup() {
+ TestControl.unregisterTestBackends()
+ sensorBusySpy.clear()
+ sensorActiveSpy.clear()
+ sensorReadingSpy.clear()
+ sensorIdentifierSpy.clear()
+ }
+
+ function test_activate() {
+
+ // create sensor without proper identifier and verify activation fails
+ var sensor = Qt.createQmlObject("import QtSensors; Accelerometer {identifier: \"nonexistent\"}",testCase);
+ sensorActiveSpy.target = sensor
+ sensorIdentifierSpy.target = sensor
+ verify(!sensor.active)
+ compare(sensor.identifier, "nonexistent")
+ sensor.active = true
+ verify(!sensor.active)
+ compare(sensorActiveSpy.count, 0)
+
+ // set proper identifier and verify activation succeeds
+ sensor.identifier = "QAccelerometer"
+ compare(sensor.identifier, "QAccelerometer")
+ compare(sensorIdentifierSpy.count, 1)
+ sensor.active = true
+ compare(sensorActiveSpy.count, 1)
+ verify(sensor.active)
+ compare(sensor.reading.x, 1.0)
+
+ // set identifier again, verify no impact
+ sensor.identifier = "QAccelerometer"
+ compare(sensor.identifier, "QAccelerometer")
+ compare(sensorIdentifierSpy.count, 1)
+
+ // set activate again, verify no impact
+ sensor.active = true
+ sensor.start()
+ compare(sensorActiveSpy.count, 1)
+ verify(sensor.active)
+
+ // deactivate
+ sensor.active = false
+ compare(sensorActiveSpy.count, 2)
+ verify(!sensor.active)
+
+ // reactivate and stop
+ sensor.active = true
+ compare(sensorActiveSpy.count, 3)
+ verify(sensor.active)
+ sensor.stop()
+ compare(sensorActiveSpy.count, 4)
+ verify(!sensor.active)
+
+ // create sensor with proper id and active 'true' on creation time
+ var sensor2 = Qt.createQmlObject("import QtSensors; Accelerometer {identifier: \"QAccelerometer\"; active: true}", testCase);
+ verify(sensor2.active)
+
+ // create sensor with nonexistent id and active 'true' on creation time
+ var sensor3 = Qt.createQmlObject("import QtSensors; Accelerometer {identifier: \"nonexistent\"; active: true}", testCase);
+ verify(!sensor3.active)
+ sensor3.identifier = "QAccelerometer"
+ sensor3.start()
+ verify(sensor3.active)
+
+ // create sensor with empty id, and check that a default is used
+ var sensor4 = Qt.createQmlObject("import QtSensors; Accelerometer {active: true}", testCase);
+ verify(sensor4.active)
+ compare(sensor4.identifier, QmlSensors.defaultSensorForType("QAccelerometer"));
+
+ // same as previous but with delayed activation
+ var sensor5 = Qt.createQmlObject("import QtSensors; Accelerometer {}", testCase);
+ verify(!sensor5.active)
+ sensor5.active = true
+ verify(sensor5.active)
+ compare(sensor5.identifier, QmlSensors.defaultSensorForType("QAccelerometer"));
+
+ // tidy up
+ sensor.destroy()
+ sensor2.destroy()
+ sensor3.destroy()
+ sensor4.destroy()
+ sensor5.destroy()
+ }
+
+ function test_busy() {
+ var sensor = Qt.createQmlObject("import QtSensors; Accelerometer {identifier: \"QAccelerometer\"}", testCase);
+ sensorBusySpy.target = sensor
+ compare(sensor.busy, false)
+ verify(sensor.start())
+
+ // set sensor busy and verify 'busy' property and its signaling
+ TestControl.setSensorBusy(sensor, true)
+ compare(sensorBusySpy.count, 1)
+ TestControl.setSensorBusy(sensor, false)
+ compare(sensorBusySpy.count, 2)
+ TestControl.setSensorBusy(sensor, false)
+ compare(sensorBusySpy.count, 2)
+
+ // tidy up
+ sensor.destroy()
+ }
+
+ function test_reading(data) {
+
+ var sensor = Qt.createQmlObject(
+ "import QtSensors; "
+ + data.tag + "{"
+ + "identifier: " + "\"Q" + data.tag + "\""
+ + "}"
+ ,testCase)
+ sensorActiveSpy.target = sensor
+ sensorReadingSpy.target = sensor
+
+ // verify initial values of sensor
+ // note: 'reading' values are 'undefined by design' before activation, and therefore aren't tested
+ compare(sensor.type, "Q" + data.tag)
+ compare(sensor.active, false)
+ compare(sensor.alwaysOn, false )
+ compare(sensor.busy, false)
+ compare(sensor.description, "")
+ compare(sensor.error, 0)
+ compare(sensor.skipDuplicates, false)
+
+ // start the sensor and verify activation
+ sensor.start()
+ compare(sensor.active, true)
+ compare(sensorActiveSpy.count, 1)
+ compare(sensorReadingSpy.count, 1)
+
+ // verify the initial reading values
+ for (var prop in data.initialReading)
+ fuzzyCompare(sensor.reading[prop], data.initialReading[prop], 0.0001, data.tag + "::" + prop)
+
+ // change reading values and verify them
+ TestControl.setSensorReading(sensor, data.newReading)
+ compare(sensorReadingSpy.count, 2)
+ for (prop in data.newReading)
+ fuzzyCompare(sensor.reading[prop], data.newReading[prop], 0.0001, data.tag + "::" + prop)
+
+ // stop the sensor and verify deactivation
+ sensor.stop()
+ compare(sensor.active, false)
+ compare(sensorActiveSpy.count, 2)
+ compare(sensorReadingSpy.count, 2)
+
+ // tidy up
+ sensor.destroy()
+ }
+
+ function test_reading_data() {
+ return [
+ {tag: "Accelerometer", initialReading: {timestamp: 1, x: 1.0, y: 1.0, z: 1.0}, newReading: {timestamp: 2, x: 2.0, y: 3.0, z: 4.0}},
+ {tag: "PressureSensor", initialReading: {pressure: 1.0, temperature: 1.0}, newReading: {pressure: 2.0, temperature: 3.0}},
+ {tag: "Gyroscope", initialReading: {x : 1.0, y: 1.0, z: 1.0}, newReading: {x : 2.0, y: 3.0, z: 4.0}},
+ {tag: "TapSensor", initialReading: {doubleTap: true, tapDirection: TapReading.Z_Both}, newReading: {doubleTap: false, tapDirection: TapReading.X_Both}},
+ {tag: "Compass", initialReading: {azimuth: 1.0, calibrationLevel: 1.0}, newReading: {azimuth: 2.0, calibrationLevel: 3.0}},
+ {tag: "ProximitySensor", initialReading: {near: true}, newReading: {near: false}},
+ {tag: "OrientationSensor", initialReading: {orientation: OrientationReading.LeftUp}, newReading: {orientation: OrientationReading.RightUp}},
+ {tag: "AmbientLightSensor", initialReading: {lightLevel: AmbientLightReading.Twilight}, newReading: {lightLevel: AmbientLightReading.Sunny}},
+ {tag: "Magnetometer", initialReading: {x : 1.0, y: 1.0, z: 1.0, calibrationLevel: 1.0}, newReading: {x : 2.0, y: 3.0, z: 4.0, calibrationLevel: 5.0}},
+ {tag: "LidSensor", initialReading: {backLidClosed:true, frontLidClosed: true}, newReading: {backLidClosed:false, frontLidClosed: false}},
+ {tag: "TiltSensor", initialReading: {yRotation: 1.0, xRotation: 1.0}, newReading: {yRotation: 2.0, xRotation: 3.0}},
+ {tag: "RotationSensor", initialReading: {x: 1.0, y: 1.0, z: 1.0}, newReading: {x: 2.0, y: 3.0, z: 4.0}},
+ {tag: "HumiditySensor", initialReading: {relativeHumidity: 1.0, absoluteHumidity: 1.0}, newReading: {relativeHumidity: 2.0, absoluteHumidity: 3.0}},
+ {tag: "AmbientTemperatureSensor", initialReading: {temperature: 30.0}, newReading: {temperature: 40.0}},
+ {tag: "LightSensor", initialReading: {illuminance: 1.0}, newReading: {illuminance: 2.0}},
+ {tag: "IRProximitySensor", initialReading: {reflectance: 0.5}, newReading: {reflectance: 0.6}}
+ ];
+ }
+
+ function test_SupportedFeatures()
+ {
+ var sensor = Qt.createQmlObject("import QtSensors; Accelerometer \
+ {identifier: \"QAccelerometer\"}",
+ testCase);
+ verify(sensor.start())
+ verify(sensor.connectedToBackend)
+
+ // According to isFeatureSupported() override implementation in test_backends.h,
+ // only SkipDuplicates should be supported afterwards
+ verify(!sensor.isFeatureSupported(Sensor.Buffering))
+ verify(!sensor.isFeatureSupported(Sensor.AlwaysOn))
+ verify(!sensor.isFeatureSupported(Sensor.GeoValues))
+ verify(!sensor.isFeatureSupported(Sensor.FieldOfView))
+ verify(!sensor.isFeatureSupported(Sensor.AccelerationMode))
+ verify(sensor.isFeatureSupported(Sensor.SkipDuplicates))
+ verify(!sensor.isFeatureSupported(Sensor.AxesOrientation))
+ verify(!sensor.isFeatureSupported(Sensor.PressureSensorTemperature))
+
+ sensor.destroy()
+ }
+}
diff --git a/tests/auto/qml/qml_quick/tst_sensors_qmlquick.cpp b/tests/auto/qml/qml_quick/tst_sensors_qmlquick.cpp
new file mode 100644
index 00000000..08bba9a5
--- /dev/null
+++ b/tests/auto/qml/qml_quick/tst_sensors_qmlquick.cpp
@@ -0,0 +1,41 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtQuickTest>
+#include <QtQml/QQmlEngine>
+#include <QtQml/QQmlContext>
+#include <QtSensorsQuick/private/qmlsensor_p.h>
+#include "../../common/test_backends.h"
+
+class TestSetup : public QObject
+{
+ Q_OBJECT
+
+public:
+ TestSetup() {}
+
+public slots:
+ void qmlEngineAvailable(QQmlEngine *engine) {
+ engine->rootContext()->setContextProperty("TestControl", this);
+ }
+
+ void registerTestBackends() {
+ register_test_backends();
+ }
+
+ void unregisterTestBackends() {
+ unregister_test_backends();
+ }
+
+ void setSensorReading(const QmlSensor* qmlSensor, const QVariantMap& values) {
+ set_test_backend_reading(qmlSensor->sensor(), values);
+ }
+
+ void setSensorBusy(const QmlSensor* qmlSensor, bool busy) {
+ set_test_backend_busy(qmlSensor->sensor(), busy);
+ }
+};
+
+QUICK_TEST_MAIN_WITH_SETUP(tst_sensors_qmlquick, TestSetup)
+
+#include "tst_sensors_qmlquick.moc"
diff --git a/tests/auto/qsensor/CMakeLists.txt b/tests/auto/qsensor/CMakeLists.txt
new file mode 100644
index 00000000..43f0d054
--- /dev/null
+++ b/tests/auto/qsensor/CMakeLists.txt
@@ -0,0 +1,22 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## tst_qsensor Test:
+#####################################################################
+
+qt_internal_add_test(tst_qsensor
+ SOURCES
+ ../common/test_backends.cpp ../common/test_backends.h
+ test_sensor.cpp test_sensor.h test_sensor_p.h
+ test_sensor2.cpp test_sensor2.h test_sensor2_p.h
+ test_sensor2impl.cpp test_sensor2impl.h
+ test_sensorimpl.cpp test_sensorimpl.h
+ test_sensorplugin.cpp
+ tst_qsensor.cpp
+ DEFINES
+ QT_STATICPLUGIN
+ LIBRARIES
+ Qt::CorePrivate
+ Qt::SensorsPrivate
+)
diff --git a/tests/auto/qsensor/qsensor.pro b/tests/auto/qsensor/qsensor.pro
deleted file mode 100644
index 1366a5df..00000000
--- a/tests/auto/qsensor/qsensor.pro
+++ /dev/null
@@ -1,27 +0,0 @@
-TEMPLATE = app
-TARGET = tst_qsensor
-
-CONFIG += testcase
-QT = core-private testlib sensors-private
-DEFINES += QT_STATICPLUGIN
-
-SOURCES += \
- tst_qsensor.cpp
-
-HEADERS += \
- test_sensor.h\
- test_sensor_p.h\
- test_sensorimpl.h\
- test_sensor2.h\
- test_sensor2_p.h\
- test_sensor2impl.h\
- test_backends.h
-
-SOURCES += \
- test_sensor.cpp\
- test_sensorimpl.cpp\
- test_sensor2.cpp\
- test_sensor2impl.cpp\
- test_sensorplugin.cpp\
- test_backends.cpp
-
diff --git a/tests/auto/qsensor/test_backends.cpp b/tests/auto/qsensor/test_backends.cpp
deleted file mode 100644
index 4dde98fe..00000000
--- a/tests/auto/qsensor/test_backends.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QList>
-
-#include "qsensorbackend.h"
-
-typedef QSensorBackend* (*CreateFunc) (QSensor *sensor);
-class Record
-{
-public:
- QByteArray type;
- CreateFunc func;
-};
-static QList<Record> records;
-
-static bool registerTestBackend(const char *className, CreateFunc func)
-{
- Record record;
- record.type = className;
- record.func = func;
- records << record;
- return true;
-}
-
-#define REGISTER_TOO
-#include "test_backends.h"
-#include <QDebug>
-
-class BackendFactory : public QSensorBackendFactory
-{
- QSensorBackend *createBackend(QSensor *sensor) override
- {
- foreach (const Record &record, records) {
- if (sensor->identifier() == record.type) {
- return record.func(sensor);
- }
- }
- return 0;
- };
-};
-static BackendFactory factory;
-
-void register_test_backends()
-{
- foreach (const Record &record, records) {
- QSensorManager::registerBackend(record.type, record.type, &factory);
- }
-}
-
-void unregister_test_backends()
-{
- foreach (const Record &record, records) {
- QSensorManager::unregisterBackend(record.type, record.type);
- }
-}
-
diff --git a/tests/auto/qsensor/test_sensor.cpp b/tests/auto/qsensor/test_sensor.cpp
index 1a1af962..3c36b595 100644
--- a/tests/auto/qsensor/test_sensor.cpp
+++ b/tests/auto/qsensor/test_sensor.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "test_sensor.h"
#include "test_sensor_p.h"
@@ -43,6 +18,6 @@ void TestSensorReading::setTest(int test)
// =====================================================================
-const char *TestSensor::type("test sensor");
+const char *TestSensor::sensorType("test sensor");
#include "moc_test_sensor.cpp"
diff --git a/tests/auto/qsensor/test_sensor.h b/tests/auto/qsensor/test_sensor.h
index 1adb06a6..f75db083 100644
--- a/tests/auto/qsensor/test_sensor.h
+++ b/tests/auto/qsensor/test_sensor.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_SENSOR_H
#define TEST_SENSOR_H
@@ -56,14 +31,14 @@ class TestSensor : public QSensor
Q_OBJECT
public:
explicit TestSensor(QObject *parent = 0)
- : QSensor(TestSensor::type, parent)
+ : QSensor(TestSensor::sensorType, parent)
, sensorsChangedEmitted(0)
{
connect(this, SIGNAL(availableSensorsChanged()), this, SLOT(s_availableSensorsChanged()));
}
virtual ~TestSensor() {}
TestSensorReading *reading() const { return static_cast<TestSensorReading*>(QSensor::reading()); }
- static const char *type;
+ static const char *sensorType;
// used by the testSensorsChangedSignal test function
int sensorsChangedEmitted;
diff --git a/tests/auto/qsensor/test_sensor2.cpp b/tests/auto/qsensor/test_sensor2.cpp
index 22074470..e72c62d2 100644
--- a/tests/auto/qsensor/test_sensor2.cpp
+++ b/tests/auto/qsensor/test_sensor2.cpp
@@ -1,56 +1,9 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "test_sensor2.h"
#include "test_sensor2_p.h"
-#undef IMPLEMENT_READING
-#undef IMPLEMENT_READING_D
-
-#define IMPLEMENT_READING(classname)\
- IMPLEMENT_READING_D(classname, classname ## Private)
-
-#define IMPLEMENT_READING_D(classname, pclassname)\
- classname::classname(QObject *parent)\
- : QSensorReading(parent, new pclassname)\
- , d(d_ptr())\
- {}\
- classname::~classname() {}\
- void classname::copyValuesFrom(QSensorReading *_other)\
- {\
- /* No need to verify types, only called by QSensorBackend */\
- classname *other = static_cast<classname *>(_other);\
- pclassname *my_ptr = static_cast<pclassname*>(d_ptr()->data());\
- pclassname *other_ptr = static_cast<pclassname*>(other->d_ptr()->data());\
- /* Do a direct copy of the private class */\
- *(my_ptr) = *(other_ptr);\
- }
-
IMPLEMENT_READING(TestSensor2Reading)
int TestSensor2Reading::test() const
@@ -65,6 +18,6 @@ void TestSensor2Reading::setTest(int test)
// =====================================================================
-char const * const TestSensor2::type("test sensor 2");
+char const * const TestSensor2::sensorType("test sensor 2");
#include "moc_test_sensor2.cpp"
diff --git a/tests/auto/qsensor/test_sensor2.h b/tests/auto/qsensor/test_sensor2.h
index 69050f7c..c5716001 100644
--- a/tests/auto/qsensor/test_sensor2.h
+++ b/tests/auto/qsensor/test_sensor2.h
@@ -1,68 +1,11 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_SENSOR2_H
#define TEST_SENSOR2_H
#include "qsensor.h"
-#undef DECLARE_READING
-#undef DECLARE_READING_D
-
-template <typename T>
-class qTypedWrapper
-{
-public:
- qTypedWrapper(QScopedPointer<QSensorReadingPrivate> *_ptr)
- : ptr(_ptr)
- {
- }
-
- T *operator->() const
- {
- return static_cast<T*>(ptr->data());
- }
-
-private:
- QScopedPointer<QSensorReadingPrivate> *ptr;
-};
-
-#define DECLARE_READING(classname)\
- DECLARE_READING_D(classname, classname ## Private)
-
-#define DECLARE_READING_D(classname, pclassname)\
- public:\
- classname(QObject *parent = 0);\
- virtual ~classname();\
- void copyValuesFrom(QSensorReading *other) override;\
- private:\
- qTypedWrapper<pclassname> d;
-
class TestSensor2ReadingPrivate;
class TestSensor2Reading : public QSensorReading
@@ -87,10 +30,10 @@ class TestSensor2 : public QSensor
{
Q_OBJECT
public:
- explicit TestSensor2(QObject *parent = 0) : QSensor(TestSensor2::type, parent) {}
+ explicit TestSensor2(QObject *parent = 0) : QSensor(TestSensor2::sensorType, parent) {}
virtual ~TestSensor2() {}
TestSensor2Reading *reading() const { return static_cast<TestSensor2Reading*>(QSensor::reading()); }
- static char const * const type;
+ static char const * const sensorType;
};
#endif
diff --git a/tests/auto/qsensor/test_sensor2_p.h b/tests/auto/qsensor/test_sensor2_p.h
index 365b6b24..8ad4e495 100644
--- a/tests/auto/qsensor/test_sensor2_p.h
+++ b/tests/auto/qsensor/test_sensor2_p.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_SENSOR2_P_H
#define TEST_SENSOR2_P_H
diff --git a/tests/auto/qsensor/test_sensor2impl.cpp b/tests/auto/qsensor/test_sensor2impl.cpp
index caf6688a..795b1a00 100644
--- a/tests/auto/qsensor/test_sensor2impl.cpp
+++ b/tests/auto/qsensor/test_sensor2impl.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "test_sensor2impl.h"
#include <qaccelerometer.h>
diff --git a/tests/auto/qsensor/test_sensor2impl.h b/tests/auto/qsensor/test_sensor2impl.h
index 30e03f9e..269d1184 100644
--- a/tests/auto/qsensor/test_sensor2impl.h
+++ b/tests/auto/qsensor/test_sensor2impl.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_SENSOR2IMPL_H
#define TEST_SENSOR2IMPL_H
diff --git a/tests/auto/qsensor/test_sensor_p.h b/tests/auto/qsensor/test_sensor_p.h
index aa4e17a0..9737e292 100644
--- a/tests/auto/qsensor/test_sensor_p.h
+++ b/tests/auto/qsensor/test_sensor_p.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_SENSOR_P_H
#define TEST_SENSOR_P_H
diff --git a/tests/auto/qsensor/test_sensorimpl.cpp b/tests/auto/qsensor/test_sensorimpl.cpp
index c9a1fe63..206b1786 100644
--- a/tests/auto/qsensor/test_sensorimpl.cpp
+++ b/tests/auto/qsensor/test_sensorimpl.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "test_sensorimpl.h"
#include <QDebug>
@@ -106,6 +81,6 @@ void testsensorimpl::stop()
bool testsensorimpl::isFeatureSupported(QSensor::Feature feature) const
{
- return (feature == QSensor::AlwaysOn || feature == QSensor::GeoValues);
+ return (feature == QSensor::Feature::AlwaysOn || feature == QSensor::Feature::GeoValues);
}
diff --git a/tests/auto/qsensor/test_sensorimpl.h b/tests/auto/qsensor/test_sensorimpl.h
index 42b2e09a..9d52e33f 100644
--- a/tests/auto/qsensor/test_sensorimpl.h
+++ b/tests/auto/qsensor/test_sensorimpl.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef TEST_SENSORIMPL_H
#define TEST_SENSORIMPL_H
diff --git a/tests/auto/qsensor/test_sensorplugin.cpp b/tests/auto/qsensor/test_sensorplugin.cpp
index a48428b3..1734d3a9 100644
--- a/tests/auto/qsensor/test_sensorplugin.cpp
+++ b/tests/auto/qsensor/test_sensorplugin.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "test_sensorimpl.h"
#include "test_sensor2impl.h"
@@ -55,19 +30,19 @@ public:
// This is bad code. It caused a crash due to recursively calling
// loadPlugins() in qsensormanager.cpp (because loadPlugins() did
// not set the pluginsLoaded flag soon enough).
- (void)QSensor::defaultSensorForType(TestSensor::type);
+ (void)QSensor::defaultSensorForType(TestSensor::sensorType);
- QSensorManager::registerBackend(TestSensor::type, testsensorimpl::id, this);
- QSensorManager::registerBackend(TestSensor::type, "test sensor 2", this);
- QSensorManager::registerBackend(TestSensor2::type, testsensor2impl::id, this);
+ QSensorManager::registerBackend(TestSensor::sensorType, testsensorimpl::id, this);
+ QSensorManager::registerBackend(TestSensor::sensorType, "test sensor 2", this);
+ QSensorManager::registerBackend(TestSensor2::sensorType, testsensor2impl::id, this);
}
void sensorsChanged() override
{
// Register a new type on initial load
// This is testing the "don't emit availableSensorsChanged() too many times" functionality.
- if (!QSensorManager::isBackendRegistered(TestSensor::type, "test sensor 3"))
- QSensorManager::registerBackend(TestSensor::type, "test sensor 3", this);
+ if (!QSensorManager::isBackendRegistered(TestSensor::sensorType, "test sensor 3"))
+ QSensorManager::registerBackend(TestSensor::sensorType, "test sensor 3", this);
// When a sensor of type "a random type" is registered, register another sensor.
// This is testing the "don't emit availableSensorsChanged() too many times" functionality.
diff --git a/tests/auto/qsensor/tst_qsensor.cpp b/tests/auto/qsensor/tst_qsensor.cpp
index 911e9c2c..261f81f9 100644
--- a/tests/auto/qsensor/tst_qsensor.cpp
+++ b/tests/auto/qsensor/tst_qsensor.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
//TESTED_COMPONENT=src/sensors
@@ -39,13 +14,10 @@
#include "test_sensor.h"
#include "test_sensor2.h"
#include "test_sensorimpl.h"
-#include "test_backends.h"
+#include "../common/test_backends.h"
QT_BEGIN_NAMESPACE
-// The unit test needs to change the behaviour of the library. It does this
-// through an exported but undocumented function.
-Q_SENSORS_EXPORT void sensors_unit_test_hook(int index);
bool operator==(const qoutputrange &orl1, const qoutputrange &orl2)
{
return (orl1.minimum == orl2.minimum &&
@@ -54,27 +26,16 @@ bool operator==(const qoutputrange &orl1, const qoutputrange &orl2)
}
namespace QTest {
- template<> char *toString(const qoutputrangelist &orl)
+ // QCOMPARE calls this upon failure (and if a list of these elements is compared,
+ // it will call this individually for each element)
+ template<> char* toString(const qoutputrange& range)
{
- QStringList list;
- foreach (const qoutputrange &item, orl) {
- list << QString("%1-%2%3%4").arg(item.minimum).arg(item.maximum).arg(QString::fromWCharArray(L"\u00B1")).arg(item.accuracy);
- }
- QString ret = QString("qoutputrangelist: (%1)").arg(list.join("), ("));
- return qstrdup(ret.toLatin1().data());
- }
- template<> char *toString(const QList<QByteArray> &data)
- {
- QStringList list;
- foreach (const QByteArray &str, data) {
- list << QString::fromLatin1(str);
- }
- QString ret = QString("QList<QByteArray>: (%1)").arg(list.join("), ("));
+ QString ret = QString("%1-%2%3%4").arg(range.minimum).arg(range.maximum)
+ .arg(QString::fromWCharArray(L"\u00B1")).arg(range.accuracy);
return qstrdup(ret.toLatin1().data());
}
}
-
class MyFilter : public TestSensorFilter { bool filter(TestSensorReading *) override { return false; } };
class ModFilter : public TestSensorFilter
@@ -136,42 +97,40 @@ private slots:
void testTypeRegistered()
{
- QList<QByteArray> expected;
- expected << TestSensor::type << TestSensor2::type;
- QList<QByteArray> actual = QSensor::sensorTypes();
- qSort(actual); // The actual list is not in a defined order
- QCOMPARE(actual, expected);
+ // Verify type registrations done by the test_sensorplugin
+ QVERIFY(QSensor::sensorTypes().contains(TestSensor::sensorType));
+ QVERIFY(QSensor::sensorTypes().contains(TestSensor2::sensorType));
}
void testSensorRegistered()
{
QList<QByteArray> expected;
expected << "test sensor 2" << "test sensor 3" << testsensorimpl::id;
- QList<QByteArray> actual = QSensor::sensorsForType(TestSensor::type);
- qSort(actual); // The actual list is not in a defined order
+ QList<QByteArray> actual = QSensor::sensorsForType(TestSensor::sensorType);
+ std::sort(actual.begin(), actual.end()); // The actual list is not in a defined order
QCOMPARE(actual, expected);
}
void testSensorDefault()
{
QByteArray expected = testsensorimpl::id;
- QByteArray actual = QSensor::defaultSensorForType(TestSensor::type);
+ QByteArray actual = QSensor::defaultSensorForType(TestSensor::sensorType);
QCOMPARE(actual, expected);
}
void testBadDefaultFromConfig()
{
- QSensorManager::setDefaultBackend(QByteArray(TestSensor::type), QByteArray("bogus id"));
+ QSensorManager::setDefaultBackend(QByteArray(TestSensor::sensorType), QByteArray("bogus id"));
QByteArray expected = testsensorimpl::id;
- QByteArray actual = QSensor::defaultSensorForType(TestSensor::type);
+ QByteArray actual = QSensor::defaultSensorForType(TestSensor::sensorType);
QCOMPARE(actual, expected);
}
void testGoodDefaultFromConfig()
{
- QSensorManager::setDefaultBackend(QByteArray(TestSensor::type), QByteArray(testsensorimpl::id));
+ QSensorManager::setDefaultBackend(QByteArray(TestSensor::sensorType), QByteArray(testsensorimpl::id));
QByteArray expected = testsensorimpl::id;
- QByteArray actual = QSensor::defaultSensorForType(TestSensor::type);
+ QByteArray actual = QSensor::defaultSensorForType(TestSensor::sensorType);
QCOMPARE(actual, expected);
}
@@ -217,7 +176,7 @@ private slots:
void testBadDefaultCreation()
{
- QSensorManager::setDefaultBackend(QByteArray(TestSensor::type), QByteArray("test sensor 2"));
+ QSensorManager::setDefaultBackend(QByteArray(TestSensor::sensorType), QByteArray("test sensor 2"));
TestSensor sensor;
QTest::ignoreMessage(QtWarningMsg, "Can't create backend \"test sensor 2\"");
sensor.connectToBackend();
@@ -241,9 +200,9 @@ private slots:
sensor.connectToBackend();
QVERIFY(sensor.reading() != 0);
quint64 timestamp = sensor.reading()->timestamp();
- qtimestamp timestamp2 = sensor.reading()->timestamp();
+ quint64 timestamp2 = sensor.reading()->timestamp();
QVERIFY(timestamp == quint64());
- QVERIFY(timestamp2 == qtimestamp());
+ QVERIFY(timestamp2 == quint64());
sensor.setProperty("doThis", "setOne");
sensor.start();
timestamp = sensor.reading()->timestamp();
@@ -464,20 +423,20 @@ private slots:
sensor.setProperty("doThis", "setOne");
QSignalSpy spy(&sensor, SIGNAL(readingChanged()));
sensor.start();
- QCOMPARE(spy.count(), 1); // reading changes
+ QCOMPARE(spy.size(), 1); // reading changes
sensor.stop();
TestSensorFilter *filter2 = new MyFilter;
sensor.addFilter(filter2);
sensor.start();
- QCOMPARE(spy.count(), 1); // filter suppresses reading so it does not change
+ QCOMPARE(spy.size(), 1); // filter suppresses reading so it does not change
sensor.stop();
delete filter2;
TestSensorFilter *filter1 = new ModFilter;
sensor.addFilter(filter1);
sensor.start();
- QCOMPARE(spy.count(), 2); // filter does not suppress reading
+ QCOMPARE(spy.size(), 2); // filter does not suppress reading
sensor.stop();
delete filter1;
}
@@ -763,7 +722,7 @@ private slots:
// Unregister an unknown identifier
sensor.sensorsChangedEmitted = 0;
QTest::ignoreMessage(QtWarningMsg, "Identifier \"a random id\" is not registered");
- QSensorManager::unregisterBackend(TestSensor::type, "a random id");
+ QSensorManager::unregisterBackend(TestSensor::sensorType, "a random id");
QCOMPARE(sensor.sensorsChangedEmitted, 0);
// Unregister for an unknown type
@@ -773,11 +732,9 @@ private slots:
QCOMPARE(sensor.sensorsChangedEmitted, 0);
// Make sure we've cleaned up the list of available types
- QList<QByteArray> expected;
- expected << TestSensor::type << TestSensor2::type;
- QList<QByteArray> actual = QSensor::sensorTypes();
- qSort(actual); // The actual list is not in a defined order
- QCOMPARE(actual, expected);
+ QVERIFY(!QSensor::sensorTypes().contains("a random type"));
+ QVERIFY(QSensor::sensorTypes().contains(TestSensor::sensorType));
+ QVERIFY(QSensor::sensorTypes().contains(TestSensor2::sensorType));
}
void testSetActive()
@@ -812,11 +769,11 @@ private slots:
bool actual;
expected = true;
- actual = QSensorManager::isBackendRegistered(TestSensor::type, testsensorimpl::id);
+ actual = QSensorManager::isBackendRegistered(TestSensor::sensorType, testsensorimpl::id);
QCOMPARE(expected, actual);
expected = false;
- actual = QSensorManager::isBackendRegistered(TestSensor::type, "random");
+ actual = QSensorManager::isBackendRegistered(TestSensor::sensorType, "random");
QCOMPARE(expected, actual);
expected = false;
@@ -834,10 +791,6 @@ private slots:
QCOMPARE(reading->z(), 1.0);
})
- TEST_SENSORINTERFACE(QAltimeter, QAltimeterReading, {
- QCOMPARE(reading->altitude(), 8848.0);
- })
-
TEST_SENSORINTERFACE(QAmbientLightSensor, QAmbientLightReading, {
QCOMPARE(reading->lightLevel(), QAmbientLightReading::Twilight);
})
@@ -857,10 +810,6 @@ private slots:
QCOMPARE(reading->z(), 1.0);
})
- TEST_SENSORINTERFACE(QHolsterSensor, QHolsterReading, {
- QCOMPARE(reading->holstered(), true);
- })
-
TEST_SENSORINTERFACE(QLightSensor, QLightReading, {
QCOMPARE(reading->lux(), 1.0);
})
@@ -946,11 +895,57 @@ private slots:
// Stopping the first instance causes the busyChanged signal to be emitted from the second instance
QSignalSpy spy(&sensor2, SIGNAL(busyChanged()));
sensor1.stop();
- QCOMPARE(spy.count(), 1);
+ QCOMPARE(spy.size(), 1);
// Now we can start the second instance
sensor2.start();
QVERIFY(sensor2.isActive());
+
+ // test 'busy' going back and forth and verify indication to frontend
+ register_test_backends();
+ QAccelerometer accelerometer;
+ accelerometer.setIdentifier("QAccelerometer");
+ QSignalSpy busySpy(&accelerometer, SIGNAL(busyChanged()));
+ QVERIFY(accelerometer.connectToBackend());
+ QVERIFY(!accelerometer.isBusy());
+ QCOMPARE(busySpy.size(), 0);
+
+ set_test_backend_busy(&accelerometer, true);
+ QCOMPARE(busySpy.size(), 1);
+ QVERIFY(accelerometer.isBusy());
+
+ set_test_backend_busy(&accelerometer, false);
+ QCOMPARE(busySpy.size(), 2);
+ QVERIFY(!accelerometer.isBusy());
+ unregister_test_backends();
+ }
+
+ void testIdenfifierChanged()
+ {
+ TestSensor sensor;
+ QSignalSpy spy(&sensor, SIGNAL(identifierChanged()));
+ QCOMPARE(sensor.identifier(), "");
+
+ // Change id and verify change
+ sensor.setIdentifier("a");
+ QCOMPARE(sensor.identifier(), "a");
+ QCOMPARE(spy.size(), 1);
+
+ // Set same id and verify that no changes
+ sensor.setIdentifier("a");
+ QCOMPARE(sensor.identifier(), "a");
+ QCOMPARE(spy.size(), 1);
+
+ // Change id and verify change
+ sensor.setIdentifier(testsensorimpl::id);
+ QCOMPARE(sensor.identifier(), testsensorimpl::id);
+ QCOMPARE(spy.size(), 2);
+
+ // Identifier cant be changed after connected to backend
+ QVERIFY(sensor.connectToBackend());
+ sensor.setIdentifier("c");
+ QCOMPARE(sensor.identifier(), testsensorimpl::id);
+ QCOMPARE(spy.size(), 2);
}
void testSupportedFeatures()
@@ -959,21 +954,21 @@ private slots:
// Not connected to backend - should report false for any feature
QVERIFY(!sensor.isConnectedToBackend());
- QVERIFY(!sensor.isFeatureSupported(QSensor::AlwaysOn));
- QVERIFY(!sensor.isFeatureSupported(QSensor::Buffering));
- QVERIFY(!sensor.isFeatureSupported(QSensor::GeoValues));
- QVERIFY(!sensor.isFeatureSupported(QSensor::FieldOfView));
- QVERIFY(!sensor.isFeatureSupported(QSensor::AccelerationMode));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::AlwaysOn));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::Buffering));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::GeoValues));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::FieldOfView));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::AccelerationMode));
// Connect to backend - according to the testsensorimpl implementation, AlwaysOn and
// GeoValues should be supported afterwards
QVERIFY(sensor.connectToBackend());
- QVERIFY(sensor.isFeatureSupported(QSensor::AlwaysOn));
- QVERIFY(!sensor.isFeatureSupported(QSensor::Buffering));
- QVERIFY(sensor.isFeatureSupported(QSensor::GeoValues));
- QVERIFY(!sensor.isFeatureSupported(QSensor::FieldOfView));
- QVERIFY(!sensor.isFeatureSupported(QSensor::AccelerationMode));
+ QVERIFY(sensor.isFeatureSupported(QSensor::Feature::AlwaysOn));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::Buffering));
+ QVERIFY(sensor.isFeatureSupported(QSensor::Feature::GeoValues));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::FieldOfView));
+ QVERIFY(!sensor.isFeatureSupported(QSensor::Feature::AccelerationMode));
}
};
diff --git a/tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro b/tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro
deleted file mode 100644
index 117afab1..00000000
--- a/tests/auto/qsensorgestureplugins/qsensorgestureplugins.pro
+++ /dev/null
@@ -1,17 +0,0 @@
-TEMPLATE = app
-TARGET = tst_qsensorgesturepluginstest
-!no_system_tests:CONFIG += testcase
-
-QT += core testlib sensors
-QT -= gui
-
-SOURCES += tst_qsensorgesturepluginstest.cpp
-
-VPATH += ../qsensor
-INCLUDEPATH += ../qsensor
-
-HEADERS += \
- test_backends.h
-
-SOURCES += \
- test_backends.cpp
diff --git a/tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp b/tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp
deleted file mode 100644
index 43cebedc..00000000
--- a/tests/auto/qsensorgestureplugins/tst_qsensorgesturepluginstest.cpp
+++ /dev/null
@@ -1,202 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/QString>
-#include <QtTest/QtTest>
-
-#include <QVariant>
-#include <QSignalSpy>
-
-#include <qsensorgesture.h>
-#include <qsensorgesturemanager.h>
-
-#include <qsensorgesturerecognizer.h>
-#include <qsensorgestureplugininterface.h>
-
-#include "test_backends.h"
-
-class Tst_qsensorgesturePluginsTest : public QObject
-{
- Q_OBJECT
-
-public:
- Tst_qsensorgesturePluginsTest();
-
-private Q_SLOTS:
-
- void tst_sensor_plugins_shake();
- void tst_sensor_plugins_qtsensors_data();
- void tst_sensor_plugins_qtsensors();
- void tst_sensor_plugins_qtsensors_all();
-
-};
-
-Tst_qsensorgesturePluginsTest::Tst_qsensorgesturePluginsTest()
-{
- qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
- register_test_backends();
-}
-
-void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_shake()
-{
-
- QSensorGestureManager manager;
- QVERIFY(manager.gestureIds().contains("QtSensors.shake"));
-
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.shake");
-
- QCOMPARE(recognizer->isActive(), false);
-
- QTest::ignoreMessage(QtWarningMsg, "Not starting. Gesture Recognizer not initialized");
- recognizer->startBackend();
- QCOMPARE(recognizer->isActive(), false);
-
- QTest::ignoreMessage(QtWarningMsg, "Not stopping. Gesture Recognizer not initialized");
- recognizer->stopBackend();
- QCOMPARE(recognizer->isActive(), false);
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.shake"));
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture->validIds(), QStringList() << "QtSensors.shake");
-
- QCOMPARE(QStringList() << recognizer->id(), gesture->validIds());
-
- gesture->startDetection();
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(recognizer->isActive(), true);
-
- gesture->stopDetection();
- QCOMPARE(recognizer->isActive(), false);
-}
-
-void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors_data()
-{
- QTest::addColumn<QString>("gestureId");
-
- QTest::newRow("QtSensors.cover") << "QtSensors.cover";
-
- QTest::newRow("QtSensors.doubletap") << "QtSensors.doubletap";
-
- QTest::newRow("QtSensors.freefall") << "QtSensors.freefall";
- QTest::newRow("QtSensors.hover") << "QtSensors.hover";
- QTest::newRow("QtSensors.shake2") << "QtSensors.shake2";
- QTest::newRow("QtSensors.slam") << "QtSensors.slam";
- QTest::newRow("QtSensors.turnover") << "QtSensors.turnover";
- QTest::newRow("QtSensors.twist") << "QtSensors.twist";
- QTest::newRow("QtSensors.whip") << "QtSensors.whip";
-}
-
-void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors()
-{
- QFETCH(QString, gestureId);
- QSensorGestureManager manager;
-
- QVERIFY(manager.gestureIds().contains(gestureId));
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestureId));
- QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << gestureId));
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture->validIds(), QStringList() << gestureId);
-
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer(gestureId);
-
- QCOMPARE(QStringList() << recognizer->id(), gesture->validIds());
-
- QCOMPARE(QStringList() << QStringList(), gesture->invalidIds());
-
- QVERIFY(recognizer->isActive() == false);
- QVERIFY(gesture->isActive() == false);
- QVERIFY(gesture2->isActive() == false);
-
- gesture->startDetection();
-
- QVERIFY(gesture->isActive() == true);
- QVERIFY(gesture2->isActive() == false);
-
- QVERIFY(recognizer->isActive() == true);
-
- gesture2->startDetection();
-
- QVERIFY(gesture->isActive() == true);
- QVERIFY(gesture2->isActive() == true);
- QVERIFY(recognizer->isActive() == true);
-
- gesture2->stopDetection();
-
- QVERIFY(gesture->isActive() == true);
- QVERIFY(gesture2->isActive() == false);
- QVERIFY(recognizer->isActive() == true);
-
- gesture->stopDetection();
-
- QVERIFY(gesture->isActive() == false);
- QVERIFY(gesture2->isActive() == false);
- QVERIFY(recognizer->isActive() == false);
-
-
- QVERIFY(recognizer->gestureSignals().count() > 1);
- QVERIFY(recognizer->gestureSignals().contains("detected(QString)"));
-
-}
-
-void Tst_qsensorgesturePluginsTest::tst_sensor_plugins_qtsensors_all()
-{
- QStringList list;
- list << "QtSensors.cover";
- list << "QtSensors.doubletap";
- list << "QtSensors.hover";
- list << "QtSensors.pickup";
- list << "QtSensors.shake2";
- list << "QtSensors.slam";
- list << "QtSensors.turnover";
- list << "QtSensors.twist";
- list << "QtSensors.whip";
-
- QSensorGestureManager manager;
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(list));
- QVERIFY(gesture->invalidIds().count() == 0);
- QVERIFY(gesture->validIds().count() == 9);
- QVERIFY(gesture->gestureSignals().count() == 14);
-
- gesture->startDetection();
- QVERIFY(gesture->isActive());
-
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.turnover");
- recognizer->stopBackend();
- QVERIFY(!recognizer->isActive());
- QVERIFY(gesture->isActive());
-
-}
-
-
-QTEST_MAIN(Tst_qsensorgesturePluginsTest);
-
-#include "tst_qsensorgesturepluginstest.moc"
diff --git a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp
deleted file mode 100644
index b2bba482..00000000
--- a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.cpp
+++ /dev/null
@@ -1,86 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtest2recognizer.h"
-
-#include "qtestsensorgestureplugin_p.h"
-
-QTest2Recognizer::QTest2Recognizer(QObject *parent)
- : QSensorGestureRecognizer(parent),
- active(0)
-{
-}
-
-QTest2Recognizer::~QTest2Recognizer()
-{
-}
-
-bool QTest2Recognizer::start()
-{
- Q_EMIT test2();
-
- Q_EMIT detected("test2");
-
- Q_EMIT test3(true);
- active = true;
-
- return true;
-}
-
-bool QTest2Recognizer::stop()
-{
- active = false;
- return true;
-}
-
-bool QTest2Recognizer::isActive()
-{
- return active;
-}
-
-
-void QTest2Recognizer::create()
-{
- active = false;
-}
-
-QString QTest2Recognizer::id() const
-{
- return QString("QtSensors.test2");
-}
-
-int QTest2Recognizer::thresholdTime() const
-{
- return timerTimeout;
-}
-
-void QTest2Recognizer::setThresholdTime(int msec)
-{
- timer->setInterval(msec);
-}
-
diff --git a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h b/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h
deleted file mode 100644
index ad9a1584..00000000
--- a/tests/auto/qsensorgestures/plugins/test/qtest2recognizer.h
+++ /dev/null
@@ -1,63 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTEST2RECOGNIZER_H
-#define QTEST2RECOGNIZER_H
-
-#include <qsensorgesturerecognizer.h>
-
-class QTest2Recognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-
-public:
- QTest2Recognizer(QObject *parent = 0);
- ~QTest2Recognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
- int thresholdTime() const;
- void setThresholdTime(int msec);
-
-Q_SIGNALS:
- void test2();
- void test3(bool);
-
-private:
- int timerTimeout;
- QTimer *timer;
- bool active;
-};
-
-
-#endif // QTEST2RECOGNIZER_H
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp
deleted file mode 100644
index 9d523bc8..00000000
--- a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QStringList>
-#include <QTimer>
-
-#include "qtestrecognizer.h"
-#include "qtestsensorgestureplugin_p.h"
-
-
-QTestRecognizer::QTestRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent),
- active(0)
-{
- timeout();
-}
-
-QTestRecognizer::~QTestRecognizer()
-{
-}
-
-void QTestRecognizer::timeout()
-{
- Q_EMIT detected("tested");
- Q_EMIT tested();
- QTimer::singleShot(100, this, SLOT(timeout()));
-}
-
-
-bool QTestRecognizer::start()
-{
- Q_EMIT detected("tested");
- Q_EMIT tested();
- active = true;
- return true;
-}
-
-bool QTestRecognizer::stop()
-{
- active = false;
- return true;
-}
-
-bool QTestRecognizer::isActive()
-{
- return active;
-}
-
-void QTestRecognizer::create()
-{
- active = false;
-}
-
-QString QTestRecognizer::id() const
-{
- return QString("QtSensors.test");
-}
-
-
-int QTestRecognizer::thresholdTime() const
-{
- return timerTimeout;
-}
-
-void QTestRecognizer::setThresholdTime(int msec)
-{
- timer->setInterval(msec);
-}
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h b/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h
deleted file mode 100644
index 3afe7806..00000000
--- a/tests/auto/qsensorgestures/plugins/test/qtestrecognizer.h
+++ /dev/null
@@ -1,66 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTESTRECOGNIZER_H
-#define QTESTRECOGNIZER_H
-
-#include <qsensorgesturerecognizer.h>
-
-class QTestRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
- Q_PROPERTY(int thresholdTime READ thresholdTime WRITE setThresholdTime)
-
-public:
-
- QTestRecognizer(QObject *parent = 0);
- ~QTestRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
- int thresholdTime() const;
- void setThresholdTime(int msec);
-
-Q_SIGNALS:
- void tested();
-
-private:
- int timerTimeout;
- QTimer *timer;
- bool active;
-
-public slots:
- void timeout();
-};
-
-#endif // QTESTRECOGNIZER_H
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp
deleted file mode 100644
index c5eeff89..00000000
--- a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QObject>
-#include <QtPlugin>
-#include <QStringList>
-#include <QTimer>
-#include <QTest>
-
-#include "qtestrecognizer.h"
-#include "qtest2recognizer.h"
-
-#include "qtestsensorgestureplugin_p.h"
-
-#include <qsensorgestureplugininterface.h>
-#include <qsensorgesturerecognizer.h>
-#include <qsensorgesturemanager.h>
-
-
-QTestSensorGesturePlugin::QTestSensorGesturePlugin()
-{
-}
-
-QTestSensorGesturePlugin::~QTestSensorGesturePlugin()
-{
-}
-
-
-///*!
-// Describes this gesture's possible gesture signals.
-//handled through the detected(const QString &) signal.
-// */
-//QStringList QTestSensorGesturePlugin::gestureSignals() const
-//{
-// QStringList list;
-// Q_FOREACH (const QSensorGestureRecognizer* rec, recognizersList) {
-// list.append(rec->gestureSignals());
-// }
-// return list;
-//}
-
-QList <QSensorGestureRecognizer *> QTestSensorGesturePlugin::createRecognizers()
-{
- QSensorGestureRecognizer *sRec = new QTestRecognizer(this);
- recognizersList.append(sRec);
-
- QSensorGestureRecognizer *sRec2 = new QTest2Recognizer(this);
- recognizersList.append(sRec2);
-
- return recognizersList;
-}
-
-QStringList QTestSensorGesturePlugin::supportedIds() const
-{
- QStringList list;
- list << "QtSensors.test";
- list <<"QtSensors.test2";
-
- return list;
-}
-
-QList<QSensorGestureRecognizer*> QTestSensorGesturePlugin::recognizers() const
-{
- return recognizersList;
-}
-
-QString QTestSensorGesturePlugin::name() const
-{
- return "TestGestures";
-}
diff --git a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h b/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h
deleted file mode 100644
index 0a62cb3b..00000000
--- a/tests/auto/qsensorgestures/plugins/test/qtestsensorgestureplugin_p.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTESTSENSORGESTUREPLUGIN_P_H
-#define QTESTSENSORGESTUREPLUGIN_P_H
-
-//
-// W A R N I N G
-// -------------
-//
-// This file is not part of the Qt API. It exists purely as an
-// implementation detail. This header file may change from version to
-// version without notice, or even be removed.
-//
-// We mean it.
-//
-
-#include <QObject>
-#include <qsensorgestureplugininterface.h>
-
-class QTestSensorGesturePlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.QSensorGesturePluginInterface")
- Q_INTERFACES(QSensorGesturePluginInterface)
-
-public:
- explicit QTestSensorGesturePlugin();
- ~QTestSensorGesturePlugin();
-
- QList<QSensorGestureRecognizer *> createRecognizers() override;
-
-// QStringList gestureSignals() const;
- QStringList supportedIds() const override;
- QString name() const override;
-
- QList<QSensorGestureRecognizer*> recognizers() const;
-
- QList<QSensorGestureRecognizer*> recognizersList;
-
-};
-
-
-
-#endif // QTESTSENSORGESTUREPLUGIN_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp
deleted file mode 100644
index a46d2ed9..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.cpp
+++ /dev/null
@@ -1,83 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "qtest2recognizerdup.h"
-
-#include "qtestsensorgestureplugindup.h"
-
-QTest2RecognizerDup::QTest2RecognizerDup(QObject *parent)
- : QSensorGestureRecognizer(parent),
- active(0)
-{
-}
-
-QTest2RecognizerDup::~QTest2RecognizerDup()
-{
-}
-
-bool QTest2RecognizerDup::start()
-{
- Q_EMIT test2_dup();
-
- active = true;
-
- return true;
-}
-
-bool QTest2RecognizerDup::stop()
-{
- active = false;
- return true;
-}
-
-bool QTest2RecognizerDup::isActive()
-{
- return active;
-}
-
-
-void QTest2RecognizerDup::create()
-{
- active = false;
-}
-
-QString QTest2RecognizerDup::id() const
-{
- return QString("QtSensors.test.dup");
-}
-
-int QTest2RecognizerDup::thresholdTime() const
-{
- return timerTimeout;
-}
-
-void QTest2RecognizerDup::setThresholdTime(int msec)
-{
- timer->setInterval(msec);
-}
-
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h b/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h
deleted file mode 100644
index 7ce2a765..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/qtest2recognizerdup.h
+++ /dev/null
@@ -1,62 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTEST2RECOGNIZERDUP_H
-#define QTEST2RECOGNIZERDUP_H
-
-#include <qsensorgesturerecognizer.h>
-
-class QTest2RecognizerDup : public QSensorGestureRecognizer
-{
- Q_OBJECT
-
-public:
- QTest2RecognizerDup(QObject *parent = 0);
- ~QTest2RecognizerDup();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
- int thresholdTime() const;
- void setThresholdTime(int msec);
-
-Q_SIGNALS:
- void test2_dup();
-
-private:
- int timerTimeout;
- QTimer *timer;
- bool active;
-};
-
-
-#endif // QTEST2RECOGNIZERDUP_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp
deleted file mode 100644
index 03bc0ec7..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.cpp
+++ /dev/null
@@ -1,82 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QStringList>
-
-#include "qtestrecognizerdup.h"
-#include "qtestsensorgestureplugindup.h"
-
-QTestRecognizerDup::QTestRecognizerDup(QObject *parent)
- : QSensorGestureRecognizer(parent),
- active(0)
-{
-}
-
-QTestRecognizerDup::~QTestRecognizerDup()
-{
-}
-
-bool QTestRecognizerDup::start()
-{
- active = true;
- Q_EMIT detected("test2_dup");
- Q_EMIT test2_dup();
- return true;
-}
-
-bool QTestRecognizerDup::stop()
-{
- active = false;
- return true;
-}
-
-bool QTestRecognizerDup::isActive()
-{
- return active;
-}
-
-void QTestRecognizerDup::create()
-{
- active = false;
-}
-
-QString QTestRecognizerDup::id() const
-{
- return QString("QtSensors.test.dup");
-}
-
-
-int QTestRecognizerDup::thresholdTime() const
-{
- return timerTimeout;
-}
-
-void QTestRecognizerDup::setThresholdTime(int msec)
-{
- timer->setInterval(msec);
-}
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h b/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h
deleted file mode 100644
index 6b66a6ba..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/qtestrecognizerdup.h
+++ /dev/null
@@ -1,64 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTESTRECOGNIZERDUP_H
-#define QTESTRECOGNIZERDUP_H
-
-#include <qsensorgesturerecognizer.h>
-
-class QTestRecognizerDup : public QSensorGestureRecognizer
-{
- Q_OBJECT
- Q_PROPERTY(int thresholdTime READ thresholdTime WRITE setThresholdTime)
-
-public:
-
- QTestRecognizerDup(QObject *parent = 0);
- ~QTestRecognizerDup();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
- int thresholdTime() const;
- void setThresholdTime(int msec);
-
-Q_SIGNALS:
- void test2_dup();
-
-private:
- int timerTimeout;
- QTimer *timer;
- bool active;
-
-};
-
-#endif // QTESTRECOGNIZERDUP_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp
deleted file mode 100644
index 1aaa13e8..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.cpp
+++ /dev/null
@@ -1,93 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QObject>
-#include <QtPlugin>
-#include <QStringList>
-#include <QTimer>
-
-#include "qtestrecognizerdup.h"
-#include "qtest2recognizerdup.h"
-
-#include "qtestsensorgestureplugindup.h"
-
-#include <qsensorgestureplugininterface.h>
-#include <qsensorgesturerecognizer.h>
-#include <qsensorgesturemanager.h>
-
-
-QTestSensorGestureDupPlugin::QTestSensorGestureDupPlugin()
-{
-}
-
-QTestSensorGestureDupPlugin::~QTestSensorGestureDupPlugin()
-{
-}
-
-/*!
- Describes this gesture's possible gesture signals.
-handled through the detected(const QString &) signal.
- */
-QStringList QTestSensorGestureDupPlugin::gestureSignals() const
-{
- QStringList list;
- Q_FOREACH (const QSensorGestureRecognizer* rec,recognizersList) {
- list.append(rec->gestureSignals());
- }
- return list;
-}
-
-QList <QSensorGestureRecognizer *> QTestSensorGestureDupPlugin::createRecognizers()
-{
- QSensorGestureRecognizer *sRec = new QTestRecognizerDup(this);
- recognizersList.append(sRec);
-
- QSensorGestureRecognizer *sRec2 = new QTest2RecognizerDup(this);
- recognizersList.append(sRec2);
-
- return recognizersList;
-}
-
-QStringList QTestSensorGestureDupPlugin::supportedIds() const
-{
- QStringList list;
- list << "QtSensors.test.dup";
- list << "QtSensors.test.dup";
-
- return list;
-}
-
-QList<QSensorGestureRecognizer*> QTestSensorGestureDupPlugin::recognizers() const
-{
- return recognizersList;
-}
-
-QString QTestSensorGestureDupPlugin::name() const
-{
- return "TestGesturesDup";
-}
diff --git a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h b/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h
deleted file mode 100644
index 1a577cb3..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/qtestsensorgestureplugindup.h
+++ /dev/null
@@ -1,60 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTESTSENSORGESTUREDUPPLUGIN_H
-#define QTESTSENSORGESTUREDUPPLUGIN_H
-
-#include <QObject>
-#include <qsensorgestureplugininterface.h>
-
-class QTestSensorGestureDupPlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- Q_PLUGIN_METADATA(IID "org.qt-project.QSensorGesturePluginInterface")
- Q_INTERFACES(QSensorGesturePluginInterface)
-
-public:
- explicit QTestSensorGestureDupPlugin();
- ~QTestSensorGestureDupPlugin();
-
-
- QList<QSensorGestureRecognizer *> createRecognizers() override;
-
- QStringList gestureSignals() const;
- QStringList supportedIds() const override;
- QString name() const override;
-
- QList<QSensorGestureRecognizer*> recognizers() const;
-
- QList<QSensorGestureRecognizer*> recognizersList;
-
-};
-
-
-
-#endif // QTESTSENSORGESTUREDUPPLUGIN_H
diff --git a/tests/auto/qsensorgestures/plugins/test1/test1.pro b/tests/auto/qsensorgestures/plugins/test1/test1.pro
deleted file mode 100644
index 5f890689..00000000
--- a/tests/auto/qsensorgestures/plugins/test1/test1.pro
+++ /dev/null
@@ -1,18 +0,0 @@
-TARGET = qtsensorgestures_testplugin1
-
-QT += sensors sensorgestures
-
-# Input
-HEADERS += qtestsensorgestureplugindup_p.h \
- qtestrecognizerdup.h \
- qtest2recognizerdup.h
-SOURCES += qtestsensorgestureplugindup.cpp \
- qtestrecognizerdup.cpp \
- qtest2recognizerduo.cpp
-
-DEFINES += QT_DISABLE_DEPRECATED_BEFORE=0
-
-PLUGIN_TYPE = sensorgestures
-PLUGIN_CLASS_NAME = QTestSensorGestureDupPlugin
-PLUGIN_EXTENDS = -
-load(qt_plugin)
diff --git a/tests/auto/qsensorgestures/qsensorgestures.pro b/tests/auto/qsensorgestures/qsensorgestures.pro
deleted file mode 100644
index e3b152c7..00000000
--- a/tests/auto/qsensorgestures/qsensorgestures.pro
+++ /dev/null
@@ -1,34 +0,0 @@
-TEMPLATE = app
-TARGET = tst_qsensorgesturetest
-CONFIG += testcase
-DEFINES += QT_STATICPLUGIN
-
-QT += core testlib sensors
-QT -= gui
-
-SOURCES += tst_qsensorgesturetest.cpp
-
-
-PLUGIN_1_HEADERS = \
- plugins/test1/qtestsensorgestureplugindup.h \
- plugins/test1/qtestrecognizerdup.h \
- plugins/test1/qtest2recognizerdup.h
-
-PLUGIN_1_SOURCES = \
- plugins/test1/qtestsensorgestureplugindup.cpp \
- plugins/test1/qtestrecognizerdup.cpp \
- plugins/test1/qtest2recognizerdup.cpp
-
-HEADERS += $$PLUGIN_1_HEADERS
-SOURCES += $$PLUGIN_1_SOURCES
-
-HEADERS += \
- plugins/test/qtestsensorgestureplugin_p.h \
- plugins/test/qtestrecognizer.h \
- plugins/test/qtest2recognizer.h
-
-SOURCES += \
- plugins/test/qtestsensorgestureplugin.cpp \
- plugins/test/qtestrecognizer.cpp \
- plugins/test/qtest2recognizer.cpp
-
diff --git a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp b/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
deleted file mode 100644
index 99884ccb..00000000
--- a/tests/auto/qsensorgestures/tst_qsensorgesturetest.cpp
+++ /dev/null
@@ -1,615 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtCore/QString>
-#include <QtTest/QtTest>
-#include <QDebug>
-#include <QVariant>
-#include <QSignalSpy>
-
-#include <qsensorgesture.h>
-#include <qsensorgesturemanager.h>
-
-#include <qsensorgesturerecognizer.h>
-#include <qsensorgestureplugininterface.h>
-
-Q_IMPORT_PLUGIN(QTestSensorGesturePlugin)
-Q_IMPORT_PLUGIN(QTestSensorGestureDupPlugin)
-
-static QString removeParens(const QString &arg)
-{
- return arg.left(arg.indexOf("("));
-}
-
-class QSensorGestureWithSlots : public QObject
-{
- Q_OBJECT
-public:
- QSensorGestureWithSlots(const QStringList &ids)
- : gesture(new QSensorGesture(ids, this))
- {
- }
-
- QSensorGesture *gesture;
-
-public slots:
- void startDetection()
- {
- gesture->startDetection();
- }
-
- void stopDetection()
- {
- gesture->stopDetection();
- }
-};
-
-class QTest3Recognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-
-public:
-
- QTest3Recognizer(QObject *parent = 0);
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
- void changeId(const QString &);
-
- QString recognizerId;
-};
-
-QTest3Recognizer::QTest3Recognizer(QObject *parent) : QSensorGestureRecognizer(parent),
- recognizerId("QtSensors/test3"){}
-
-void QTest3Recognizer::create(){}
-
-QString QTest3Recognizer::id() const{ return recognizerId; }
-bool QTest3Recognizer::start(){return true;}
-bool QTest3Recognizer::stop() { return true;}
-bool QTest3Recognizer::isActive() { return true; }
-void QTest3Recognizer::changeId(const QString &id)
-{
- recognizerId = id;
-}
-
-
-class Tst_qsensorgestureTest : public QObject
-{
- Q_OBJECT
-
-public:
- Tst_qsensorgestureTest();
-
-private Q_SLOTS:
- void tst_sensor_gesture_notinitialized();
-
- void tst_recognizer_dup(); //comes first to weed out messages
-
- void tst_manager();
- void tst_manager_gestureids();
- void tst_manager_recognizerSignals();
- void tst_manager_registerSensorGestureRecognizer();
- void tst_manager__newSensorAvailable();
-
- void tst_sensor_gesture_signals();
- void tst_sensor_gesture_threaded();
-
- void tst_sensor_gesture();
-
- void tst_recognizer();
-
- void tst_sensorgesture_noid();
-
- void tst_sensor_gesture_multi();
-
- void shakeDetected(const QString &);
-
-
-private:
- QString currentSignal;
-};
-
-Tst_qsensorgestureTest::Tst_qsensorgestureTest()
-{
-}
-
-void Tst_qsensorgestureTest::tst_recognizer_dup()
-{
- QStringList idList;
- {
-// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test.dup\" from the plugin \"TestGesturesDup\" is already known.");
- QSensorGestureManager manager;
- idList = manager.gestureIds();
-
- for (int i = 0; i < idList.count(); i++) {
- if (idList.at(i) == "QtSensors.test.dup")
- QTest::ignoreMessage(QtWarningMsg, "Ignoring recognizer \"QtSensors.test.dup\" from plugin \"TestGesturesDup\" because it is already registered");
- QStringList recognizerSignalsList = manager.recognizerSignals(idList.at(i));
-
- QVERIFY(!recognizerSignalsList.contains("QtSensors.test2"));
- }
-
- QScopedPointer<QSensorGesture> sensorGesture(new QSensorGesture(idList));
- QVERIFY(sensorGesture->validIds().contains("QtSensors.test2"));
- QVERIFY(sensorGesture->validIds().contains("QtSensors.test"));
- QVERIFY(sensorGesture->validIds().contains("QtSensors.test.dup"));
- }
-
- QScopedPointer<QSensorGesture> thisGesture;
- QString plugin;
- plugin = "QtSensors.test2";
- thisGesture.reset(new QSensorGesture(QStringList() << plugin));
- QVERIFY(thisGesture->validIds().contains("QtSensors.test2"));
-
- plugin = "QtSensors.test.dup";
- thisGesture.reset(new QSensorGesture(QStringList() << plugin));
- QVERIFY(!thisGesture->validIds().contains("QtSensors.test2"));
-}
-
-void Tst_qsensorgestureTest::tst_manager()
-{
- QSensorGestureManager *manager2;
- manager2 = new QSensorGestureManager(this);
- QVERIFY(manager2 != 0);
- delete manager2;
-}
-
-void Tst_qsensorgestureTest::tst_manager_gestureids()
-{
- QStringList idList;
- QSensorGestureManager manager;
- idList = manager.gestureIds();
-
- QVERIFY(idList.count() > 0);
-
- QVERIFY(idList.contains("QtSensors.test"));
- QVERIFY(idList.contains("QtSensors.test2"));
- QVERIFY(idList.contains("QtSensors.test.dup"));
-}
-
-void Tst_qsensorgestureTest::tst_manager_recognizerSignals()
-{
- QStringList idList;
-
- QSensorGestureManager manager;
- idList = manager.gestureIds();
-
- idList.removeOne("QtSensors.test.dup");
-
- for (int i = 0; i < idList.count(); i++) {
-
- QStringList recognizerSignalsList = manager.recognizerSignals(idList.at(i));
-
- if (idList.at(i) == "QtSensors.test") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "tested()";
- QCOMPARE(recognizerSignalsList.count(), 2);
-
- QCOMPARE(recognizerSignalsList, signalList);
-
- } else if (idList.at(i) == "QtSensors.test2") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "test2()";
- signalList << "test3(bool)";
-
- QCOMPARE(recognizerSignalsList.count(), 3);
- QCOMPARE(recognizerSignalsList, signalList);
- }
- }
-}
-
-void Tst_qsensorgestureTest::tst_manager_registerSensorGestureRecognizer()
-{
- QSensorGestureManager manager;
- int num = manager.gestureIds().count();
- QSensorGestureRecognizer *recognizer = new QTest3Recognizer;
- bool ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, true);
- QCOMPARE(num+1, manager.gestureIds().count());
-
- recognizer = new QTest3Recognizer;
-// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors/test3\" is already known");
- ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, false);
- QCOMPARE(num+1, manager.gestureIds().count());
-}
-
-void Tst_qsensorgestureTest::tst_manager__newSensorAvailable()
-{
- QSensorGestureManager manager;
- QSensorGestureManager manager2;
-
- QSignalSpy spy_manager_available(&manager, SIGNAL(newSensorGestureAvailable()));
- QSignalSpy spy_manager2_available(&manager2, SIGNAL(newSensorGestureAvailable()));
-
- manager.gestureIds();
- QCOMPARE(spy_manager_available.count(),0);
- QCOMPARE(spy_manager2_available.count(),0);
-
- QTest3Recognizer *recognizer = new QTest3Recognizer;
- recognizer->changeId("QtSensors.test4");
-
- bool ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, true);
- QCOMPARE(spy_manager_available.count(),1);
-
- recognizer = new QTest3Recognizer;
- recognizer->changeId("QtSensors.test4");
-// QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test4\" is already known");
- ok = manager.registerSensorGestureRecognizer(recognizer);
- QCOMPARE(ok, false);
- QCOMPARE(spy_manager_available.count(),1);
- QCOMPARE(spy_manager2_available.count(),1);
-
- QScopedPointer<QSensorGesture> test4sg;
- test4sg.reset(new QSensorGesture(QStringList() << "QtSensors.test4"));
- QVERIFY(!test4sg->validIds().isEmpty());
- QVERIFY(test4sg->invalidIds().isEmpty());
-}
-
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_signals()
-{
- QStringList testidList;
- testidList << "QtSensors.test";
- testidList << "QtSensors.test2";
-
- Q_FOREACH (const QString &plugin, testidList) {
-
- QScopedPointer<QSensorGesture> thisGesture(new QSensorGesture(QStringList() << plugin));
-
- QSignalSpy spy_gesture_detected(thisGesture.data(), SIGNAL(detected(QString)));
- QScopedPointer<QSignalSpy> spy_gesture_tested(0);
-
- if (plugin == "QtSensors.test") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "tested()";
-
- QCOMPARE(thisGesture->gestureSignals().count(), 2);
- QCOMPARE(thisGesture->gestureSignals(), signalList);
-
- QCOMPARE(thisGesture->gestureSignals().at(1), QString("tested()"));
-
- spy_gesture_tested.reset(new QSignalSpy(thisGesture.data(), SIGNAL(tested())));
- } else if (plugin == "QtSensors.test2") {
- QStringList signalList;
- signalList << "detected(QString)";
- signalList << "test2()";
- signalList << "test3(bool)";
- QCOMPARE(thisGesture->gestureSignals().count(), 3);
- QCOMPARE(thisGesture->gestureSignals(), signalList);
-
- QCOMPARE(thisGesture->gestureSignals().at(1), QString("test2()"));
- spy_gesture_tested.reset(new QSignalSpy(thisGesture.data(), SIGNAL(test2())));
- }
-
- QVERIFY(!thisGesture->validIds().isEmpty());
- thisGesture->startDetection();
-
- QCOMPARE(spy_gesture_detected.count(),1);
-
- if (plugin == "QtSensors.test") {
- QCOMPARE(spy_gesture_tested->count(),1);
- QList<QVariant> arguments ;
- arguments = spy_gesture_detected.takeFirst(); // take the first signal
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
- } else if (plugin == "QtSensors.test2") {
- QCOMPARE(spy_gesture_tested->count(),1);
- }
- }
-
-}
-
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_threaded()
-{
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
-
- QScopedPointer<QThread> thread(new QThread);
- QScopedPointer<QSensorGestureWithSlots> t_gesture(new QSensorGestureWithSlots(QStringList() << "QtSensors.test"));
- t_gesture->moveToThread(thread.data());
-
- currentSignal = removeParens(gesture->gestureSignals().at(0));
-
- QSignalSpy thread_gesture(t_gesture->gesture, SIGNAL(detected(QString)));
- QSignalSpy spy_gesture2(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(gesture->isActive(),false);
- gesture->startDetection();
-
- QCOMPARE(thread_gesture.count(),0);
- QCOMPARE(spy_gesture2.count(),1);
-
- QCOMPARE(gesture->isActive(),true);
-
- thread->start();
- QTimer::singleShot(0, t_gesture.data(), SLOT(startDetection())); // Delivered on the thread
-
- QTRY_COMPARE(t_gesture->gesture->isActive(),true);
-
- QTRY_VERIFY(thread_gesture.count() > 0);
- spy_gesture2.clear();
- QTRY_VERIFY(spy_gesture2.count() > 0);
-
- QTimer::singleShot(0, t_gesture.data(), SLOT(stopDetection())); // Delivered on the thread
-
- QTRY_COMPARE(t_gesture->gesture->isActive(),false);
- QCOMPARE(gesture->isActive(),true);
-
- thread->quit();
- thread->wait();
-}
-
-void Tst_qsensorgestureTest::tst_sensor_gesture()
-{
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
-
- QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << "QtSensors.test2"));
- QScopedPointer<QSensorGesture> gesture3(new QSensorGesture(QStringList() << "QtSensors.test2"));
-
- QCOMPARE(gesture->validIds(),QStringList() << "QtSensors.test");
-
- QCOMPARE(gesture->gestureSignals().at(1), QString("tested()"));
-
- QVERIFY(gesture->invalidIds().isEmpty());
- QVERIFY(gesture2->invalidIds().isEmpty());
- QVERIFY(gesture3->invalidIds().isEmpty());
-
- currentSignal = removeParens(gesture->gestureSignals().at(1));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QSignalSpy spy_gesture2(gesture2.data(), SIGNAL(detected(QString)));
-
- QSignalSpy spy_gesture3_detected(gesture3.data(), SIGNAL(detected(QString)));
-
- QSignalSpy spy_gesture4_test2(gesture3.data(), SIGNAL(test2()));
- QSignalSpy spy_gesture5_test3(gesture3.data(), SIGNAL(test3(bool)));
-
-
- QCOMPARE(gesture->isActive(),false);
- gesture->startDetection();
-
- QCOMPARE(spy_gesture.count(),1);
-
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(gesture2->validIds(),QStringList() <<"QtSensors.test2");
- QCOMPARE(gesture2->gestureSignals().at(1), QString("test2()"));
- currentSignal = removeParens(gesture2->gestureSignals().at(1));
-
- connect(gesture2.data(),SIGNAL(detected(QString)),
- this,SLOT(shakeDetected(QString)));
-
- QCOMPARE(gesture2->isActive(),false);
-
- gesture2->startDetection();
-
- QCOMPARE(gesture2->isActive(),true);
-
- QCOMPARE(spy_gesture2.count(),1);
-
- QCOMPARE(spy_gesture3_detected.count(),0);
-
- gesture2->stopDetection();
-
- QCOMPARE(gesture2->isActive(),false);
- QCOMPARE(gesture3->isActive(),false);
-
- gesture3->startDetection();
-
- QCOMPARE(gesture3->isActive(),true);
- QCOMPARE(gesture2->isActive(),false);
-
- QCOMPARE(spy_gesture.count(),1);
-
- QCOMPARE(spy_gesture2.count(),1);
-
-
- QCOMPARE(spy_gesture3_detected.count(),1);
-
- QCOMPARE(spy_gesture4_test2.count(),1);
-
- QCOMPARE(spy_gesture5_test3.count(),1);
-
- QList<QVariant> arguments2 = spy_gesture5_test3.takeFirst();
- QCOMPARE(arguments2.at(0).toBool(), true);
-}
-
-void Tst_qsensorgestureTest::tst_recognizer()
-{
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.test"));
- QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << "QtSensors.test"));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
- QSignalSpy spy_gesture2(gesture2.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture2->isActive(),false);
-
- currentSignal = removeParens(gesture2->gestureSignals().at(0));
-
- gesture2->startDetection();//activate 2
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture2->isActive(),true);
-
- QCOMPARE(spy_gesture.count(),0);
-
- QCOMPARE(spy_gesture2.count(),1);
-
- QList<QVariant> arguments = spy_gesture2.takeFirst();
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
-
- QCOMPARE(spy_gesture2.count(),0);
-
- gesture->startDetection(); //activate 1
-
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(gesture2->isActive(),true);
-
- QTRY_COMPARE(spy_gesture.count(),1);
-
- QCOMPARE(spy_gesture2.count(),1);
-
- arguments = spy_gesture.takeFirst(); // take the first signal
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
- spy_gesture2.removeFirst();
-
- gesture->stopDetection(); //stop 1 gesture object
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(gesture2->isActive(),true);
-
- spy_gesture2.clear();
- gesture2->startDetection();
-
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(spy_gesture.count(),0);
-
- QCOMPARE(gesture2->isActive(),true);
-
- QTRY_COMPARE(spy_gesture2.count(), 1);
-}
-
-
-void Tst_qsensorgestureTest::tst_sensorgesture_noid()
-{
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << "QtSensors.noid"));
- QVERIFY(gesture->validIds().isEmpty());
- QCOMPARE(gesture->invalidIds(), QStringList() << "QtSensors.noid");
-
- QTest::ignoreMessage(QtWarningMsg, "QSignalSpy: No such signal: 'detected(QString)'");
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(spy_gesture.count(),0);
-
- gesture->startDetection();
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(spy_gesture.count(),0);
-
- gesture->stopDetection();
- QCOMPARE(gesture->isActive(),false);
- QCOMPARE(spy_gesture.count(),0);
-
- QVERIFY(gesture->gestureSignals().isEmpty());
-
- QCOMPARE(gesture->invalidIds() ,QStringList() << "QtSensors.noid");
-
- QSensorGestureManager manager;
- QStringList recognizerSignalsList = manager.recognizerSignals( "QtSensors.noid");
- QVERIFY(recognizerSignalsList.isEmpty());
-
- QVERIFY(!recognizerSignalsList.contains("QtSensors.noid"));
-
- QSensorGestureRecognizer *fakeRecognizer = manager.sensorGestureRecognizer("QtSensors.noid");
- QVERIFY(!fakeRecognizer);
-}
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_multi()
-{
-
- QStringList ids;
- ids << "QtSensors.test";
- ids <<"QtSensors.test2";
- ids << "QtSensors.bogus";
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(ids));
- QStringList gestureSignals = gesture->gestureSignals();
-
- gestureSignals.removeDuplicates() ;
- QCOMPARE(gestureSignals, gesture->gestureSignals());
-
- QCOMPARE(gesture->gestureSignals().count(), 4);
- QCOMPARE(gesture->invalidIds(), QStringList() << "QtSensors.bogus");
-
- QCOMPARE(gesture->isActive(),false);
-
- QSignalSpy spy_gesture_detected(gesture.data(), SIGNAL(detected(QString)));
- gesture->startDetection();
- QCOMPARE(gesture->isActive(),true);
- QCOMPARE(spy_gesture_detected.count(),2);
-
- QList<QVariant> arguments ;
- arguments = spy_gesture_detected.takeAt(0);
- QCOMPARE(arguments.at(0).toString(), QString("tested"));
-
- arguments = spy_gesture_detected.takeAt(0);
- QCOMPARE(arguments.at(0).toString(), QString("test2"));
-
- QTRY_COMPARE(spy_gesture_detected.count(),1);
-
- gesture->stopDetection();
-
- QCOMPARE(gesture->isActive(),false);
-
- {
- QSensorGestureManager manager;
- QVERIFY(!manager.gestureIds().contains("QtSensors.bogus"));
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.bogus");
- QVERIFY(recognizer == 0);
- }
-
-}
-
-void Tst_qsensorgestureTest::shakeDetected(const QString &type)
-{
- QCOMPARE(type,currentSignal);
-}
-
-void Tst_qsensorgestureTest::tst_sensor_gesture_notinitialized()
-{
- QTest::ignoreMessage(QtWarningMsg, "\"QtSensors.test.dup\" from the plugin \"TestGesturesDup\" is already known.");
- QSensorGestureManager manager;
- QSensorGestureRecognizer *recognizer = manager.sensorGestureRecognizer("QtSensors.test");
-
- QTest::ignoreMessage(QtWarningMsg, "Not starting. Gesture Recognizer not initialized");
- recognizer->startBackend();
- QVERIFY(recognizer->isActive() == false);
-
- QTest::ignoreMessage(QtWarningMsg, "Not stopping. Gesture Recognizer not initialized");
- recognizer->stopBackend();
- QVERIFY(recognizer->isActive() == false);
-
- recognizer->createBackend();
- QVERIFY(recognizer->isActive() == false);
-
-}
-
-
-QTEST_MAIN(Tst_qsensorgestureTest);
-
-#include "tst_qsensorgesturetest.moc"
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat
deleted file mode 100644
index abbaf6e8..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_cover.dat
+++ /dev/null
@@ -1,249 +0,0 @@
-accelerometer: 9710710777,-0.210793,0,9.58148
-accelerometer: 9710731162,-0.19163,0,9.56232
-orientation:9701320823,5
-proximity:9710737980,0
-irProximity:9710740238,0
-accelerometer: 9710750663,0.0574889,0.153304,9.94558
-accelerometer: 9710770805,-0.172467,0.0958148,9.65814
-accelerometer: 9710792014,-0.134141,0.0766519,9.65814
-accelerometer: 9710810844,-0.0766519,0.153304,9.84977
-accelerometer: 9710830680,-0.153304,0.0574889,9.60065
-irProximity:9710841251,0.152941
-accelerometer: 9710850852,0.0958148,0.0766519,9.94558
-accelerometer: 9710870872,-0.172467,0.0383259,9.6773
-accelerometer: 9710890830,0.0383259,0.0766519,9.84977
-accelerometer: 9710910850,-0.0574889,0.0958148,9.73479
-accelerometer: 9710930656,-0.114978,0.0766519,9.71563
-irProximity:9710941898,0
-accelerometer: 9710950858,0.0383259,0.0958148,9.86893
-accelerometer: 9710970847,-0.134141,0.114978,9.69646
-accelerometer: 9710990684,-0.019163,0.114978,9.86893
-accelerometer: 9711010825,-0.0574889,0.114978,9.77311
-accelerometer: 9711030845,-0.114978,0.0766519,9.71563
-accelerometer: 9711050803,-0.0383259,0.134141,9.81144
-accelerometer: 9711070884,-0.0766519,0.0958148,9.73479
-accelerometer: 9711090843,-0.0766519,0.114978,9.75395
-accelerometer: 9711110648,-0.019163,0.0766519,9.79228
-accelerometer: 9711130821,-0.0574889,0.0574889,9.71563
-irProximity:9711143253,0.0941176
-accelerometer: 9711150993,0.0383259,0.114978,9.69646
-accelerometer: 9711170646,-0.0574889,0.0766519,9.69646
-accelerometer: 9711190818,-0.0766519,0.114978,9.77311
-accelerometer: 9711210716,-0.0766519,0.0958148,9.77311
-accelerometer: 9711230827,-0.0574889,0.0766519,9.69646
-irProximity:9711243931,0.341176
-accelerometer: 9711250877,-0.0383259,0.153304,9.6773
-accelerometer: 9711270896,-0.019163,0.134141,9.69646
-proximity:9711272178,1
-accelerometer: 9711290855,-0.0574889,0.0574889,9.65814
-accelerometer: 9711310844,-0.0574889,0.0958148,9.77311
-accelerometer: 9711330833,-0.019163,0.134141,9.71563
-irProximity:9711344639,0.478431
-accelerometer: 9711350669,-0.0766519,0.0574889,9.71563
-accelerometer: 9711370994,-0.0383259,0.0958148,9.71563
-accelerometer: 9711390830,-0.0958148,0.0766519,9.73479
-accelerometer: 9711410850,-0.0766519,0.0574889,9.77311
-accelerometer: 9711430839,-0.0574889,0.0766519,9.75395
-accelerometer: 9711450675,-0.0766519,0.114978,9.77311
-accelerometer: 9711470878,-0.019163,0.0958148,9.73479
-accelerometer: 9711490836,-0.0383259,0.134141,9.6773
-accelerometer: 9711510825,-0.0383259,0.114978,9.73479
-accelerometer: 9711530662,-0.019163,0.0958148,9.75395
-accelerometer: 9711550834,-0.0574889,0.0574889,9.77311
-accelerometer: 9711570792,-0.019163,0.0574889,9.77311
-accelerometer: 9711590659,-0.0574889,0.0766519,9.71563
-accelerometer: 9711610526,-0.114978,0.0958148,9.77311
-accelerometer: 9711630576,-0.0958148,0.0574889,9.69646
-accelerometer: 9711650626,-0.0383259,0.0766519,9.79228
-accelerometer: 9711670585,-0.0574889,0.0383259,9.81144
-accelerometer: 9711690604,0,0.134141,9.75395
-accelerometer: 9711710594,-0.0574889,0.0766519,9.73479
-accelerometer: 9711730552,0,0.0574889,9.75395
-accelerometer: 9711750541,-0.0574889,0.0766519,9.73479
-accelerometer: 9711770469,-0.019163,0.153304,9.71563
-accelerometer: 9711791923,0.019163,0.0958148,9.86893
-accelerometer: 9711810661,-0.0383259,0.0958148,9.88809
-accelerometer: 9711830619,-0.172467,0.114978,9.6773
-accelerometer: 9711850761,-0.268282,0.0383259,9.58148
-accelerometer: 9711870506,-0.172467,0.0766519,9.79228
-accelerometer: 9711890647,-0.19163,0.0574889,9.77311
-accelerometer: 9711910697,-0.249119,0.0574889,9.73479
-accelerometer: 9711930686,-0.153304,0.019163,9.79228
-accelerometer: 9711950614,-0.249119,0.0958148,9.61981
-accelerometer: 9711970634,-0.210793,0.153304,9.77311
-accelerometer: 9711990684,-0.229956,0.0383259,9.75395
-accelerometer: 9712010642,-0.210793,0.019163,9.65814
-accelerometer: 9712030814,-0.268282,0.114978,9.77311
-accelerometer: 9712050834,-0.210793,0.0766519,9.75395
-accelerometer: 9712070854,-0.153304,0.0766519,9.77311
-accelerometer: 9712090843,-0.19163,0.0958148,9.77311
-accelerometer: 9712110832,-0.210793,0.0958148,9.75395
-accelerometer: 9712130882,-0.172467,0.0766519,9.71563
-accelerometer: 9712150810,-0.153304,0.0383259,9.73479
-accelerometer: 9712170799,-0.249119,0.0766519,9.6773
-accelerometer: 9712190666,-0.172467,0.0766519,9.73479
-accelerometer: 9712210777,-0.172467,0.0766519,9.71563
-accelerometer: 9712230827,-0.153304,0.0574889,9.75395
-accelerometer: 9712250846,-0.172467,0.0383259,9.77311
-accelerometer: 9712270835,-0.249119,0.0958148,9.75395
-accelerometer: 9712290824,-0.19163,0.0383259,9.6773
-accelerometer: 9712310844,-0.153304,0.114978,9.79228
-accelerometer: 9712330833,-0.134141,0.0958148,9.77311
-accelerometer: 9712350822,-0.210793,0.0574889,9.73479
-accelerometer: 9712370597,-0.153304,0.0958148,9.77311
-accelerometer: 9712390769,-0.287445,0.0958148,9.77311
-accelerometer: 9712410850,-0.172467,0.0766519,9.75395
-accelerometer: 9712430656,-0.153304,0.0766519,9.71563
-accelerometer: 9712450645,-0.172467,0.0958148,9.77311
-accelerometer: 9712470847,-0.153304,0.0958148,9.65814
-accelerometer: 9712490836,-0.134141,0.0574889,9.79228
-accelerometer: 9712510825,-0.153304,0.0766519,9.73479
-accelerometer: 9712530845,-0.210793,0.0574889,9.6773
-accelerometer: 9712550803,-0.210793,0.0958148,9.77311
-accelerometer: 9712570792,-0.19163,0.0383259,9.75395
-accelerometer: 9712590659,-0.19163,0.0958148,9.69646
-accelerometer: 9712610648,-0.229956,0.0958148,9.6773
-accelerometer: 9712630851,-0.172467,0.0766519,9.79228
-accelerometer: 9712650840,-0.229956,0.114978,9.71563
-accelerometer: 9712670829,-0.19163,0.0958148,9.69646
-accelerometer: 9712690849,-0.19163,0.114978,9.77311
-accelerometer: 9712710838,-0.172467,0.019163,9.77311
-accelerometer: 9712730827,-0.134141,0.114978,9.79228
-accelerometer: 9712750816,-0.19163,0.0383259,9.75395
-accelerometer: 9712770805,-0.249119,0.0766519,9.73479
-accelerometer: 9712792320,-0.153304,0.0383259,9.6773
-accelerometer: 9712810874,-0.153304,0.0574889,9.84977
-accelerometer: 9712830833,-0.172467,0.0574889,9.75395
-accelerometer: 9712850669,-0.172467,0.0766519,9.73479
-accelerometer: 9712870811,-0.210793,0.0958148,9.73479
-accelerometer: 9712890830,-0.210793,0.114978,9.75395
-accelerometer: 9712910850,-0.210793,0.0766519,9.6773
-accelerometer: 9712930839,-0.249119,0.0766519,9.6773
-accelerometer: 9712950797,-0.134141,0.0958148,9.96474
-accelerometer: 9712970817,-0.019163,0.19163,10.1947
-accelerometer: 9712990684,-0.287445,0.0383259,9.58148
-accelerometer: 9713010825,-0.249119,0.0958148,9.84977
-accelerometer: 9713030662,-0.19163,0.0383259,9.73479
-accelerometer: 9713050803,-0.287445,0.0766519,9.71563
-accelerometer: 9713070854,-0.249119,0.0383259,9.71563
-accelerometer: 9713090843,-0.229956,0.0383259,9.77311
-accelerometer: 9713110832,-0.210793,0.0383259,9.73479
-accelerometer: 9713130851,-0.268282,0.0958148,9.65814
-accelerometer: 9713150779,-0.210793,0.0574889,9.71563
-accelerometer: 9713170799,-0.19163,0.114978,9.77311
-accelerometer: 9713190879,-0.249119,0,9.75395
-accelerometer: 9713210655,-0.249119,0.0574889,9.73479
-accelerometer: 9713230827,-0.249119,0.0766519,9.71563
-accelerometer: 9713250877,-0.249119,0.114978,9.75395
-accelerometer: 9713270652,-0.249119,0.0958148,9.71563
-accelerometer: 9713290794,-0.249119,0.0574889,9.75395
-accelerometer: 9713310844,-0.19163,0.0958148,9.8306
-accelerometer: 9713330833,-0.249119,0.0383259,9.73479
-accelerometer: 9713350791,-0.229956,0.0766519,9.69646
-accelerometer: 9713370841,-0.249119,0.0766519,9.79228
-accelerometer: 9713390830,-0.249119,0.0383259,9.73479
-accelerometer: 9713410850,-0.287445,0.0766519,9.73479
-accelerometer: 9713430839,-0.229956,0.0574889,9.77311
-accelerometer: 9713450614,-0.249119,0.0383259,9.65814
-accelerometer: 9713470878,-0.229956,0.0958148,9.71563
-accelerometer: 9713490836,-0.306608,0.0958148,9.75395
-accelerometer: 9713510795,-0.249119,0.0766519,9.8306
-accelerometer: 9713530845,-0.249119,0.0574889,9.6773
-accelerometer: 9713551017,-0.268282,0.019163,9.73479
-accelerometer: 9713570884,-0.306608,0.0574889,9.77311
-accelerometer: 9713590659,-0.268282,0.0766519,9.61981
-accelerometer: 9713610832,-0.229956,0.0383259,9.8306
-accelerometer: 9713630668,-0.229956,0,9.71563
-accelerometer: 9713650810,-0.249119,0.0383259,9.65814
-accelerometer: 9713670829,-0.210793,0.0383259,9.71563
-accelerometer: 9713690666,-0.229956,0.0574889,9.79228
-accelerometer: 9713710807,-0.268282,0.153304,9.40902
-accelerometer: 9713730827,-0.287445,0.134141,9.56232
-accelerometer: 9713750511,0.594052,0.114978,10.233
-accelerometer: 9713770835,-0.210793,0.153304,9.63897
-accelerometer: 9713791343,-0.0766519,0.134141,9.56232
-accelerometer: 9713810874,-0.114978,0.114978,9.6773
-accelerometer: 9713830863,-0.153304,0.172467,9.60065
-accelerometer: 9713850883,0.153304,0.0766519,10.0797
-accelerometer: 9713870689,-0.229956,0.0958148,9.60065
-accelerometer: 9713890769,0.114978,0.0383259,9.94558
-accelerometer: 9713910850,-0.19163,0.0574889,9.63897
-accelerometer: 9713930839,-0.0574889,0.0958148,9.71563
-accelerometer: 9713950675,-0.019163,0.153304,9.75395
-irProximity:9713954380,0.0588235
-accelerometer: 9713970878,-0.19163,0.0574889,9.61981
-accelerometer: 9713990806,0.0958148,0.114978,10.0031
-proximity:9713991142,0
-accelerometer: 9714010642,-0.19163,0.0574889,9.60065
-accelerometer: 9714030845,-0.019163,0.0958148,9.77311
-accelerometer: 9714050651,0.0383259,0.153304,9.75395
-accelerometer: 9714070792,-0.134141,0.0766519,9.75395
-accelerometer: 9714090843,0.019163,0.0766519,9.81144
-accelerometer: 9714110648,-0.0574889,0.114978,9.6773
-accelerometer: 9714130851,-0.114978,0.0766519,9.73479
-accelerometer: 9714150535,-0.019163,0.0958148,9.81144
-irProximity:9714155857,0.141176
-accelerometer: 9714170829,-0.114978,0.0766519,9.71563
-accelerometer: 9714190849,-0.0766519,0.0958148,9.75395
-accelerometer: 9714210838,0.0383259,0.114978,9.86893
-accelerometer: 9714230827,-0.134141,0.0766519,9.65814
-accelerometer: 9714250694,-0.0574889,0.0958148,9.81144
-irProximity:9714256717,0.14902
-accelerometer: 9714270835,-0.019163,0.0958148,9.75395
-accelerometer: 9714290641,-0.0383259,0.0574889,9.69646
-accelerometer: 9714310813,0.019163,0.0574889,9.79228
-accelerometer: 9714330833,-0.0766519,0.114978,9.75395
-accelerometer: 9714350700,-0.0383259,0.114978,9.65814
-irProximity:9714357578,0.0196078
-accelerometer: 9714370872,-0.019163,0.0766519,9.77311
-accelerometer: 9714390830,-0.0383259,0.0958148,9.81144
-accelerometer: 9714410850,-0.0574889,0.0766519,9.71563
-accelerometer: 9714430656,-0.0383259,0.0766519,9.79228
-accelerometer: 9714450645,-0.0574889,0.114978,9.73479
-irProximity:9714458164,0.0117647
-accelerometer: 9714470664,-0.019163,0.134141,9.73479
-accelerometer: 9714490806,-0.0766519,0.134141,9.73479
-accelerometer: 9714510856,-0.0958148,0.114978,9.79228
-accelerometer: 9714530662,-0.0958148,0.0958148,9.77311
-accelerometer: 9714550620,-0.0958148,0.114978,9.81144
-irProximity:9714559055,0.101961
-accelerometer: 9714570854,-0.114978,0.0766519,9.79228
-accelerometer: 9714590659,-0.0958148,0.0766519,9.75395
-accelerometer: 9714610801,-0.0766519,0.0958148,9.73479
-accelerometer: 9714630851,-0.019163,0.0766519,9.73479
-accelerometer: 9714650688,-4.90572,0.114978,9.71563
-irProximity:9714659977,0
-accelerometer: 9714670829,-0.0383259,0.114978,9.73479
-accelerometer: 9714690849,-0.0383259,0.0958148,9.77311
-accelerometer: 9714710655,-0.0766519,0.114978,9.75395
-accelerometer: 9714730766,-0.0958148,0.0958148,9.73479
-accelerometer: 9714750694,-0.0958148,0.114978,9.81144
-irProximity:9714760837,0.12549
-accelerometer: 9714770866,-0.134141,0.0766519,9.71563
-accelerometer: 9714790550,-0.0766519,0.0383259,9.75395
-accelerometer: 9714810844,-0.0383259,0.114978,9.75395
-accelerometer: 9714830833,-0.0574889,0.114978,9.71563
-accelerometer: 9714850700,-0.0574889,0.0766519,9.73479
-irProximity:9714861515,0.0823529
-accelerometer: 9714870841,-0.0383259,0.0574889,9.69646
-accelerometer: 9714890647,-0.0766519,0.0958148,9.77311
-accelerometer: 9714910850,-0.0383259,0.0766519,9.75395
-accelerometer: 9714930839,-0.0383259,0.0574889,9.71563
-accelerometer: 9714950645,-0.0574889,0.114978,9.75395
-irProximity:9714962162,0.168627
-accelerometer: 9714970878,-0.0383259,0.172467,9.75395
-accelerometer: 9714991721,-0.459911,-0.172467,9.65814
-accelerometer: 9715010520,0.498237,0.0766519,10.3672
-accelerometer: 9715030662,-0.249119,0.0383259,9.54316
-accelerometer: 9715050651,-0.594052,0.019163,8.98743
-irProximity:9715062900,0.0352941
-accelerometer: 9715070670,-0.574889,0.0383259,9.06409
-accelerometer: 9715090659,-0.459911,0.0766519,9.25571
-accelerometer: 9715110679,-0.32577,0.019163,9.37069
-accelerometer: 9715130668,-0.210793,0.0383259,9.524
-accelerometer: 9715150901,-0.19163,0.0766519,9.61981
-irProximity:9715163547,0.184314
-accelerometer: 9715170554,-0.210793,0.153304,9.73479
-accelerometer: 9715190604,0.134141,0.0383259,10.5396
-accelerometer: 9715210655,-0.306608,0.0766519,9.77311
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat
deleted file mode 100644
index 981d38ef..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_doubletap.dat
+++ /dev/null
@@ -1,161 +0,0 @@
-accelerometer: 925170646,-0.5174,0.919823,8.39338
-accelerometer: 925190666,0.306608,0.344933,9.1599
-accelerometer: 925210685,0.421585,0.402422,10.1947
-orientation:910530601,5
-accelerometer: 925230552,-0.229956,0.114978,9.63897
-proximity:925232120,0
-accelerometer: 925250724,-0.0958148,0.0766519,9.58148
-accelerometer: 925270835,0.210793,0.440748,9.77311
-accelerometer: 925290824,0.0383259,0.5174,9.75395
-accelerometer: 925310844,-0.0766519,0.651541,9.71563
-accelerometer: 925330650,0.249119,0.498237,9.61981
-accelerometer: 925350852,0,0.689867,9.61981
-accelerometer: 925370841,0.0766519,0.70903,9.56232
-accelerometer: 925390861,0.153304,0.766519,9.84977
-accelerometer: 925410880,-0.114978,0.728193,9.92642
-accelerometer: 925430686,0.153304,0.766519,9.94558
-accelerometer: 925450858,-0.0766519,0.689867,9.6773
-accelerometer: 925470878,-0.287445,0.804845,9.65814
-accelerometer: 925490836,-0.153304,0.881497,10.0031
-accelerometer: 925510825,0.134141,0.747356,10.0031
-accelerometer: 925530692,0,0.689867,9.84977
-tap:926297152,1
-accelerometer: 925550864,-0.134141,0.594052,9.79228
-accelerometer: 925570701,-0.019163,0.824008,9.88809
-accelerometer: 925590934,0.153304,0.555726,9.8306
-accelerometer: 925610679,0.0958148,0.613215,9.84977
-accelerometer: 925630668,0.153304,0.804845,9.44734
-irProximity:925638583,0.027451
-accelerometer: 925650871,0.555726,0.594052,9.46651
-accelerometer: 925670860,0.574889,0.306608,9.37069
-accelerometer: 925690879,0.249119,0.958148,9.88809
-accelerometer: 925710868,0.613215,0.383259,9.98391
-accelerometer: 925730674,0.383259,0.651541,9.60065
-irProximity:925739444,0.109804
-accelerometer: 925750694,0.479074,0.498237,9.60065
-accelerometer: 925770774,0.594052,0.5174,9.8306
-accelerometer: 925790824,0.364096,0.594052,9.8306
-accelerometer: 925810844,0.364096,0.498237,9.81144
-accelerometer: 925830680,0.287445,0.555726,9.79228
-irProximity:925840304,0
-accelerometer: 925850883,0.364096,0.651541,9.65814
-accelerometer: 925870872,0.287445,0.613215,9.77311
-accelerometer: 925890830,0.383259,0.651541,9.94558
-accelerometer: 925910697,0.421585,0.555726,9.77311
-accelerometer: 925930686,0.210793,0.594052,9.6773
-irProximity:925941165,0.0666667
-accelerometer: 925950828,0.613215,0.498237,9.81144
-accelerometer: 925970878,0.613215,0.536563,9.81144
-accelerometer: 925990653,0.5174,0.536563,9.73479
-accelerometer: 926010673,-30.3158,7.87598,7.93347
-accelerometer: 926030662,3.37268,3.67929,11.0762
-irProximity:926041659,0.180392
-accelerometer: 926050865,0.996474,0.134141,10.2139
-accelerometer: 926070854,4.17753,0.555726,8.18259
-accelerometer: 926090690,-1.37973,-0.364096,9.08325
-accelerometer: 926110832,-0.344933,-0.0958148,10.9229
-accelerometer: 926130882,1.51387,0.364096,10.3097
-irProximity:926142459,0.105882
-accelerometer: 926150871,0.402422,0.134141,9.23655
-accelerometer: 926170677,1.07313,0.364096,9.1599
-accelerometer: 926190788,0.90066,0.459911,9.524
-accelerometer: 926210868,8.83413,-6.22797,9.25571
-accelerometer: 926230857,2.33788,1.45639,11.7469
-irProximity:926243167,0.137255
-accelerometer: 926250724,2.39537,0.689867,8.85329
-accelerometer: 926270927,3.43017,0.383259,6.74537
-accelerometer: 926290824,-1.93546,-0.689867,8.39338
-accelerometer: 926310874,-0.651541,0.555726,11.4595
-accelerometer: 926330833,1.13062,1.0348,10.7121
-irProximity:926343875,0.0941176
-accelerometer: 926350913,0.651541,0.670704,8.62334
-accelerometer: 926370841,0.938986,0.459911,8.69999
-accelerometer: 926390830,0.574889,0.555726,9.65814
-accelerometer: 926410697,-0.0383259,0.536563,10.118
-accelerometer: 926430839,0.0574889,0.5174,10.0031
-irProximity:926444522,0.0313726
-accelerometer: 926450675,0.0383259,0.402422,9.86893
-accelerometer: 926470847,0.114978,0.536563,9.81144
-accelerometer: 926490867,0.0766519,0.613215,9.8306
-accelerometer: 926510825,-0.019163,0.689867,9.6773
-accelerometer: 926530723,0.0958148,0.670704,9.75395
-irProximity:926545199,0.109804
-accelerometer: 926550681,0.134141,0.824008,9.81144
-accelerometer: 926571281,0.268282,0.70903,9.71563
-accelerometer: 926590720,0.19163,0.689867,9.63897
-accelerometer: 926610832,0.172467,0.613215,9.79228
-accelerometer: 926630973,-0.0958148,0.70903,9.86893
-irProximity:926645877,0
-accelerometer: 926650626,0,0.728193,10.2139
-accelerometer: 926670585,0.019163,0.632378,9.65814
-accelerometer: 926690879,0.0383259,0.689867,9.61981
-accelerometer: 926710868,-0.019163,0.785682,9.79228
-accelerometer: 926730857,-0.134141,0.824008,9.86893
-irProximity:926746554,0.0784314
-accelerometer: 926750877,-0.210793,0.843171,9.84977
-accelerometer: 926770835,-0.0766519,0.843171,9.71563
-accelerometer: 926790855,-0.172467,0.785682,9.44734
-accelerometer: 926810844,-0.19163,0.843171,9.48567
-accelerometer: 926830680,-0.383259,0.977311,9.81144
-irProximity:926847201,0.0980392
-accelerometer: 926850883,-0.287445,0.958148,9.77311
-accelerometer: 926870689,-0.306608,1.0348,9.6773
-accelerometer: 926890800,-0.32577,0.90066,9.6773
-accelerometer: 926910697,-0.287445,1.01564,9.81144
-accelerometer: 926930900,-0.344933,0.977311,9.65814
-irProximity:926947909,0.109804
-accelerometer: 926950889,-0.344933,0.977311,9.60065
-accelerometer: 926970878,-0.210793,0.958148,9.61981
-accelerometer: 926990684,-0.19163,0.919823,9.77311
-accelerometer: 927010642,-0.19163,0.90066,9.81144
-accelerometer: 927030814,-0.172467,0.881497,9.77311
-irProximity:927048617,0
-accelerometer: 927050834,-0.268282,0.804845,9.73479
-accelerometer: 927070854,-0.210793,0.824008,9.65814
-accelerometer: 927090843,-0.19163,0.804845,9.77311
-accelerometer: 927110832,-0.249119,0.881497,9.73479
-accelerometer: 927130882,-0.440748,0.728193,9.6773
-irProximity:927149356,0.0470588
-accelerometer: 927150840,-0.32577,0.804845,9.86893
-accelerometer: 927170829,-0.402422,0.862334,9.71563
-accelerometer: 927190696,-0.364096,0.804845,9.73479
-accelerometer: 927210777,-0.402422,0.804845,9.88809
-accelerometer: 927230827,-0.364096,0.804845,9.73479
-irProximity:927250369,0.0823529
-accelerometer: 927250541,-0.32577,0.70903,9.71563
-accelerometer: 927270805,-0.306608,0.728193,9.8306
-accelerometer: 927290672,-0.153304,0.785682,9.71563
-accelerometer: 927310813,-0.306608,0.766519,9.63897
-accelerometer: 927330863,-0.306608,0.728193,9.69646
-irProximity:927351077,0.0862745
-accelerometer: 927350883,-0.229956,0.804845,14.6597
-accelerometer: 927370872,-0.249119,0.843171,9.65814
-accelerometer: 927390830,-0.249119,0.881497,9.61981
-accelerometer: 927410850,-0.32577,0.843171,9.86893
-accelerometer: 927430686,-0.364096,0.824008,9.79228
-irProximity:927451632,0
-accelerometer: 927450492,-0.32577,0.804845,9.69646
-accelerometer: 927470847,-0.344933,0.785682,9.69646
-accelerometer: 927490836,-0.32577,0.766519,9.69646
-accelerometer: 927510825,-0.249119,0.804845,9.88809
-accelerometer: 927530875,-0.383259,0.766519,9.81144
-accelerometer: 927550987,-0.32577,0.728193,9.86893
-accelerometer: 927570884,-0.383259,0.785682,9.96474
-accelerometer: 927590904,-0.459911,0.728193,10.0606
-accelerometer: 927610862,-0.5174,0.728193,8.98743
-accelerometer: 927630851,-0.172467,0.958148,7.83765
-accelerometer: 927650657,-0.919823,1.01564,9.29404
-accelerometer: 927670677,-1.0348,1.09229,10.3288
-accelerometer: 927690696,-0.440748,0.919823,9.75395
-accelerometer: 927710594,-0.402422,0.843171,9.65814
-accelerometer: 927730521,-0.32577,1.20727,9.92642
-accelerometer: 927750633,-0.421585,1.34141,10.0222
-irProximity:927753695,0.054902
-accelerometer: 927770683,-0.5174,1.43722,9.86893
-accelerometer: 927790672,-0.459911,1.47555,10.118
-accelerometer: 927810691,-0.498237,1.20727,10.4821
-accelerometer: 927830680,-0.689867,0.862334,11.9385
-accelerometer: 927850669,-0.785682,0.938986,10.4247
-irProximity:927854373,0
-accelerometer: 927870689,-0.459911,0.996474,9.23655
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat
deleted file mode 100644
index 3b82d472..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_hover.dat
+++ /dev/null
@@ -1,256 +0,0 @@
-accelerometer: 932390769,0.287445,0.019163,10.0606
-accelerometer: 932410850,-0.479074,0.0766519,9.25571
-orientation:910530601,5
-accelerometer: 932430564,0.229956,0.019163,10.0414
-proximity:932435793,0
-irProximity:932439852,0.184314
-accelerometer: 932450858,-0.306608,0.114978,9.77311
-accelerometer: 932470664,0.0383259,-0.0383259,9.75395
-accelerometer: 932490806,0.114978,0,9.94558
-accelerometer: 932510825,-0.268282,0.153304,9.6773
-accelerometer: 932530692,0.134141,0.134141,10.0989
-irProximity:932540865,0
-accelerometer: 932550834,-0.229956,0.0574889,9.61981
-accelerometer: 932570701,-0.019163,0,9.73479
-accelerometer: 932590995,-0.0958148,0.0574889,9.88809
-accelerometer: 932610832,-0.172467,0.114978,9.6773
-accelerometer: 932630698,-0.019163,0.019163,14.6788
-irProximity:932641726,0.0313726
-accelerometer: 932650871,-0.114978,0.0383259,9.73479
-accelerometer: 932670860,-0.0766519,0.019163,9.71563
-accelerometer: 932690879,-0.019163,0.0766519,9.73479
-accelerometer: 932710655,-0.0766519,0.114978,9.75395
-accelerometer: 932730766,-0.0383259,0.0574889,9.8306
-irProximity:932742434,0.0745098
-accelerometer: 932750663,-0.0383259,0.0574889,9.79228
-accelerometer: 932770805,0.019163,0.0958148,9.75395
-accelerometer: 932790824,-0.114978,0.0574889,9.8306
-accelerometer: 932810844,-0.0766519,0.0958148,9.69646
-accelerometer: 932830833,-0.134141,0.0958148,9.75395
-irProximity:932843112,0
-accelerometer: 932850883,-0.114978,0.0766519,9.73479
-accelerometer: 932870841,-0.0574889,0.0766519,9.75395
-accelerometer: 932890647,-0.0958148,0.0766519,9.77311
-accelerometer: 932910667,0,0.0958148,9.77311
-accelerometer: 932930991,-0.019163,0.0958148,9.81144
-irProximity:932943789,0.160784
-accelerometer: 932950858,-0.0383259,0.0766519,9.81144
-accelerometer: 932970847,-0.0958148,0.114978,9.77311
-accelerometer: 932990684,-0.0766519,0.114978,9.77311
-accelerometer: 933010825,-0.0766519,0.0574889,9.81144
-accelerometer: 933030845,-0.0766519,0.114978,9.79228
-irProximity:933044497,0
-accelerometer: 933050865,-0.0958148,0.0574889,9.79228
-accelerometer: 933070854,-0.0383259,0.114978,9.77311
-accelerometer: 933090843,-0.0766519,0.114978,9.79228
-accelerometer: 933110832,-0.0574889,0.0574889,9.73479
-accelerometer: 933130668,-0.0766519,0.0574889,9.77311
-irProximity:933145144,0.176471
-accelerometer: 933150871,-0.0958148,0.0574889,9.77311
-accelerometer: 933170646,-0.0766519,0.0958148,9.8306
-accelerometer: 933190788,-0.0766519,0.0766519,9.75395
-accelerometer: 933210838,-0.0574889,0.0574889,9.84977
-accelerometer: 933230827,-0.114978,0.0766519,9.81144
-irProximity:933245852,0.211765
-accelerometer: 933250602,-0.0766519,0.0766519,9.79228
-accelerometer: 933270866,-0.0574889,0.0574889,9.79228
-accelerometer: 933290824,-0.114978,0.0574889,9.79228
-accelerometer: 933310661,-0.0766519,0.114978,9.81144
-accelerometer: 933330772,-0.0383259,0.0766519,9.73479
-irProximity:933346529,0.27451
-accelerometer: 933350883,-0.0958148,0.134141,9.75395
-accelerometer: 933370872,-0.0766519,0.0766519,9.73479
-accelerometer: 933390830,-0.114978,0.0574889,9.73479
-accelerometer: 933410850,-0.0574889,0.0766519,9.75395
-accelerometer: 933430839,-0.0958148,0.0574889,9.77311
-irProximity:933447146,0.278431
-accelerometer: 933450858,-0.0574889,0.114978,9.75395
-accelerometer: 933470878,-0.0383259,0.0383259,9.79228
-accelerometer: 933490867,-0.114978,0.0766519,9.81144
-accelerometer: 933510856,-0.134141,0.0958148,9.79228
-accelerometer: 933530875,-0.0574889,0.0766519,9.73479
-irProximity:933547854,0.290196
-accelerometer: 933550651,-0.0574889,0.0574889,9.73479
-accelerometer: 933570640,-0.0383259,0.114978,9.73479
-accelerometer: 933590720,-0.0574889,0.0574889,9.77311
-accelerometer: 933610801,-0.0958148,0.0383259,9.81144
-accelerometer: 933630851,-0.019163,0.0766519,9.86893
-irProximity:933648562,0.282353
-accelerometer: 933650871,-0.0766519,0,9.79228
-accelerometer: 933670829,-0.114978,0.0766519,9.73479
-accelerometer: 933690666,-0.0766519,0.0766519,9.73479
-accelerometer: 933710777,-0.0766519,0.0383259,9.75395
-accelerometer: 933730644,-0.019163,0.114978,9.81144
-irProximity:933749178,0.301961
-accelerometer: 933750877,-0.0958148,0.0766519,9.77311
-accelerometer: 933770835,-0.0958148,0.0766519,9.75395
-accelerometer: 933790824,-0.114978,0.019163,9.8306
-accelerometer: 933810844,-0.019163,0.0383259,9.6773
-accelerometer: 933830833,-0.0766519,0.0766519,9.77311
-irProximity:933849886,0.286275
-accelerometer: 933850852,-0.0958148,0.114978,9.75395
-accelerometer: 933870841,-0.0574889,0.0958148,9.77311
-accelerometer: 933890830,-0.0574889,0.114978,9.73479
-accelerometer: 933911582,-0.0958148,0.0766519,9.75395
-accelerometer: 933930808,-0.019163,0.0766519,9.77311
-accelerometer: 933950858,-0.0574889,0.0766519,9.71563
-accelerometer: 933970664,-0.0766519,0.0958148,9.75395
-accelerometer: 933990653,-0.0574889,0.0574889,9.73479
-accelerometer: 934010642,-0.0766519,0.0958148,9.77311
-accelerometer: 934030845,-0.019163,0.0574889,9.77311
-irProximity:934051241,0.282353
-accelerometer: 934050834,-0.153304,0.0383259,9.79228
-accelerometer: 934070854,-0.0383259,0.0574889,9.73479
-accelerometer: 934090659,-0.0574889,0.0958148,9.77311
-accelerometer: 934110801,-0.0383259,0.0574889,9.71563
-accelerometer: 934130851,-0.172467,0.0574889,9.77311
-irProximity:934151888,0.290196
-accelerometer: 934150596,-0.0383259,0.0958148,9.73479
-accelerometer: 934170799,-0.0574889,0.0383259,9.81144
-accelerometer: 934190849,-0.0574889,0.019163,9.77311
-accelerometer: 934210838,-0.114978,0.0766519,9.81144
-accelerometer: 934230827,-0.0383259,0.0766519,9.75395
-accelerometer: 934250907,-0.0958148,0.0958148,9.77311
-accelerometer: 934270866,-0.0766519,0.0383259,9.81144
-accelerometer: 934290824,-0.0958148,0.0574889,9.8306
-accelerometer: 934310844,-0.114978,0.0766519,9.71563
-accelerometer: 934330833,-0.0574889,0.0766519,9.73479
-accelerometer: 934350700,-0.0958148,0.019163,9.79228
-irProximity:934353671,0.294118
-accelerometer: 934370872,-0.0766519,0.0574889,9.8306
-accelerometer: 934390647,-0.0958148,0.0958148,9.79228
-accelerometer: 934410789,-0.0383259,0.0574889,9.73479
-accelerometer: 934430656,-0.0574889,0.0766519,9.77311
-accelerometer: 934450614,-0.0383259,0.0958148,9.79228
-irProximity:934454531,0.309804
-accelerometer: 934470847,-0.0766519,0.0766519,9.71563
-accelerometer: 934490836,-0.0766519,0.0766519,9.77311
-accelerometer: 934510825,-0.0766519,0.0383259,9.79228
-accelerometer: 934530845,-0.019163,0.019163,9.79228
-accelerometer: 934550681,-0.114978,0.0766519,9.77311
-irProximity:934555361,0.247059
-accelerometer: 934570670,-0.0766519,0.0574889,9.75395
-accelerometer: 934590904,-0.0574889,0.0766519,9.73479
-accelerometer: 934610862,-0.0958148,0.0958148,9.75395
-accelerometer: 934630851,-0.0383259,0.0958148,9.73479
-accelerometer: 934650871,-0.134141,0.0958148,9.81144
-irProximity:934656344,0
-accelerometer: 934670829,-0.114978,0.114978,9.75395
-accelerometer: 934690849,-0.019163,0.0383259,9.8306
-accelerometer: 934710838,-0.0766519,0.0383259,9.71563
-accelerometer: 934730827,-0.134141,0.134141,9.75395
-accelerometer: 934750694,-0.0766519,0.0958148,9.75395
-irProximity:934757204,0.14902
-accelerometer: 934770835,-0.0574889,0.0958148,9.77311
-accelerometer: 934790855,-0.0958148,0.0574889,9.81144
-accelerometer: 934810661,-0.0574889,0.0958148,9.73479
-accelerometer: 934830772,-0.114978,0.0958148,9.8306
-accelerometer: 934850669,-0.0958148,0.0766519,9.77311
-accelerometer: 934870780,-0.0958148,0.0958148,9.75395
-accelerometer: 934890861,-0.019163,0.0574889,9.71563
-accelerometer: 934911186,-0.0383259,0.0766519,9.79228
-accelerometer: 934930839,-0.134141,0.114978,9.75395
-accelerometer: 934950675,-0.0958148,0.0574889,9.75395
-irProximity:934958743,0.12549
-accelerometer: 934970847,-0.0383259,0.0766519,9.86893
-accelerometer: 934990653,-0.0574889,0.0958148,9.77311
-accelerometer: 935010795,-0.0766519,0.0958148,9.84977
-accelerometer: 935030875,-0.0574889,0.0766519,9.77311
-accelerometer: 935050681,-0.0383259,0.0383259,9.71563
-irProximity:935059603,0.145098
-accelerometer: 935070884,-0.0383259,0.0958148,9.73479
-accelerometer: 935090873,-0.0958148,0.114978,9.81144
-accelerometer: 935110862,-0.0383259,0.0958148,9.77311
-accelerometer: 935130851,-0.0574889,0.019163,9.81144
-accelerometer: 935150688,-0.0958148,0.0766519,9.86893
-irProximity:935160464,0
-accelerometer: 935170860,-0.0574889,0.0766519,9.77311
-accelerometer: 935190879,-0.134141,0.153304,9.79228
-accelerometer: 935210838,-0.0766519,0.0574889,9.86893
-accelerometer: 935230644,-0.0958148,0.0574889,9.73479
-accelerometer: 935250724,-0.0574889,0.0766519,9.77311
-irProximity:935261294,0.137255
-accelerometer: 935270652,-0.0766519,0.0958148,9.75395
-accelerometer: 935290794,-0.0574889,0.0766519,9.75395
-accelerometer: 935310874,-0.0383259,0.019163,9.75395
-accelerometer: 935330863,-0.019163,0.0574889,9.73479
-accelerometer: 935350700,-0.0958148,0.0958148,9.77311
-irProximity:935362093,0.109804
-accelerometer: 935370841,-0.0958148,0.114978,9.75395
-accelerometer: 935390861,-0.0383259,0.0958148,9.77311
-accelerometer: 935410697,-0.0958148,0.0958148,9.77311
-accelerometer: 935430808,-0.153304,0.0766519,9.77311
-accelerometer: 935450858,-0.0574889,0.019163,9.75395
-irProximity:935462801,0.14902
-accelerometer: 935470878,-0.019163,0.0766519,9.73479
-accelerometer: 935490867,-0.0383259,0.0958148,9.84977
-accelerometer: 935510856,-0.0766519,0.019163,9.73479
-accelerometer: 935530875,-0.0383259,0.0958148,9.81144
-accelerometer: 935550865,-0.0766519,0.0958148,9.79228
-irProximity:935563509,0
-accelerometer: 935570701,-0.0766519,0.0766519,9.73479
-accelerometer: 935590873,-0.0766519,0.153304,9.8306
-accelerometer: 935610832,-0.0766519,0.0766519,9.79228
-accelerometer: 935630851,-0.0383259,0.0958148,9.77311
-accelerometer: 935650657,-0.114978,0.114978,14.6597
-accelerometer: 935670799,-0.0766519,0.0574889,9.75395
-accelerometer: 935690696,-0.0574889,0.0766519,9.79228
-accelerometer: 935710838,-0.0766519,0.0383259,9.79228
-accelerometer: 935730857,-0.0574889,0.0574889,9.77311
-accelerometer: 935750846,-0.0958148,0.0574889,9.77311
-accelerometer: 935770805,-0.0766519,0.0574889,9.79228
-accelerometer: 935790824,-0.114978,0.0574889,9.75395
-accelerometer: 935810874,-0.0766519,0.0958148,9.77311
-accelerometer: 935830680,-0.0766519,0.0574889,9.77311
-accelerometer: 935850822,-0.0766519,0.0766519,9.77311
-irProximity:935865542,0.0588235
-accelerometer: 935870872,-0.0958148,0.0574889,9.44734
-accelerometer: 935890830,-0.0958148,0.0574889,9.75395
-accelerometer: 935911704,-0.019163,0.0766519,9.8306
-accelerometer: 935930869,-0.0766519,0.134141,9.8306
-accelerometer: 935950828,-0.114978,0.0383259,9.69646
-irProximity:935966250,0
-accelerometer: 935970878,-0.0383259,0.153304,9.8306
-accelerometer: 935990684,-0.0574889,0.0766519,9.79228
-accelerometer: 936010642,-0.0574889,0.0766519,9.75395
-accelerometer: 936030814,-0.019163,0.0766519,9.79228
-accelerometer: 936050865,-0.0766519,0.0383259,9.71563
-irProximity:936066958,0.156863
-accelerometer: 936070670,-0.0383259,0.0574889,9.75395
-accelerometer: 936090629,-0.0958148,0.0766519,9.73479
-accelerometer: 936110648,-0.0958148,0.0574889,9.71563
-accelerometer: 936130821,-0.0574889,0.0766519,9.75395
-accelerometer: 936150871,-0.0958148,0.0958148,9.79228
-irProximity:936167696,0.0235294
-accelerometer: 936170860,-0.0766519,0.114978,9.81144
-accelerometer: 936190879,-0.0383259,0.019163,9.73479
-accelerometer: 936210838,-0.0574889,0.0958148,9.84977
-accelerometer: 936230827,-0.0574889,0.0766519,9.77311
-accelerometer: 936250694,-0.0383259,0.0766519,9.79228
-irProximity:936268374,0.105882
-accelerometer: 936270896,-0.134141,0.019163,9.75395
-accelerometer: 936290885,-0.0766519,0.0574889,9.77311
-accelerometer: 936310874,-0.0574889,0.114978,9.75395
-accelerometer: 936330863,-0.0766519,0.0766519,9.77311
-accelerometer: 936350852,-0.114978,0.019163,9.75395
-irProximity:936369082,0.137255
-accelerometer: 936370872,-0.0383259,0.0958148,9.77311
-accelerometer: 936390830,-0.0766519,0.0766519,9.73479
-accelerometer: 936410880,-0.114978,0.019163,9.73479
-accelerometer: 936430869,-0.0766519,0.0574889,9.8306
-accelerometer: 936450553,-0.785682,-0.249119,9.10241
-irProximity:936469881,0.0509804
-accelerometer: 936471610,0.613215,0.0383259,10.8654
-accelerometer: 936490653,0.019163,0.0383259,10.0606
-accelerometer: 936510825,-0.555726,0.0766519,8.87245
-accelerometer: 936530662,-0.0766519,0.0574889,9.98391
-accelerometer: 936550651,-0.019163,0.0766519,10.1564
-irProximity:936570956,0.121569
-accelerometer: 936570609,-0.344933,0.0574889,9.50483
-accelerometer: 936590659,-0.32577,0.0574889,9.6773
-accelerometer: 936610648,-0.114978,0.0766519,9.90726
-accelerometer: 936630668,-0.210793,0.0574889,9.6773
-accelerometer: 936650688,-0.134141,-0.383259,9.46651
-irProximity:936671450,0.0784314
-accelerometer: 936670524,0.344933,0.229956,10.0989
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat
deleted file mode 100644
index 4f3c6bfe..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_nothover2.dat
+++ /dev/null
@@ -1,204 +0,0 @@
-orientation:6991310589,5
-accelerometer: 6993361126,-0.440748,-0.32577,9.60065
-accelerometer: 6993380810,-0.5174,-0.172467,9.48567
-accelerometer: 6993400555,-0.5174,-0.172467,9.84977
-accelerometer: 6993440564,-0.383259,-0.555726,9.81144
-accelerometer: 6993460583,-0.651541,-0.32577,9.92642
-irProximity:6993468313,0.101961
-accelerometer: 6993480572,-0.134141,0.306608,10.0414
-proximity:6993491811,0
-accelerometer: 6993500592,-0.229956,0.249119,10.0031
-accelerometer: 6993520520,-0.229956,0.594052,9.88809
-accelerometer: 6993540570,-0.459911,0.670704,10.0797
-accelerometer: 6993560559,-0.383259,0.555726,9.54316
-irProximity:6993572286,0.117647
-accelerometer: 6993580639,-0.594052,0.651541,9.69646
-accelerometer: 6993600628,-0.613215,0.383259,9.524
-accelerometer: 6993620892,-0.574889,0.766519,9.33237
-accelerometer: 6993640912,-0.287445,1.01564,9.14074
-accelerometer: 6993660656,-0.574889,1.22643,8.96827
-irProximity:6993672933,0.156863
-accelerometer: 6993680584,-0.0766519,1.09229,9.524
-accelerometer: 6993700573,0.0958148,1.49471,10.0414
-accelerometer: 6993720746,0.344933,1.53304,10.0989
-accelerometer: 6993740551,0.287445,1.43722,10.6163
-accelerometer: 6993760601,0.229956,1.45639,10.3863
-irProximity:6993775747,0.0392157
-accelerometer: 6993780560,0.498237,1.37973,10.9995
-accelerometer: 6993800885,0.32577,1.83965,10.7888
-accelerometer: 6993820599,0.344933,2.0696,10.4247
-accelerometer: 6993840558,0.440748,2.20374,10.5588
-accelerometer: 6993860577,0.804845,2.47202,10.9612
-irProximity:6993876272,0.137255
-accelerometer: 6993880566,0.804845,2.18458,11.2295
-accelerometer: 6993900586,1.07313,2.03127,11.057
-accelerometer: 6993920910,0.824008,2.31872,10.5013
-accelerometer: 6993940930,0.996474,2.83612,10.3288
-accelerometer: 6993960919,1.87797,2.89361,10.4055
-irProximity:6993976949,0.101961
-accelerometer: 6993980938,2.33788,2.97026,10.6546
-accelerometer: 6994000866,2.51035,2.91277,9.75395
-accelerometer: 6994020947,2.85528,3.20022,9.40902
-accelerometer: 6994040936,3.60264,4.27334,9.86893
-accelerometer: 6994060925,3.89008,4.02422,9.04492
-irProximity:6994077596,0.121569
-accelerometer: 6994080945,4.40748,4.06255,8.01012
-accelerometer: 6994100689,4.61828,6.89867,7.56937
-accelerometer: 6994120923,5.5381,8.54668,7.22444
-accelerometer: 6994140942,4.48413,7.14779,5.5381
-accelerometer: 6994160809,2.0696,6.53457,2.79779
-irProximity:6994178274,0.117647
-accelerometer: 6994180920,0.153304,7.12862,1.20727
-orientation:6994180920,1
-accelerometer: 6994201001,-1.85881,7.07114,-0.440748
-accelerometer: 6994220929,-2.12709,8.2784,-1.82048
-accelerometer: 6994240918,-0.843171,7.47356,-1.36057
-accelerometer: 6994260907,0.172467,7.87598,-0.0958148
-irProximity:6994280477,0.0588235
-accelerometer: 6994280896,-0.536563,7.89514,0.459911
-accelerometer: 6994300580,-1.14978,7.91431,-0.210793
-accelerometer: 6994322339,-0.440748,8.2784,-0.632378
-accelerometer: 6994340954,0.019163,8.71915,-0.824008
-accelerometer: 6994360943,0.479074,8.66166,-0.32577
-irProximity:6994381002,0.156863
-accelerometer: 6994381024,0.344933,8.94911,-0.402422
-accelerometer: 6994400586,0.229956,9.29404,-0.172467
-accelerometer: 6994420910,0.651541,9.54316,0.0574889
-accelerometer: 6994440899,0.90066,9.56232,0.421585
-accelerometer: 6994460919,0.613215,9.42818,0.153304
-irProximity:6994481741,0.27451
-accelerometer: 6994481213,0.958148,9.60065,-0.0958148
-accelerometer: 6994501599,0.383259,9.23655,-0.747356
-accelerometer: 6994520764,-1.45639,8.14426,-0.574889
-accelerometer: 6994540814,-6.70704,4.84823,-1.16894
-accelerometer: 6994560833,-13.9698,0.5174,-0.938986
-accelerometer: 6994580517,-21.3092,-4.33083,-2.587
-irProximity:6994582265,0.270588
-accelerometer: 6994600537,-22.1141,-9.38986,-2.16542
-accelerometer: 6994620831,-13.8548,-14.1614,0.555726
-accelerometer: 6994640820,0.919823,-17.9557,4.48413
-accelerometer: 6994660779,21.4242,-17.9174,8.85329
-accelerometer: 6994680645,37.8469,-10.3288,-0.459911
-irProximity:6994683187,0.34902
-accelerometer: 6994701184,35.5665,-5.94052,-2.54868
-accelerometer: 6994720929,25.7359,-10.5205,4.86739
-accelerometer: 6994740918,21.2326,-7.62686,8.4892
-accelerometer: 6994760907,16.8251,-5.26982,7.35858
-accelerometer: 6994780713,12.5709,-3.35352,2.2229
-irProximity:6994784078,0.0862745
-accelerometer: 6994800549,10.7696,-3.89008,-0.134141
-accelerometer: 6994820935,11.4786,-3.12356,0.421585
-orientation:6994820935,4
-accelerometer: 6994840924,12.4943,-3.83259,0.114978
-accelerometer: 6994860913,12.1302,-3.06608,-0.0574889
-accelerometer: 6994880749,10.5205,-2.14625,0.804845
-irProximity:6994884969,0.141176
-accelerometer: 6994900647,10.2522,-1.5522,1.66718
-accelerometer: 6994920941,9.81144,-1.80132,2.10793
-accelerometer: 6994940930,9.0066,-1.89713,2.51035
-accelerometer: 6994960888,8.71915,-2.26123,2.85528
-accelerometer: 6994980755,8.52752,-2.2229,3.35352
-irProximity:6994985830,0.0901961
-accelerometer: 6995000775,8.22091,-2.68282,3.18105
-accelerometer: 6995020916,8.50836,-2.41453,2.77863
-accelerometer: 6995040905,8.50836,-2.51035,2.7403
-accelerometer: 6995060894,8.87245,-2.12709,2.87445
-accelerometer: 6995080761,9.10241,-2.52951,3.14273
-irProximity:6995086721,0.0941176
-accelerometer: 6995100567,9.0066,-2.29956,3.04691
-accelerometer: 6995120862,8.81497,-2.64449,3.02775
-accelerometer: 6995140759,8.6425,-2.4337,2.47202
-accelerometer: 6995160931,8.87245,-2.03127,2.41453
-accelerometer: 6995180706,9.27488,-1.95462,2.91277
-irProximity:6995187551,0.0980392
-accelerometer: 6995201153,9.3132,-2.0696,3.18105
-accelerometer: 6995220929,9.17906,-2.10793,3.23854
-accelerometer: 6995240857,8.98743,-2.29956,3.41101
-accelerometer: 6995260907,8.94911,-2.0696,3.21938
-accelerometer: 6995280713,8.83413,-2.14625,3.04691
-accelerometer: 6995300518,8.73831,-1.99295,2.9511
-accelerometer: 6995321087,8.77664,-2.12709,3.1044
-accelerometer: 6995340924,8.68083,-2.20374,3.14273
-accelerometer: 6995360882,8.66166,-2.18458,3.00859
-accelerometer: 6995380719,8.71915,-2.2229,2.9511
-irProximity:6995389303,0
-accelerometer: 6995400769,8.69999,-2.26123,3.02775
-accelerometer: 6995420910,8.7958,-2.16542,3.21938
-accelerometer: 6995440899,8.73831,-2.0696,3.23854
-accelerometer: 6995460888,8.6425,-1.97379,3.16189
-accelerometer: 6995480694,8.73831,-2.2229,3.33436
-irProximity:6995490011,0.0627451
-accelerometer: 6995500531,8.71915,-2.0696,3.54515
-accelerometer: 6995520916,8.73831,-2.18458,3.48766
-accelerometer: 6995540966,8.75748,-1.85881,3.43017
-accelerometer: 6995560925,8.91078,-1.93546,3.44933
-accelerometer: 6995580761,8.77664,-2.03127,3.23854
-irProximity:6995590963,0.0705882
-accelerometer: 6995601056,8.81497,-2.01211,3.44933
-accelerometer: 6995620862,8.71915,-2.10793,3.7751
-accelerometer: 6995640881,8.85329,-1.93546,4.02422
-accelerometer: 6995661053,8.7958,-2.24207,4.21585
-accelerometer: 6995680737,8.68083,-2.33788,3.94757
-accelerometer: 6995700543,8.73831,-2.26123,3.89008
-accelerometer: 6995720929,8.83413,-2.03127,4.63744
-accelerometer: 6995740887,8.87245,-2.03127,5.40396
-accelerometer: 6995760937,9.12157,-1.72467,6.49625
-accelerometer: 6995780896,8.73831,-1.72467,6.91783
-irProximity:6995792348,0
-accelerometer: 6995800549,8.24008,-2.47202,7.10946
-accelerometer: 6995820904,7.66519,-2.0696,7.28193
-accelerometer: 6995840924,6.78369,-2.70198,7.43523
-accelerometer: 6995860913,5.6914,-2.41453,7.53105
-orientation:6995860913,5
-accelerometer: 6995880932,4.46497,-2.10793,7.4544
-accelerometer: 6995900738,3.67929,-2.05044,7.41607
-accelerometer: 6995920910,3.23854,-1.87797,7.72268
-accelerometer: 6995940747,2.9511,-1.51387,8.50836
-accelerometer: 6995960858,2.72114,-1.43722,9.06409
-accelerometer: 6995980877,2.2229,-1.64802,8.73831
-irProximity:6995993764,0.105882
-accelerometer: 6996003003,1.66718,-1.7055,9.17906
-accelerometer: 6996020855,1.43722,-1.60969,9.40902
-accelerometer: 6996040875,1.20727,-1.83965,9.29404
-accelerometer: 6996060925,1.07313,-1.68634,9.46651
-accelerometer: 6996080945,1.24559,-1.41806,9.73479
-irProximity:6996094472,0
-accelerometer: 6996101147,0.90066,-1.30308,9.61981
-accelerometer: 6996120923,0.498237,-1.49471,9.04492
-accelerometer: 6996140912,0.5174,-1.16894,9.04492
-accelerometer: 6996160870,0.728193,-1.3989,9.48567
-accelerometer: 6996180890,0.19163,-1.09229,9.524
-accelerometer: 6996200543,0.344933,-1.24559,8.75748
-accelerometer: 6996220929,0.364096,-1.05396,9.40902
-accelerometer: 6996240918,0.364096,-1.34141,9.44734
-accelerometer: 6996260846,0.498237,-1.05396,9.61981
-accelerometer: 6996280896,0.459911,-0.958148,9.84977
-irProximity:6996295827,0.0196078
-accelerometer: 6996300549,0.32577,-0.804845,9.56232
-accelerometer: 6996320904,0.498237,-1.32224,9.14074
-accelerometer: 6996340893,0.229956,-1.51387,9.1599
-accelerometer: 6996360913,0.268282,-0.938986,9.40902
-accelerometer: 6996380902,0.364096,-1.07313,9.61981
-irProximity:6996396505,0
-accelerometer: 6996400799,-0.019163,-1.41806,9.44734
-accelerometer: 6996420880,-0.134141,-1.20727,9.8306
-accelerometer: 6996440838,-0.19163,-1.45639,9.90726
-accelerometer: 6996460827,-0.287445,-1.09229,9.84977
-accelerometer: 6996480725,0.019163,-0.440748,8.83413
-irProximity:6996497182,0.109804
-accelerometer: 6996500561,-0.344933,-1.22643,9.42818
-accelerometer: 6996522473,-0.383259,-1.37973,9.23655
-accelerometer: 6996541760,-0.594052,-1.41806,9.90726
-accelerometer: 6996561749,-0.594052,-1.57136,10.0989
-accelerometer: 6996581494,-0.498237,-1.28392,9.86893
-irProximity:6996597921,0.176471
-accelerometer: 6996601269,-0.344933,-1.13062,9.79228
-accelerometer: 6996621930,-0.249119,-1.05396,9.90726
-accelerometer: 6996641766,-0.0574889,-1.34141,10.2139
-accelerometer: 6996661419,-0.306608,-1.20727,10.3288
-accelerometer: 6996681378,-0.689867,-0.536563,10.5396
-irProximity:6996698598,0.0392157
-accelerometer: 6996701428,0.0383259,-0.843171,9.60065
-accelerometer: 6996720837,-0.134141,-0.5174,9.19823
-accelerometer: 6996740674,-0.210793,-0.766519,9.56232
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat
deleted file mode 100644
index 9a821d18..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_pickup.dat
+++ /dev/null
@@ -1,258 +0,0 @@
-accelerometer: 939660514,0.0766519,0.019163,10.0222
-accelerometer: 939680625,-0.0383259,0.0383259,9.86893
-orientation:910530601,5
-proximity:939716616,0
-irProximity:939718660,0.105882
-accelerometer: 939720542,-0.172467,0.019163,9.56232
-accelerometer: 939740806,0.0574889,0.153304,9.88809
-accelerometer: 939760856,-0.0383259,0.0383259,9.79228
-accelerometer: 939780845,0.0383259,0.0766519,9.86893
-accelerometer: 939800834,-0.0383259,0.0958148,9.69646
-irProximity:939819307,0.137255
-accelerometer: 939820609,0.019163,0.0766519,9.84977
-accelerometer: 939840812,-0.114978,0.0574889,9.69646
-accelerometer: 939860801,-0.0574889,0.019163,9.86893
-accelerometer: 939880851,-0.153304,0.0574889,9.6773
-accelerometer: 939900749,-0.0383259,0.0766519,9.8306
-irProximity:939919954,0
-accelerometer: 939920799,-0.153304,0.0574889,9.79228
-accelerometer: 939940849,-0.019163,0.0574889,9.8306
-accelerometer: 939960838,-0.134141,0.0383259,9.79228
-accelerometer: 939980827,-0.019163,0.0574889,9.84977
-accelerometer: 940001884,-0.0766519,0.0383259,9.69646
-irProximity:940020632,0.109804
-accelerometer: 940020927,-0.0766519,0.0766519,9.79228
-accelerometer: 940040824,-0.0766519,0.0766519,9.81144
-accelerometer: 940060661,-0.0383259,0.0574889,9.92642
-accelerometer: 940080772,-0.114978,0.0574889,9.81144
-accelerometer: 940100700,0.0383259,0.0574889,9.75395
-irProximity:940121279,0.129412
-accelerometer: 940120872,-0.0383259,0.134141,9.79228
-accelerometer: 940140830,-0.114978,0.0574889,9.6773
-accelerometer: 940160850,-0.0574889,0.0766519,9.73479
-accelerometer: 940180839,-0.0766519,0.114978,9.77311
-accelerometer: 940200553,-0.019163,0.0574889,9.79228
-irProximity:940221987,0.0784314
-accelerometer: 940220664,-0.0766519,0.0958148,9.71563
-accelerometer: 940241660,-0.134141,0.0958148,9.86893
-accelerometer: 940260612,-0.114978,0.134141,9.77311
-accelerometer: 940280814,-0.0766519,0.0766519,9.73479
-accelerometer: 940300834,-0.0383259,0.0958148,9.75395
-accelerometer: 940320609,-0.134141,0.0766519,9.81144
-irProximity:940322603,0.0980392
-accelerometer: 940340843,-0.0574889,0.134141,9.86893
-accelerometer: 940360832,-0.0958148,0.0766519,9.84977
-accelerometer: 940380851,-0.0958148,-0.019163,9.73479
-accelerometer: 940400840,-0.0574889,0.134141,9.75395
-accelerometer: 940420615,-2.28039,0.19163,10.4247
-irProximity:940423067,0.00784314
-accelerometer: 940440849,-1.89713,-1.13062,10.0606
-accelerometer: 940460838,2.97026,-1.22643,9.63897
-accelerometer: 940480644,0.344933,1.82048,10.8462
-accelerometer: 940500785,2.14625,-0.210793,9.56232
-accelerometer: 940520683,0.306608,-0.90066,10.0414
-irProximity:940523745,0
-accelerometer: 940540763,0.210793,-0.5174,9.3132
-accelerometer: 940560844,0.689867,-0.0383259,10.5013
-accelerometer: 940580650,1.72467,-0.172467,10.8654
-accelerometer: 940600822,6.99448,-1.05396,11.2678
-accelerometer: 940620689,5.28898,1.07313,7.89514
-irProximity:940624605,0.0980392
-accelerometer: 940640861,-1.07313,0.287445,10.1372
-accelerometer: 940660667,-2.12709,-2.79779,7.39691
-accelerometer: 940680808,5.51894,-2.60616,8.60417
-accelerometer: 940700828,3.44933,-0.0383259,9.96474
-accelerometer: 940720695,2.83612,-2.49119,11.3636
-irProximity:940725466,0.160784
-accelerometer: 940740836,3.89008,-1.1881,12.4176
-accelerometer: 940760825,5.40396,-2.20374,11.4786
-accelerometer: 940780845,3.21938,-0.344933,14.2572
-accelerometer: 940800834,1.01564,-1.20727,12.82
-accelerometer: 940820701,1.43722,-0.0766519,12.4368
-irProximity:940826326,0.0980392
-accelerometer: 940840873,2.4337,2.35705,13.1266
-accelerometer: 940860862,1.89713,-0.0574889,13.1075
-accelerometer: 940880851,0.594052,0.996474,11.6128
-accelerometer: 940900657,-0.383259,0.114978,10.9804
-accelerometer: 940920646,-1.43722,1.24559,9.56232
-irProximity:940927187,0
-accelerometer: 940940666,-1.57136,2.60616,7.72268
-accelerometer: 940960777,-0.651541,4.15836,7.37774
-accelerometer: 940980796,-0.172467,4.44581,6.99448
-accelerometer: 941000694,-0.172467,5.00153,5.61475
-accelerometer: 941020683,0.019163,5.15484,5.21233
-accelerometer: 941040824,-0.459911,5.44228,4.21585
-orientation:941040824,1
-accelerometer: 941060874,-0.5174,6.01717,4.17753
-accelerometer: 941080650,-0.0383259,6.30462,4.71409
-accelerometer: 941100791,0.0958148,6.2088,4.69493
-accelerometer: 941120689,-0.440748,6.2088,4.44581
-irProximity:941128878,0.180392
-accelerometer: 941140830,-0.0383259,6.5729,4.96321
-accelerometer: 941160850,0.0766519,6.84118,5.40396
-accelerometer: 941180839,-0.479074,6.7262,5.55726
-accelerometer: 941200828,-0.919823,6.63039,5.48061
-accelerometer: 941220695,-0.919823,6.76453,5.63391
-irProximity:941229738,0
-accelerometer: 941240562,-1.01564,6.86034,5.94052
-accelerometer: 941260642,-0.32577,6.86034,6.32378
-accelerometer: 941280875,-0.268282,6.91783,6.32378
-accelerometer: 941300834,-0.574889,6.70704,5.90219
-accelerometer: 941320670,-0.824008,6.51541,5.97885
-irProximity:941330446,0.12549
-accelerometer: 941340812,-1.1881,6.49625,6.70704
-accelerometer: 941360648,-0.824008,6.76453,7.2436
-accelerometer: 941380790,-0.613215,6.97532,7.14779
-accelerometer: 941400840,-0.574889,6.95616,6.97532
-accelerometer: 941420677,-0.651541,6.937,6.76453
-irProximity:941431307,0.0235294
-accelerometer: 941440849,-0.824008,6.99448,6.86034
-accelerometer: 941460807,-0.862334,6.937,7.35858
-accelerometer: 941480857,-0.881497,6.97532,7.30109
-accelerometer: 941500663,-0.804845,6.97532,7.47356
-accelerometer: 941522361,-1.0348,6.78369,6.99448
-irProximity:941531832,0.156863
-accelerometer: 941540519,-1.0348,6.82202,6.86034
-accelerometer: 941560600,-0.919823,7.01365,6.937
-accelerometer: 941580680,-0.728193,6.97532,6.91783
-accelerometer: 941600700,-0.766519,6.80285,6.59206
-accelerometer: 941620689,-0.670704,6.95616,6.66871
-irProximity:941632540,0.105882
-accelerometer: 941640678,-0.70903,6.80285,6.64955
-accelerometer: 941660697,-0.747356,6.87951,6.55374
-accelerometer: 941680808,-0.670704,6.89867,6.74537
-accelerometer: 941700828,-0.670704,6.91783,6.95616
-accelerometer: 941720847,-0.613215,6.87951,6.7262
-irProximity:941733248,0.152941
-accelerometer: 941740684,-0.651541,6.86034,7.07114
-accelerometer: 941760764,-0.613215,6.80285,6.7262
-accelerometer: 941780692,-0.536563,6.95616,6.55374
-accelerometer: 941800803,-0.459911,6.937,6.87951
-accelerometer: 941820854,-0.555726,6.84118,6.66871
-irProximity:941833956,0.0745098
-accelerometer: 941840843,-0.785682,6.76453,6.59206
-accelerometer: 941860832,-0.843171,6.76453,6.68788
-accelerometer: 941880851,-0.651541,6.89867,6.82202
-accelerometer: 941900687,-0.383259,7.07114,7.32025
-accelerometer: 941920677,-0.440748,6.89867,6.76453
-irProximity:941934755,0.160784
-accelerometer: 941940849,-0.651541,6.89867,6.86034
-accelerometer: 941960868,-0.594052,6.91783,6.86034
-accelerometer: 941980827,-0.536563,6.87951,6.59206
-accelerometer: 942000602,-0.594052,6.95616,6.64955
-accelerometer: 942020896,-0.555726,6.89867,6.55374
-irProximity:942035463,0.109804
-accelerometer: 942040855,-0.632378,6.82202,6.82202
-accelerometer: 942060844,-0.574889,6.82202,6.87951
-accelerometer: 942080833,-0.574889,6.86034,6.91783
-accelerometer: 942100883,-0.613215,6.82202,6.99448
-accelerometer: 942120872,-0.594052,6.86034,6.99448
-irProximity:942136171,0.0862745
-accelerometer: 942140830,-0.670704,6.86034,6.97532
-accelerometer: 942160667,-0.785682,6.87951,6.74537
-accelerometer: 942180839,-0.440748,6.99448,6.95616
-accelerometer: 942200675,-0.440748,6.87951,6.99448
-accelerometer: 942220817,-0.32577,6.937,6.70704
-irProximity:942236879,0.176471
-accelerometer: 942240836,-0.364096,6.89867,6.66871
-accelerometer: 942260825,-0.383259,6.84118,6.63039
-accelerometer: 942280845,-0.32577,6.87951,6.74537
-accelerometer: 942300865,-0.383259,6.86034,6.61122
-accelerometer: 942320884,-0.613215,6.86034,6.937
-irProximity:942337587,0
-accelerometer: 942340659,-0.728193,6.80285,6.99448
-accelerometer: 942360801,-0.728193,6.80285,6.86034
-accelerometer: 942380851,-0.766519,6.86034,6.70704
-accelerometer: 942400840,-0.555726,6.87951,6.937
-accelerometer: 942420860,-0.555726,6.76453,6.76453
-irProximity:942438265,0.0392157
-accelerometer: 942440879,-0.574889,6.7262,6.68788
-accelerometer: 942460868,-0.613215,6.70704,6.63039
-accelerometer: 942480857,-0.747356,6.59206,7.14779
-accelerometer: 942500877,-0.632378,6.70704,7.16695
-accelerometer: 942520866,-0.498237,6.61122,6.76453
-irProximity:942538912,0.105882
-accelerometer: 942540885,-0.498237,6.55374,6.28545
-accelerometer: 942560691,-0.172467,6.40043,5.67224
-accelerometer: 942580650,-0.574889,5.46145,5.67224
-accelerometer: 942600852,-0.32577,6.47708,4.34999
-accelerometer: 942620658,-0.344933,5.86387,4.67576
-irProximity:942639620,0.0901961
-accelerometer: 942640861,-0.421585,5.72973,4.57995
-accelerometer: 942660880,-0.287445,5.23149,4.82907
-accelerometer: 942680869,-0.574889,4.69493,4.63744
-accelerometer: 942700828,-0.019163,4.59911,5.21233
-accelerometer: 942720878,0.651541,4.88656,6.03634
-orientation:942720878,5
-irProximity:942740328,0.0823529
-accelerometer: 942740867,0.574889,3.96673,7.95263
-accelerometer: 942760673,0.843171,3.21938,7.51188
-accelerometer: 942780784,1.01564,2.79779,7.55021
-accelerometer: 942800834,1.7055,2.91277,8.96827
-accelerometer: 942820854,1.89713,2.54868,10.4438
-irProximity:942841005,0.0431373
-accelerometer: 942840873,2.54868,2.01211,10.0031
-accelerometer: 942860832,2.4337,1.99295,10.3863
-accelerometer: 942880882,3.23854,1.47555,10.1755
-accelerometer: 942900688,3.39185,1.26476,11.5553
-accelerometer: 942920951,4.12004,1.28392,11.7852
-irProximity:942941591,0.113725
-accelerometer: 942940513,4.5033,1.60969,11.9194
-accelerometer: 942960868,5.28898,0.440748,12.8584
-accelerometer: 942980827,6.18964,1.32224,18.4923
-accelerometer: 943000694,4.98237,-0.555726,9.42818
-accelerometer: 943020805,4.19669,1.26476,9.25571
-irProximity:943042391,0.0823529
-accelerometer: 943040824,3.56431,1.01564,7.30109
-accelerometer: 943060844,3.41101,0.134141,7.32025
-accelerometer: 943080863,3.16189,-0.019163,7.58854
-accelerometer: 943100883,3.52599,-0.0958148,7.58854
-accelerometer: 943120872,2.85528,-0.862334,8.04845
-accelerometer: 943140586,1.11145,-0.440748,3.87092
-irProximity:943142885,0.00392157
-accelerometer: 943160880,-1.24559,-0.728193,12.341
-accelerometer: 943180656,1.14978,-0.364096,10.2139
-accelerometer: 943200797,1.1881,-0.70903,8.7958
-accelerometer: 943220878,1.13062,0.249119,10.463
-accelerometer: 943240806,1.49471,1.1881,12.8009
-irProximity:943243349,0.0627451
-accelerometer: 943260703,0.344933,0.229956,14.1614
-accelerometer: 943280875,0.996474,0.440748,10.8271
-accelerometer: 943300834,-0.268282,0.0958148,9.79228
-accelerometer: 943320884,-0.134141,0.574889,10.463
-accelerometer: 943340690,0.536563,0.134141,10.6163
-irProximity:943344210,0.160784
-accelerometer: 943360862,-0.766519,-0.364096,8.56585
-accelerometer: 943380851,0.479074,0.344933,10.3863
-accelerometer: 943400840,-0.344933,0.287445,9.81144
-accelerometer: 943420646,-0.172467,-0.172467,9.3132
-accelerometer: 943440757,-0.0383259,0.134141,9.88809
-irProximity:943445040,0
-accelerometer: 943460685,-0.268282,0.19163,9.6773
-accelerometer: 943480796,0.440748,0.0383259,10.3288
-accelerometer: 943500877,-0.306608,0.0383259,9.46651
-accelerometer: 943520866,0.0574889,0.0574889,10.118
-accelerometer: 943540672,-0.210793,0.153304,9.6773
-irProximity:943545900,0.113725
-accelerometer: 943560691,-0.229956,0.0766519,9.56232
-accelerometer: 943580680,-0.19163,0.0574889,9.63897
-accelerometer: 943600669,-0.114978,0.0766519,9.58148
-accelerometer: 943620811,-0.19163,0.0766519,9.61981
-accelerometer: 943640678,0.019163,0.0766519,9.92642
-irProximity:943646761,0
-accelerometer: 943660880,-0.229956,0.0958148,9.56232
-accelerometer: 943680839,0.19163,0.0574889,10.0222
-accelerometer: 943700828,-1.78216,-0.689867,7.35858
-accelerometer: 943720908,0.651541,-0.19163,11.8236
-accelerometer: 943740836,0.0766519,-0.0383259,11.4211
-irProximity:943747682,0.0470588
-accelerometer: 943760856,-1.09229,0.306608,8.25924
-accelerometer: 943780875,-0.0574889,0.0958148,10.2522
-accelerometer: 943800865,-0.134141,-0.0574889,9.71563
-accelerometer: 943820976,-0.440748,-0.019163,9.3132
-accelerometer: 943840751,-0.019163,0.0766519,10.118
-irProximity:943848360,0.121569
-accelerometer: 943860587,-0.229956,0.0958148,9.77311
-accelerometer: 943880607,-0.0574889,0.134141,9.50483
-accelerometer: 943900596,0.306608,-0.0574889,9.81144
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat
deleted file mode 100644
index fd839ec9..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_shake2.dat
+++ /dev/null
@@ -1,260 +0,0 @@
-accelerometer: 948550803,0.0383259,2.12709,8.66166
-accelerometer: 948570579,-0.32577,2.18458,9.17906
-orientation:942720878,5
-proximity:948579652,0
-irProximity:948581789,0.129412
-accelerometer: 948590781,0.249119,2.05044,9.48567
-accelerometer: 948610832,-0.114978,1.72467,9.3132
-accelerometer: 948630882,0.114978,1.87797,9.48567
-accelerometer: 948650840,0.229956,2.10793,8.73831
-accelerometer: 948670646,0.268282,1.85881,8.58501
-irProximity:948682588,0.0705882
-accelerometer: 948690879,0.0574889,0.824008,8.31673
-accelerometer: 948710655,-0.555726,2.49119,8.69999
-accelerometer: 948730827,-0.344933,2.72114,10.1564
-accelerometer: 948750846,-1.37973,3.00859,10.2905
-accelerometer: 948770835,-0.843171,3.73678,10.2714
-irProximity:948783296,0.12549
-accelerometer: 948790824,-0.536563,3.6218,9.63897
-accelerometer: 948810874,-0.268282,4.34999,8.4892
-accelerometer: 948830863,0.268282,4.25418,7.89514
-accelerometer: 948850669,0.287445,3.60264,7.28193
-accelerometer: 948870780,-0.19163,2.66365,7.14779
-irProximity:948884004,0.156863
-accelerometer: 948890678,-5.57642,6.03634,14.4489
-accelerometer: 948910911,-0.268282,3.60264,7.79933
-accelerometer: 948930839,-0.498237,4.57995,8.6425
-accelerometer: 948950828,-0.843171,5.19316,10.1372
-accelerometer: 948970817,-0.306608,3.79427,9.27488
-irProximity:948984682,0
-accelerometer: 948990684,0.440748,3.41101,9.08325
-accelerometer: 949010825,-0.632378,3.66013,8.4892
-accelerometer: 949030662,-1.45639,3.89008,7.26277
-accelerometer: 949050803,-0.249119,4.25418,8.73831
-accelerometer: 949070854,0.651541,4.69493,10.2905
-irProximity:949085359,0.129412
-accelerometer: 949090659,0.479074,3.20022,9.88809
-accelerometer: 949110771,-1.05396,2.60616,10.2905
-accelerometer: 949130668,-0.689867,1.87797,10.3097
-accelerometer: 949150779,-0.613215,2.64449,9.54316
-accelerometer: 949170829,-0.268282,3.58348,9.29404
-irProximity:949186037,0.121569
-accelerometer: 949190849,-0.364096,4.52246,9.29404
-accelerometer: 949210838,-0.670704,3.75594,8.85329
-accelerometer: 949231010,-0.996474,3.58348,9.06409
-accelerometer: 949250846,-0.90066,3.64096,9.6773
-accelerometer: 949270652,-0.632378,3.64096,9.58148
-irProximity:949286622,0.0980392
-accelerometer: 949290855,-0.440748,4.17753,8.7958
-accelerometer: 949310874,-0.0766519,4.08171,9.19823
-accelerometer: 949330863,-0.0383259,4.04339,9.10241
-accelerometer: 949350852,0.229956,3.52599,8.87245
-accelerometer: 949370841,1.30308,4.04339,8.60417
-irProximity:949387330,0
-accelerometer: 949390830,2.18458,4.06255,8.31673
-accelerometer: 949410850,3.43017,5.07819,7.78017
-accelerometer: 949430839,3.39185,4.56079,7.03281
-accelerometer: 949450797,2.33788,3.9859,5.32731
-accelerometer: 949470847,-3.71762,4.42665,3.9859
-irProximity:949488008,0.0901961
-accelerometer: 949490867,-21.3092,-0.632378,2.31872
-accelerometer: 949510642,-37.0229,-10.0414,2.39537
-accelerometer: 949530875,-32.7878,-11.6511,10.0606
-accelerometer: 949550651,-15.0429,-9.40902,16.6143
-accelerometer: 949570854,5.78722,-4.96321,19.6612
-irProximity:949588685,0.027451
-accelerometer: 949590904,32.0022,5.82554,21.8841
-accelerometer: 949610832,39.2266,14.4489,19.7762
-accelerometer: 949630882,39.2266,16.1927,12.9542
-accelerometer: 949651054,37.1762,8.7958,7.35858
-accelerometer: 949670829,4.44581,-3.48766,1.47555
-irProximity:949689363,0.152941
-accelerometer: 949690666,-39.2458,-16.6335,-4.19669
-accelerometer: 949710807,-39.2458,-26.2533,8.16343
-accelerometer: 949730796,-39.2458,-33.2478,23.398
-accelerometer: 949750816,-31.5422,-25.4101,25.4676
-accelerometer: 949770866,8.35505,-10.6929,19.2013
-irProximity:949790040,0
-accelerometer: 949790855,39.2266,7.37774,14.1039
-accelerometer: 949810874,39.2266,18.0515,5.76805
-accelerometer: 949830833,39.2266,20.7727,-0.153304
-accelerometer: 949850883,39.2266,11.6128,-1.83965
-accelerometer: 949870872,4.6566,-7.6077,0.881497
-irProximity:949890748,0.0980392
-accelerometer: 949890678,-39.2458,-20.696,4.36916
-accelerometer: 949910911,-39.2458,-30.8332,20.5427
-accelerometer: 949930686,-39.2458,-30.7949,29.3768
-accelerometer: 949950797,-33.3244,-22.0183,25.046
-accelerometer: 949970695,2.20374,-11.1337,14.7363
-irProximity:949991334,0.121569
-accelerometer: 949990562,36.0647,5.0207,10.2139
-accelerometer: 950010673,39.2266,15.5412,2.54868
-accelerometer: 950030845,39.2266,19.7762,1.28392
-accelerometer: 950050865,39.2266,12.8009,2.16542
-accelerometer: 950070884,19.2013,-0.287445,5.76805
-irProximity:950092073,0.105882
-accelerometer: 950090751,-19.4313,-12.0152,5.95968
-accelerometer: 950110648,-39.2458,-26.9431,15.6753
-accelerometer: 950130790,-39.2458,-33.2861,27.633
-accelerometer: 950150840,-39.2458,-29.7793,24.9502
-accelerometer: 950170829,-16.4227,-17.7832,14.1806
-accelerometer: 950190696,22.9381,-3.89008,10.4438
-irProximity:950192720,0
-accelerometer: 950210868,39.2266,16.7676,5.40396
-accelerometer: 950230644,39.2266,20.3319,-0.32577
-accelerometer: 950250877,39.2266,14.9471,-1.16894
-accelerometer: 950270683,31.9638,6.2088,0.19163
-accelerometer: 950290641,1.93546,-5.72973,4.00506
-irProximity:950293153,0.0901961
-accelerometer: 950310844,-24.6436,-15.2346,11.4786
-accelerometer: 950330863,-35.1257,-18.2815,20.1403
-accelerometer: 950350700,-28.3804,-13.3758,22.5931
-accelerometer: 950370811,-18.7605,-7.91431,20.1403
-accelerometer: 950390647,-9.46651,-3.04691,15.7328
-irProximity:950393800,0.121569
-accelerometer: 950410819,-2.66365,0.498237,11.057
-accelerometer: 950430839,1.97379,2.75947,7.6077
-accelerometer: 950450797,4.82907,4.40748,6.32378
-accelerometer: 950470878,5.25065,4.6566,5.90219
-accelerometer: 950490684,3.48766,5.05902,8.73831
-irProximity:950494661,0.0431373
-accelerometer: 950511100,3.20022,4.94405,10.3863
-accelerometer: 950530692,1.32224,2.97026,9.33237
-accelerometer: 950550803,0.919823,2.7403,8.6425
-accelerometer: 950570884,1.49471,2.87445,9.50483
-accelerometer: 950590720,1.28392,2.41453,9.79228
-irProximity:950595521,0.156863
-accelerometer: 950610862,0.919823,2.20374,9.79228
-accelerometer: 950630882,0.938986,2.33788,10.233
-accelerometer: 950650871,0.862334,2.0696,10.1564
-accelerometer: 950670860,0.268282,1.66718,9.25571
-accelerometer: 950690696,-0.383259,1.72467,8.91078
-irProximity:950696443,0.0392157
-accelerometer: 950710838,-0.364096,1.68634,10.0414
-accelerometer: 950730857,0.0383259,0.996474,10.578
-accelerometer: 950750846,0.268282,1.24559,9.48567
-accelerometer: 950770683,0.651541,1.87797,9.27488
-accelerometer: 950790641,0.19163,1.93546,9.46651
-irProximity:950797304,0.0745098
-accelerometer: 950810691,0.210793,1.32224,9.65814
-accelerometer: 950830833,-0.134141,1.14978,9.6773
-accelerometer: 950850883,-0.19163,1.13062,9.6773
-accelerometer: 950870872,0.153304,0.996474,10.233
-accelerometer: 950890678,0.306608,1.26476,9.65814
-irProximity:950897859,0
-accelerometer: 950910880,0.0383259,1.41806,9.21739
-accelerometer: 950930869,0.19163,1.32224,9.1599
-accelerometer: 950950675,0.536563,1.72467,9.44734
-accelerometer: 950970817,0.344933,1.64802,9.56232
-accelerometer: 950990684,0.421585,1.53304,9.84977
-irProximity:950998597,0.168627
-accelerometer: 951010856,0.229956,1.37973,9.54316
-accelerometer: 951030845,-0.0574889,1.37973,9.1599
-accelerometer: 951050865,-0.229956,1.36057,9.06409
-accelerometer: 951070854,-0.0383259,1.20727,9.19823
-accelerometer: 951090690,0.0766519,1.37973,9.6773
-irProximity:951099458,0
-accelerometer: 951110862,0.32577,1.30308,9.77311
-accelerometer: 951130882,0.249119,1.53304,9.42818
-accelerometer: 951150840,0.344933,1.78216,9.3132
-accelerometer: 951170860,0.306608,1.68634,9.73479
-accelerometer: 951190666,0.249119,1.64802,9.79228
-accelerometer: 951210777,0.249119,1.57136,9.69646
-accelerometer: 951231376,0.114978,1.5522,9.56232
-accelerometer: 951250785,-0.019163,1.76299,9.77311
-accelerometer: 951270683,0.0383259,1.57136,9.75395
-accelerometer: 951290672,-0.019163,1.64802,9.50483
-accelerometer: 951310844,0.0383259,1.62885,9.46651
-accelerometer: 951330833,0.0383259,1.41806,9.63897
-accelerometer: 951350852,0.153304,1.64802,9.6773
-accelerometer: 951370689,0.229956,1.66718,9.71563
-accelerometer: 951390647,0.172467,1.66718,9.50483
-irProximity:951401857,0.101961
-accelerometer: 951410880,0.19163,1.5522,9.60065
-accelerometer: 951430839,-0.0574889,1.66718,9.71563
-accelerometer: 951450858,-0.114978,1.5522,9.54316
-accelerometer: 951470878,0.210793,1.76299,9.69646
-accelerometer: 951490867,0.19163,1.62885,9.524
-irProximity:951502534,0
-accelerometer: 951510825,0.114978,1.66718,9.65814
-accelerometer: 951530540,0.268282,1.89713,9.56232
-accelerometer: 951550529,0.306608,1.83965,9.40902
-accelerometer: 951570701,0.249119,1.7055,9.54316
-accelerometer: 951590720,0.172467,1.74383,9.56232
-accelerometer: 951610618,0.19163,1.5522,9.40902
-accelerometer: 951630637,0.153304,1.7055,9.46651
-accelerometer: 951650657,0.114978,1.80132,9.71563
-accelerometer: 951670615,0.229956,1.68634,9.58148
-accelerometer: 951690940,-0.019163,1.97379,8.91078
-irProximity:951704133,0.027451
-accelerometer: 951711540,0.0766519,1.74383,9.3132
-accelerometer: 951730583,-0.019163,1.72467,9.6773
-accelerometer: 951750816,0.0574889,1.5522,9.69646
-accelerometer: 951770652,0.0766519,1.43722,9.92642
-accelerometer: 951790611,0.0574889,1.53304,9.73479
-irProximity:951804780,0.109804
-accelerometer: 951810661,0,1.47555,9.71563
-accelerometer: 951830802,0.114978,1.53304,9.90726
-accelerometer: 951850883,0.153304,1.47555,10.0989
-accelerometer: 951870872,0.229956,1.80132,9.92642
-accelerometer: 951890678,0.344933,1.82048,10.233
-irProximity:951905580,0.0588235
-accelerometer: 951910911,0.268282,1.68634,10.0414
-accelerometer: 951930869,0.249119,1.85881,9.60065
-accelerometer: 951950645,0.0574889,1.74383,9.40902
-accelerometer: 951970847,0.229956,1.83965,9.65814
-accelerometer: 951990684,0.344933,1.64802,9.71563
-irProximity:952006074,0
-accelerometer: 952010673,0.19163,1.5522,9.71563
-accelerometer: 952030662,0.172467,1.41806,9.77311
-accelerometer: 952050773,0.19163,1.30308,9.65814
-accelerometer: 952070670,0.19163,1.49471,9.63897
-accelerometer: 952090629,0.019163,1.57136,9.21739
-irProximity:952106721,0.129412
-accelerometer: 952110862,0.019163,1.68634,9.14074
-accelerometer: 952130851,0.0574889,1.80132,9.29404
-accelerometer: 952150840,0.249119,1.57136,9.88809
-accelerometer: 952170829,0.268282,1.3989,9.96474
-accelerometer: 952190849,0.172467,1.49471,9.90726
-irProximity:952207429,0.0862745
-accelerometer: 952210655,-0.019163,1.5522,9.71563
-accelerometer: 952231162,0,1.51387,9.73479
-accelerometer: 952250816,0.0574889,1.66718,9.63897
-accelerometer: 952270652,0.19163,1.5522,9.71563
-accelerometer: 952290794,0.134141,1.68634,9.38986
-irProximity:952308137,0.164706
-accelerometer: 952310874,0.172467,1.7055,9.524
-accelerometer: 952330833,0.153304,1.68634,9.40902
-accelerometer: 952350852,0.364096,1.64802,9.35153
-accelerometer: 952370872,0.479074,1.62885,9.58148
-accelerometer: 952390830,0.268282,1.5522,9.37069
-irProximity:952408815,0.0980392
-accelerometer: 952410850,0.0958148,1.60969,9.40902
-accelerometer: 952430839,0.0574889,1.57136,9.42818
-accelerometer: 952450614,0.0958148,1.7055,9.60065
-accelerometer: 952470847,0.134141,1.74383,9.524
-accelerometer: 952490653,0.402422,1.72467,9.65814
-irProximity:952509431,0
-accelerometer: 952510825,0.32577,1.82048,9.37069
-accelerometer: 952530845,0.421585,1.85881,9.46651
-accelerometer: 952550681,0.383259,1.87797,9.65814
-accelerometer: 952570854,0.172467,1.64802,9.63897
-accelerometer: 952590904,0.210793,1.85881,9.61981
-irProximity:952610139,0.121569
-accelerometer: 952610832,0.19163,1.89713,9.524
-accelerometer: 952630668,-0.0574889,1.89713,9.50483
-accelerometer: 952650779,0.306608,1.78216,9.77311
-accelerometer: 952670829,0.114978,2.10793,9.56232
-accelerometer: 952690849,-0.689867,1.99295,8.10594
-irProximity:952710634,0.0705882
-accelerometer: 952712455,0.0383259,2.03127,9.65814
-accelerometer: 952730827,0,1.60969,10.0797
-accelerometer: 952750877,-0.0383259,1.85881,10.1755
-accelerometer: 952770835,0.0574889,1.72467,10.5971
-accelerometer: 952790855,0.229956,1.5522,10.118
-irProximity:952811219,0.0784314
-accelerometer: 952810844,0.249119,2.14625,9.96474
-accelerometer: 952830680,0.019163,2.16542,9.06409
-accelerometer: 952850608,-0.0958148,2.51035,9.23655
-accelerometer: 952870628,0.344933,2.20374,9.63897
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat
deleted file mode 100644
index e8bc5c73..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_slam.dat
+++ /dev/null
@@ -1,246 +0,0 @@
-accelerometer: 958370628,-0.479074,1.93546,9.71563
-accelerometer: 958391135,-0.5174,2.05044,9.48567
-orientation:942720878,5
-proximity:958398560,0
-irProximity:958400575,0
-accelerometer: 958410850,-0.19163,2.16542,9.58148
-accelerometer: 958430839,-0.153304,2.20374,9.42818
-accelerometer: 958450797,-0.249119,2.05044,9.69646
-accelerometer: 958470847,-0.32577,1.85881,9.61981
-accelerometer: 958490684,-0.229956,1.78216,9.79228
-accelerometer: 958510642,-0.210793,1.66718,9.71563
-accelerometer: 958530875,-0.210793,1.93546,9.46651
-accelerometer: 958550681,-0.19163,1.82048,9.37069
-accelerometer: 958570915,-0.153304,2.01211,9.29404
-accelerometer: 958590720,-0.0766519,1.83965,9.19823
-irProximity:958602235,0.0862745
-accelerometer: 958610832,-0.0574889,1.9163,9.21739
-accelerometer: 958630851,-0.134141,1.83965,9.524
-accelerometer: 958650840,-0.153304,1.82048,9.75395
-accelerometer: 958670829,-0.19163,1.7055,9.98391
-accelerometer: 958690849,-0.153304,1.76299,9.86893
-irProximity:958702912,0.156863
-accelerometer: 958710838,-0.114978,1.76299,9.63897
-accelerometer: 958730827,0.019163,1.9163,9.58148
-accelerometer: 958750785,0.019163,1.78216,9.61981
-accelerometer: 958770774,0,2.05044,9.65814
-accelerometer: 958790641,0.229956,2.2229,9.33237
-irProximity:958803559,0.0431373
-accelerometer: 958810874,0.364096,2.31872,9.81144
-accelerometer: 958830833,0.594052,2.31872,10.1755
-accelerometer: 958850852,0.689867,2.41453,9.98391
-accelerometer: 958870841,1.5522,2.77863,10.3863
-accelerometer: 958891135,2.16542,3.27687,11.0762
-irProximity:958904237,0.133333
-accelerometer: 958910911,2.87445,3.66013,11.5744
-accelerometer: 958930656,2.51035,4.02422,11.3636
-accelerometer: 958950767,1.51387,3.37268,10.9229
-accelerometer: 958970847,1.34141,4.21585,11.6319
-accelerometer: 958990684,1.09229,3.94757,12.5326
-irProximity:959004884,0.129412
-accelerometer: 959010795,0.862334,4.04339,12.5134
-accelerometer: 959030845,0.90066,4.36916,11.9002
-accelerometer: 959050834,0.824008,4.23502,11.7086
-accelerometer: 959070854,1.14978,4.29251,12.6859
-accelerometer: 959090843,0.670704,4.06255,12.226
-irProximity:959105561,0.0392157
-accelerometer: 959110832,1.41806,4.19669,12.6092
-accelerometer: 959130882,1.89713,3.94757,11.7661
-accelerometer: 959150871,1.97379,4.33083,11.5169
-accelerometer: 959170646,2.12709,5.03986,10.0989
-accelerometer: 959190788,1.59053,5.00153,7.85682
-irProximity:959206239,0.0588235
-accelerometer: 959210655,1.28392,5.40396,6.09382
-accelerometer: 959230827,1.0348,5.44228,4.5033
-accelerometer: 959250846,-0.0574889,5.84471,2.81696
-orientation:959250846,1
-accelerometer: 959270835,-1.68634,5.26982,0.824008
-accelerometer: 959290763,-2.37621,6.01717,-1.60969
-irProximity:959306916,0.160784
-accelerometer: 959310844,-3.04691,5.42312,-1.87797
-accelerometer: 959330833,-3.89008,5.63391,-0.19163
-accelerometer: 959350669,-4.67576,5.49977,-0.919823
-accelerometer: 959370811,-4.79074,5.99801,-1.0348
-accelerometer: 959390830,-4.19669,6.22797,-0.594052
-irProximity:959407594,0
-accelerometer: 959410880,-4.1392,6.61122,-0.651541
-accelerometer: 959430839,-3.64096,7.0903,-0.134141
-accelerometer: 959450767,-3.06608,7.68435,0.0958148
-accelerometer: 959470878,-2.7403,7.99096,0.479074
-accelerometer: 959490836,-2.37621,8.50836,0.632378
-irProximity:959508271,0.109804
-accelerometer: 959510825,-2.2229,8.6425,0
-accelerometer: 959530845,-1.74383,9.37069,-0.134141
-accelerometer: 959550681,-1.30308,10.0414,0.440748
-accelerometer: 959570884,-1.45639,9.25571,-0.0958148
-accelerometer: 959590690,-1.64802,9.61981,-0.306608
-irProximity:959608887,0.129412
-accelerometer: 959610862,-1.53304,9.96474,-0.134141
-accelerometer: 959630668,-1.24559,9.60065,-0.306608
-accelerometer: 959650962,-1.09229,9.69646,-0.843171
-accelerometer: 959670829,-1.20727,10.4055,-0.613215
-accelerometer: 959690879,-0.651541,10.5013,-0.19163
-irProximity:959709595,0
-accelerometer: 959710868,-1.07313,10.3672,-0.421585
-accelerometer: 959730827,-1.5522,9.77311,0.229956
-accelerometer: 959750846,-1.68634,9.524,0.019163
-accelerometer: 959770683,-0.90066,10.118,-0.287445
-accelerometer: 959790855,-0.919823,9.79228,-0.210793
-accelerometer: 959810844,0.0958148,9.10241,0.594052
-accelerometer: 959830833,-1.1881,9.90726,0.785682
-accelerometer: 959850883,-0.344933,9.77311,0.114978
-accelerometer: 959870872,-0.268282,9.71563,0.306608
-accelerometer: 959890861,-0.632378,9.63897,0.268282
-irProximity:959910981,0.0470588
-accelerometer: 959910880,0.019163,9.63897,-0.172467
-accelerometer: 959930869,-0.32577,9.84977,-0.210793
-accelerometer: 959950858,-1.45639,10.0222,0.344933
-accelerometer: 959970847,-1.45639,8.92994,-0.0383259
-accelerometer: 959990684,-1.95462,8.83413,0.70903
-irProximity:960011567,0.117647
-accelerometer: 960010490,-2.49119,8.71915,0.287445
-accelerometer: 960030875,-3.23854,7.64602,0.555726
-accelerometer: 960050681,-3.92841,6.84118,0.249119
-accelerometer: 960070854,-5.00153,4.6566,0.728193
-accelerometer: 960090690,-9.23655,1.26476,0.5174
-accelerometer: 960110771,-14.4872,-3.58348,0.019163
-irProximity:960112611,0
-accelerometer: 960130912,-20.1978,-12.5326,0.229956
-accelerometer: 960150840,-21.2709,-22.574,-0.632378
-accelerometer: 960170829,-20.8685,-28.3037,-2.87445
-accelerometer: 960190696,-14.2764,-35.5473,-3.02775
-accelerometer: 960210685,1.11145,-38.1151,1.93546
-irProximity:960213074,0.0431373
-accelerometer: 960230857,27.3264,-38.8433,13.1266
-accelerometer: 960250877,39.2266,-22.229,6.03634
-accelerometer: 960270866,39.2266,-22.9956,6.86034
-orientation:960270866,4
-accelerometer: 960290641,39.2266,-24.6819,27.8055
-accelerometer: 960310722,39.2266,-10.9421,17.5341
-irProximity:960313966,0
-accelerometer: 960330863,19.1821,-4.38832,-4.15836
-accelerometer: 960350883,10.3863,-3.75594,-7.53105
-accelerometer: 960370872,8.83413,-5.71057,-1.57136
-accelerometer: 960390830,10.2522,-6.80285,3.18105
-accelerometer: 960410697,12.3984,-6.91783,3.87092
-irProximity:960414826,0.129412
-accelerometer: 960430686,11.9769,-6.937,3.54515
-accelerometer: 960450767,9.44734,-5.74889,1.53304
-accelerometer: 960470695,8.06761,-5.174,0.862334
-accelerometer: 960490806,6.47708,-5.67224,1.16894
-accelerometer: 960510673,6.24713,-5.36563,2.24207
-irProximity:960515717,0.145098
-accelerometer: 960530875,6.26629,-6.01717,2.52951
-accelerometer: 960550651,6.64955,-6.13215,2.68282
-accelerometer: 960570579,7.51188,-5.95968,2.45286
-accelerometer: 960590568,7.99096,-5.6914,1.93546
-accelerometer: 960610557,8.2784,-5.0207,1.93546
-irProximity:960616273,0.109804
-accelerometer: 960631400,7.53105,-5.13568,0.881497
-accelerometer: 960650871,6.55374,-4.94405,1.16894
-accelerometer: 960670860,6.82202,-5.19316,2.4337
-accelerometer: 960690879,7.22444,-5.38479,2.35705
-accelerometer: 960710685,7.72268,-5.03986,1.97379
-irProximity:960717194,0
-accelerometer: 960730857,7.81849,-5.05902,1.7055
-accelerometer: 960750846,7.83765,-4.92488,1.60969
-accelerometer: 960771354,8.02928,-5.07819,1.85881
-accelerometer: 960790855,8.24008,-4.77158,1.9163
-accelerometer: 960810691,8.08677,-9.81144,1.60969
-irProximity:960818055,0.0705882
-accelerometer: 960830863,8.06761,-4.79074,1.66718
-accelerometer: 960850700,8.45087,-4.90572,2.16542
-accelerometer: 960870780,8.7958,-5.26982,2.29956
-accelerometer: 960890678,9.21739,-4.90572,2.20374
-accelerometer: 960910667,9.40902,-5.03986,2.49119
-irProximity:960918915,0.0588235
-accelerometer: 960930869,9.40902,-4.82907,2.68282
-accelerometer: 960950858,9.02576,-4.86739,1.85881
-accelerometer: 960970847,8.75748,-4.40748,1.66718
-accelerometer: 960990684,9.06409,-4.17753,2.31872
-accelerometer: 961010673,9.35153,-3.48766,2.77863
-irProximity:961019776,0.0117647
-accelerometer: 961030692,9.25571,-3.54515,2.52951
-accelerometer: 961050834,9.23655,-3.35352,2.47202
-accelerometer: 961070884,9.92642,-2.97026,2.587
-accelerometer: 961090843,10.2522,-2.72114,2.97026
-accelerometer: 961110709,10.9421,-2.64449,3.02775
-irProximity:961120637,0.117647
-accelerometer: 961130882,11.2487,-2.98942,3.9859
-accelerometer: 961150871,10.8271,-2.93193,5.05902
-accelerometer: 961170860,10.6163,-2.01211,6.13215
-accelerometer: 961190879,9.61981,-2.14625,6.18964
-accelerometer: 961210685,8.41254,-1.59053,5.82554
-irProximity:961222016,0
-accelerometer: 961230857,7.51188,-0.843171,5.95968
-accelerometer: 961250877,5.34647,1.49471,9.63897
-accelerometer: 961270683,6.24713,-0.670704,7.32025
-accelerometer: 961290611,5.15484,-0.172467,7.6077
-orientation:961290611,5
-accelerometer: 961310691,4.25418,1.01564,7.6077
-accelerometer: 961330833,3.69845,1.76299,7.58854
-accelerometer: 961350883,3.85176,1.49471,7.37774
-accelerometer: 961370872,3.39185,1.5522,8.66166
-accelerometer: 961390830,2.72114,1.32224,9.0066
-accelerometer: 961410880,2.35705,1.41806,8.56585
-irProximity:961423371,0.0313726
-accelerometer: 961430869,1.82048,1.7055,8.02928
-accelerometer: 961450645,1.16894,2.31872,8.4892
-accelerometer: 961470786,1.09229,2.41453,8.94911
-accelerometer: 961490867,1.1881,2.14625,9.02576
-accelerometer: 961510856,0.90066,2.70198,8.69999
-irProximity:961526093,0
-accelerometer: 961530509,0.824008,3.02775,7.49272
-accelerometer: 961550498,0.766519,3.37268,6.86034
-accelerometer: 961570548,0.804845,3.75594,7.30109
-accelerometer: 961590537,0.689867,3.71762,7.58854
-accelerometer: 961610496,0.134141,3.75594,7.91431
-irProximity:961626588,0.0980392
-accelerometer: 961630546,0,4.08171,7.91431
-accelerometer: 961650504,0.268282,4.17753,7.95263
-accelerometer: 961670493,0.402422,4.27334,7.66519
-accelerometer: 961690482,0.440748,4.42665,7.62686
-accelerometer: 961710502,0.574889,4.82907,7.32025
-irProximity:961727051,0
-accelerometer: 961730491,0.479074,5.00153,7.51188
-accelerometer: 961750511,0.613215,4.77158,8.04845
-accelerometer: 961770530,0.459911,4.63744,8.18259
-accelerometer: 961790641,0,4.52246,7.49272
-accelerometer: 961810661,-0.019163,4.69493,6.89867
-irProximity:961827729,0.113725
-accelerometer: 961830680,0.172467,5.0207,7.22444
-accelerometer: 961850700,0.306608,5.09735,8.01012
-accelerometer: 961870628,0.153304,4.94405,8.39338
-accelerometer: 961890861,0.249119,4.79074,8.08677
-accelerometer: 961910850,0.479074,5.23149,7.91431
-irProximity:961928406,0.152941
-accelerometer: 961930869,0.364096,5.28898,8.10594
-accelerometer: 961950858,0.306608,5.15484,8.52752
-accelerometer: 961970878,-0.019163,4.84823,8.50836
-accelerometer: 961990684,-0.0958148,4.80991,7.9718
-accelerometer: 962010673,0.153304,5.44228,7.761
-irProximity:962029084,0.141176
-accelerometer: 962030662,0.249119,5.46145,7.79933
-accelerometer: 962050803,0.19163,5.5381,8.41254
-accelerometer: 962070884,-0.019163,5.61475,8.45087
-accelerometer: 962090690,-0.498237,5.40396,9.46651
-accelerometer: 962110648,-1.95462,5.90219,8.16343
-irProximity:962129792,0.0392157
-accelerometer: 962130668,-0.498237,5.49977,6.937
-accelerometer: 962150657,-0.0574889,5.44228,7.89514
-accelerometer: 962170860,0.268282,5.13568,9.14074
-accelerometer: 962190879,0.0383259,4.88656,8.66166
-accelerometer: 962210685,0.0958148,5.00153,8.96827
-irProximity:962230866,0.192157
-accelerometer: 962230552,0.134141,4.69493,8.75748
-accelerometer: 962250877,0.210793,4.94405,8.54668
-accelerometer: 962270866,0.019163,5.03986,9.06409
-accelerometer: 962290550,-0.306608,4.82907,8.68083
-accelerometer: 962310600,-0.249119,5.07819,8.91078
-irProximity:962331421,0.0627451
-accelerometer: 962330955,0.306608,5.13568,9.06409
-accelerometer: 962350700,0.210793,5.174,9.04492
-accelerometer: 962370689,0.0766519,4.92488,8.96827
-accelerometer: 962390678,-0.229956,4.92488,7.81849
-accelerometer: 962410697,-0.172467,5.59559,7.78017
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat
deleted file mode 100644
index 81e76758..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_turnover.dat
+++ /dev/null
@@ -1,364 +0,0 @@
-accelerometer: 968940727,-0.402422,0.594052,9.84977
-accelerometer: 968960838,-0.210793,0.555726,9.94558
-accelerometer: 968980674,-0.0766519,0.574889,9.71563
-orientation:961290611,5
-accelerometer: 969000572,0.0383259,0.785682,9.69646
-proximity:969000977,0
-irProximity:969003693,0
-accelerometer: 969020866,-0.134141,0.747356,9.75395
-accelerometer: 969040641,-0.172467,0.613215,9.69646
-accelerometer: 969060813,-0.229956,0.632378,9.50483
-accelerometer: 969080650,-0.287445,0.843171,9.61981
-accelerometer: 969100639,-0.019163,0.766519,9.6773
-irProximity:969104675,0.105882
-accelerometer: 969120841,-0.153304,0.651541,9.6773
-accelerometer: 969140830,-0.114978,0.785682,9.60065
-accelerometer: 969160880,-0.0574889,0.938986,9.8306
-accelerometer: 969180869,0.0574889,0.804845,10.0222
-accelerometer: 969200675,-0.0574889,0.70903,9.77311
-irProximity:969205353,0.0431373
-accelerometer: 969220664,-0.0958148,0.785682,9.79228
-accelerometer: 969240806,0.0958148,0.747356,9.90726
-accelerometer: 969260825,-0.0383259,0.728193,9.65814
-accelerometer: 969280845,-0.19163,0.804845,9.58148
-accelerometer: 969300651,-0.172467,0.824008,9.8306
-irProximity:969306244,0.0117647
-accelerometer: 969320884,-0.172467,0.804845,9.61981
-accelerometer: 969340843,-0.19163,0.804845,9.61981
-accelerometer: 969360832,-0.268282,0.70903,9.35153
-accelerometer: 969380851,-0.268282,0.958148,9.10241
-accelerometer: 969400535,-0.114978,1.01564,9.38986
-irProximity:969407135,0.0980392
-accelerometer: 969420829,-0.114978,0.958148,9.54316
-accelerometer: 969440879,-0.0766519,0.90066,9.58148
-accelerometer: 969460655,0.0383259,0.977311,9.46651
-accelerometer: 969480766,0.153304,1.24559,9.42818
-accelerometer: 969500663,-0.0383259,1.43722,9.1599
-irProximity:969507813,0.113725
-accelerometer: 969520774,-0.0383259,1.80132,9.02576
-accelerometer: 969540550,-0.268282,1.93546,8.39338
-accelerometer: 969560874,0.134141,2.83612,7.58854
-accelerometer: 969580650,1.26476,3.90925,7.6077
-accelerometer: 969600669,1.82048,4.57995,7.6077
-irProximity:969608673,0.164706
-accelerometer: 969620872,1.82048,5.36563,7.85682
-accelerometer: 969640647,2.52951,4.12004,8.20175
-accelerometer: 969660819,4.1392,3.90925,6.74537
-accelerometer: 969680839,4.61828,4.79074,6.53457
-accelerometer: 969700645,5.97885,4.36916,5.94052
-irProximity:969709534,0
-accelerometer: 969720847,6.76453,3.64096,5.94052
-accelerometer: 969740836,8.29757,3.54515,5.38479
-orientation:969740836,4
-accelerometer: 969760825,9.524,4.31167,3.85176
-accelerometer: 969780845,10.0797,4.34999,2.37621
-accelerometer: 969800651,5.94052,5.40396,-2.56784
-irProximity:969810425,0.113725
-accelerometer: 969820854,11.1528,2.4337,4.04339
-accelerometer: 969840843,12.111,6.34294,-4.90572
-accelerometer: 969860832,8.56585,3.18105,1.62885
-accelerometer: 969880576,4.80991,0.70903,3.21938
-accelerometer: 969900687,3.50682,-0.670704,5.82554
-irProximity:969911316,0.129412
-accelerometer: 969920646,2.37621,0,2.31872
-accelerometer: 969940849,0.479074,1.85881,0.728193
-orientation:969940849,1
-accelerometer: 969960716,0.766519,1.41806,0.364096
-accelerometer: 969980857,4.61828,0.881497,-1.20727
-accelerometer: 970000602,4.38832,1.32224,0.90066
-irProximity:970011994,0.152941
-accelerometer: 970020927,-0.574889,-0.268282,1.9163
-accelerometer: 970040855,0.421585,1.80132,-3.00859
-accelerometer: 970060661,-4.73325,4.63744,5.11651
-accelerometer: 970080802,3.73678,2.85528,14.5255
-accelerometer: 970100883,2.72114,1.36057,5.55726
-irProximity:970112732,0
-accelerometer: 970120872,2.10793,-1.82048,12.9158
-accelerometer: 970140861,-1.26476,-3.18105,12.4176
-accelerometer: 970160850,-0.594052,-0.0958148,3.04691
-accelerometer: 970180869,0.383259,-2.24207,17.8599
-accelerometer: 970200675,0.555726,-2.51035,16.5951
-orientation:970200675,5
-irProximity:970214111,0.160784
-accelerometer: 970220878,-0.114978,-1.07313,6.64955
-accelerometer: 970240836,0.268282,-0.364096,3.50682
-accelerometer: 970260825,0.32577,-0.958148,6.87951
-accelerometer: 970280845,0.402422,-1.13062,8.56585
-accelerometer: 970300590,0.632378,-1.45639,12.7242
-irProximity:970314850,0.156863
-accelerometer: 970320884,0.249119,-1.76299,8.60417
-accelerometer: 970340690,1.0348,-2.68282,12.5709
-accelerometer: 970360801,1.41806,-0.153304,10.4438
-accelerometer: 970380882,-0.344933,-0.249119,7.64602
-accelerometer: 970400871,-0.287445,0.306608,11.1145
-irProximity:970415558,0.0784314
-accelerometer: 970420860,-0.229956,-0.0766519,8.89162
-accelerometer: 970440818,-0.594052,0.0383259,9.33237
-accelerometer: 970460868,0.785682,0.19163,10.4247
-accelerometer: 970480674,-0.804845,-0.383259,8.02928
-accelerometer: 970500846,0.0958148,0.268282,10.5013
-irProximity:970516266,0
-accelerometer: 970520866,-0.0766519,0.019163,9.81144
-accelerometer: 970540550,-0.5174,-0.134141,9.1599
-accelerometer: 970560874,0.536563,0.114978,10.6546
-accelerometer: 970580680,-0.344933,-0.153304,9.38986
-accelerometer: 970600791,-0.0766519,0.19163,4.92488
-accelerometer: 970620811,0.114978,-0.0574889,9.90726
-accelerometer: 970640830,-0.459911,-0.019163,9.37069
-accelerometer: 970660880,-1.0348,-1.36057,9.524
-accelerometer: 970680839,0.402422,-3.96673,11.1912
-accelerometer: 970700858,-0.824008,-0.996474,9.56232
-accelerometer: 970720664,1.7055,0.996474,9.0066
-accelerometer: 970740806,0.70903,0,10.0989
-accelerometer: 970760642,1.5522,-1.07313,9.88809
-accelerometer: 970780814,5.80638,-1.1881,9.38986
-accelerometer: 970800865,6.84118,-0.287445,8.77664
-irProximity:970818329,0.027451
-accelerometer: 970820884,1.72467,0.536563,9.65814
-accelerometer: 970840873,-3.14273,-1.5522,10.4438
-accelerometer: 970860832,1.87797,-4.31167,7.12862
-accelerometer: 970880882,5.32731,-0.843171,11.5744
-accelerometer: 970900657,8.89162,-1.85881,10.5396
-irProximity:970919006,0.133333
-accelerometer: 970920860,5.34647,-0.728193,13.0691
-accelerometer: 970940879,2.97026,-1.45639,12.0535
-accelerometer: 970960868,2.62533,-2.08876,11.2295
-accelerometer: 970980827,2.20374,-0.421585,10.9421
-accelerometer: 971000877,1.11145,1.34141,11.5553
-irProximity:971019684,0.0117647
-accelerometer: 971020866,0.938986,2.35705,11.2295
-accelerometer: 971040855,-0.287445,1.01564,8.71915
-accelerometer: 971060874,-1.62885,0.862334,4.98237
-accelerometer: 971080863,-2.587,1.20727,2.98942
-accelerometer: 971100883,-1.85881,1.82048,2.56784
-irProximity:971120392,0
-accelerometer: 971120872,-0.996474,2.62533,8.25924
-accelerometer: 971140678,-2.98942,2.87445,10.0222
-accelerometer: 971160789,-3.35352,2.20374,7.6077
-accelerometer: 971180686,-2.26123,3.14273,5.09735
-accelerometer: 971200645,-2.12709,3.6218,5.32731
-irProximity:971221100,0.160784
-accelerometer: 971220878,-4.57995,4.34999,5.82554
-accelerometer: 971240867,-5.67224,4.82907,6.97532
-accelerometer: 971260856,-4.61828,3.02775,9.92642
-accelerometer: 971280875,-3.90925,0.229956,10.9995
-accelerometer: 971300926,-3.2577,1.85881,10.4438
-irProximity:971321655,0.133333
-accelerometer: 971320518,-2.72114,1.89713,8.29757
-accelerometer: 971340812,-2.08876,1.34141,7.83765
-accelerometer: 971360862,-2.18458,3.12356,9.19823
-accelerometer: 971380851,-1.09229,3.71762,10.348
-accelerometer: 971400871,-1.16894,3.41101,10.8271
-irProximity:971422485,0.0980392
-accelerometer: 971420890,-1.07313,2.37621,9.54316
-accelerometer: 971440879,-1.1881,2.08876,7.83765
-accelerometer: 971460838,-1.30308,2.16542,8.71915
-accelerometer: 971480857,-0.670704,3.06608,9.29404
-accelerometer: 971500877,-0.114978,3.14273,9.65814
-accelerometer: 971520591,-0.0766519,2.33788,9.96474
-irProximity:971522980,0.141176
-accelerometer: 971541251,-1.0348,1.51387,9.21739
-accelerometer: 971560508,-0.785682,1.11145,8.41254
-accelerometer: 971580467,1.78216,2.68282,8.58501
-accelerometer: 971600486,2.9511,4.17753,7.64602
-accelerometer: 971620506,3.69845,3.90925,6.76453
-irProximity:971623474,0.105882
-accelerometer: 971640495,3.73678,4.02422,5.86387
-accelerometer: 971660514,5.97885,4.57995,5.40396
-accelerometer: 971680503,8.71915,5.26982,6.09382
-accelerometer: 971700492,9.96474,6.41959,5.67224
-accelerometer: 971720512,10.233,6.11299,3.89008
-irProximity:971724609,0.00392157
-orientation:971720512,4
-accelerometer: 971740592,8.29757,4.36916,1.49471
-accelerometer: 971760612,6.80285,3.1044,-0.919823
-accelerometer: 971780570,6.7262,1.80132,-2.97026
-accelerometer: 971800681,7.51188,1.14978,-4.04339
-accelerometer: 971820701,6.45792,1.01564,-5.94052
-irProximity:971825317,0.227451
-accelerometer: 971840690,7.26277,0.747356,-9.3132
-accelerometer: 971860648,5.80638,0.613215,-9.21739
-orientation:971860648,6
-accelerometer: 971880729,4.15836,-0.210793,-9.37069
-accelerometer: 971900871,1.82048,-1.20727,-8.68083
-proximity:971911582,1
-accelerometer: 971920677,0.613215,-1.60969,-7.93347
-irProximity:971926178,0.478431
-accelerometer: 971940879,-3.87092,1.09229,15.637
-accelerometer: 971960838,-1.3989,-5.00153,-8.02928
-accelerometer: 971980644,-1.22643,-0.862334,-9.58148
-accelerometer: 972000633,-0.938986,-0.747356,-9.48567
-accelerometer: 972020652,-1.53304,0.229956,-7.0903
-accelerometer: 972040824,-0.364096,-1.07313,-8.94911
-accelerometer: 972060844,0.5174,-0.785682,-6.66871
-accelerometer: 972080833,-0.574889,0.689867,-4.04339
-accelerometer: 972100852,0.19163,0.536563,-1.64802
-accelerometer: 972120689,-0.19163,-0.019163,0.0766519
-orientation:972120689,3
-irProximity:972126739,0.443137
-accelerometer: 972140891,-0.574889,0.268282,-16.6718
-accelerometer: 972160667,-0.287445,-0.019163,-10.6929
-accelerometer: 972180808,-0.153304,-0.114978,-9.79228
-orientation:972180808,6
-accelerometer: 972200675,-0.114978,-0.0766519,-9.63897
-accelerometer: 972220878,-0.0574889,-0.019163,-9.524
-accelerometer: 972240653,-0.0958148,-0.0766519,-9.42818
-proximity:972251090,0
-accelerometer: 972260825,-0.0766519,4.88656,-9.40902
-accelerometer: 972280845,-0.114978,4.88656,-9.48567
-accelerometer: 972300651,-0.114978,-0.019163,-9.44734
-accelerometer: 972320640,-0.0958148,0,-9.44734
-irProximity:972327606,0.270588
-accelerometer: 972340873,-0.0958148,-0.0574889,-9.44734
-accelerometer: 972360832,-0.114978,-0.019163,-9.524
-accelerometer: 972380882,-0.0958148,-0.0383259,-9.48567
-accelerometer: 972400657,-0.134141,-0.0383259,-9.44734
-accelerometer: 972420615,-0.0766519,-0.019163,-9.524
-irProximity:972428467,0.286275
-accelerometer: 972440635,-0.134141,-0.019163,-9.50483
-accelerometer: 972460807,-0.0383259,0,-9.524
-accelerometer: 972480827,-0.114978,-0.0574889,-9.50483
-accelerometer: 972500846,-0.0383259,-0.0383259,-9.48567
-accelerometer: 972520683,-0.0766519,-0.019163,-9.46651
-irProximity:972529358,0.266667
-accelerometer: 972540702,-0.0574889,0.019163,-9.50483
-accelerometer: 972560844,-0.0766519,-0.019163,-9.50483
-accelerometer: 972580650,-0.114978,-0.0766519,-9.48567
-accelerometer: 972600822,-0.0958148,-0.0574889,-9.48567
-accelerometer: 972620689,-0.0958148,-0.0766519,-9.46651
-irProximity:972630249,0.27451
-accelerometer: 972640830,-0.0766519,-0.0383259,-9.46651
-accelerometer: 972660880,-0.0958148,-0.0574889,-9.50483
-accelerometer: 972680839,-0.114978,-0.0383259,-9.46651
-accelerometer: 972700828,-0.0958148,-0.019163,-9.46651
-accelerometer: 972720695,-0.0958148,-0.0383259,-9.50483
-irProximity:972731110,0.278431
-accelerometer: 972740867,-0.114978,-0.0574889,-9.48567
-accelerometer: 972760825,-0.0383259,0.019163,-9.44734
-accelerometer: 972780845,-0.134141,0,-9.40902
-accelerometer: 972800803,-0.134141,-0.019163,-9.44734
-accelerometer: 972820670,-0.0958148,0,-9.44734
-irProximity:972831604,0.298039
-accelerometer: 972840843,-0.0958148,-0.0383259,-9.524
-accelerometer: 972860648,-0.0958148,-0.0383259,-9.48567
-accelerometer: 972880851,-0.0574889,-0.0383259,-9.48567
-accelerometer: 972900840,-0.0383259,4.88656,-9.46651
-accelerometer: 972920677,-0.0958148,-0.019163,-9.42818
-irProximity:972932281,0.290196
-accelerometer: 972940849,-0.134141,0,-9.50483
-accelerometer: 972960838,-0.0958148,0,-9.44734
-accelerometer: 972980827,-0.0958148,-0.0383259,-9.46651
-accelerometer: 973000663,-0.0574889,-0.0958148,-9.42818
-accelerometer: 973020774,-0.0574889,-0.019163,-9.48567
-irProximity:973032959,0.282353
-accelerometer: 973040855,-0.0383259,-0.019163,-9.50483
-accelerometer: 973060844,-0.0766519,0,-9.48567
-accelerometer: 973080833,-1.32224,1.49471,-9.35153
-accelerometer: 973100852,-0.344933,-0.574889,-9.60065
-accelerometer: 973120841,0.172467,-0.114978,-9.27488
-irProximity:973133667,0.278431
-accelerometer: 973140861,1.26476,-0.210793,-9.48567
-accelerometer: 973160850,0.977311,-0.5174,-9.75395
-accelerometer: 973180839,0.498237,-0.287445,-9.44734
-accelerometer: 973200675,-0.5174,-0.977311,-9.8306
-accelerometer: 973220847,-0.19163,0.114978,-9.10241
-irProximity:973234375,0.298039
-accelerometer: 973240653,-0.574889,-0.0383259,-8.94911
-accelerometer: 973260795,-0.459911,0.536563,-9.48567
-accelerometer: 973280662,-1.05396,-1.37973,-9.40902
-accelerometer: 973300620,-1.36057,-1.74383,-9.71563
-accelerometer: 973320854,0.479074,0.632378,-10.2522
-irProximity:973335083,0.356863
-accelerometer: 973340873,1.51387,-0.728193,-12.0535
-accelerometer: 973360832,2.62533,-0.919823,-10.463
-accelerometer: 973380851,3.43017,-1.22643,-12.7434
-accelerometer: 973400810,2.52951,-1.3989,-5.6914
-accelerometer: 973420646,3.20022,-0.689867,-11.057
-accelerometer: 973440757,4.44581,-2.85528,-4.82907
-accelerometer: 973460899,6.07466,-1.87797,-5.97885
-accelerometer: 973480827,7.41607,-3.37268,-4.71409
-orientation:973480827,4
-accelerometer: 973500846,10.233,-3.4685,-3.48766
-accelerometer: 973520835,13.7973,-2.70198,-15.4454
-irProximity:973535736,0.278431
-accelerometer: 973541160,16.2502,-6.15131,0.114978
-accelerometer: 973560844,13.0691,-6.66871,-1.5522
-accelerometer: 973580650,8.52752,-4.52246,-3.06608
-accelerometer: 973600822,2.31872,-3.12356,-1.57136
-accelerometer: 973620841,1.16894,-0.498237,1.60969
-irProximity:973636444,0.14902
-accelerometer: 973640830,4.04339,0.670704,4.31167
-accelerometer: 973660667,6.49625,0.0958148,7.32025
-accelerometer: 973680778,7.07114,1.51387,7.41607
-accelerometer: 973700645,5.40396,1.74383,8.41254
-orientation:973700645,5
-accelerometer: 973720817,1.74383,0.651541,5.61475
-irProximity:973737152,0.137255
-accelerometer: 973740867,3.33436,-2.01211,5.38479
-accelerometer: 973760856,1.97379,-2.28039,6.64955
-accelerometer: 973780906,0.479074,-1.45639,2.51035
-accelerometer: 973800834,-3.23854,0.134141,2.10793
-accelerometer: 973820854,-0.421585,4.33083,13.2224
-irProximity:973837829,0
-accelerometer: 973840659,1.32224,2.35705,10.6738
-accelerometer: 973860771,1.20727,2.98942,10.7504
-accelerometer: 973880912,2.12709,1.49471,9.79228
-accelerometer: 973900871,1.74383,1.3989,11.1528
-accelerometer: 973920829,1.24559,0.938986,11.8619
-irProximity:973938507,0.141176
-accelerometer: 973940849,1.28392,0.785682,11.6894
-accelerometer: 973960838,1.37973,1.16894,11.0762
-accelerometer: 973980827,1.59053,0.479074,10.4247
-accelerometer: 974000602,2.33788,0.383259,10.1755
-accelerometer: 974020896,2.70198,1.1881,10.9995
-irProximity:974039184,0.152941
-accelerometer: 974040824,2.01211,1.60969,10.5971
-accelerometer: 974060844,1.1881,1.1881,9.86893
-accelerometer: 974080650,0.90066,0.613215,9.48567
-accelerometer: 974100822,0.70903,0.172467,9.77311
-accelerometer: 974120658,1.13062,0.287445,10.2139
-irProximity:974139831,0.0235294
-accelerometer: 974140830,1.34141,0.785682,10.118
-accelerometer: 974160850,1.24559,0.862334,9.86893
-accelerometer: 974180839,0.881497,0.479074,9.65814
-accelerometer: 974200675,0.0574889,0.421585,9.19823
-accelerometer: 974220847,0.153304,1.09229,9.23655
-irProximity:974240539,0.12549
-accelerometer: 974240836,0.536563,0.843171,9.1599
-accelerometer: 974260642,0.613215,0.479074,9.524
-accelerometer: 974280814,0.153304,0.459911,9.46651
-accelerometer: 974300681,0.287445,0.574889,9.19823
-accelerometer: 974320884,0.0383259,0.364096,9.19823
-irProximity:974341156,0
-accelerometer: 974340873,-0.0958148,0.862334,9.8306
-accelerometer: 974360832,0,0.919823,9.63897
-accelerometer: 974380882,-0.210793,0.804845,9.50483
-accelerometer: 974400840,-0.459911,0.689867,9.19823
-accelerometer: 974420829,-0.689867,0.421585,9.54316
-irProximity:974441620,0.105882
-accelerometer: 974440513,-0.555726,0.0574889,9.90726
-accelerometer: 974460838,-0.498237,0.536563,10.0606
-accelerometer: 974480827,-0.249119,0.498237,9.48567
-accelerometer: 974500663,-0.402422,1.1881,9.61981
-accelerometer: 974520774,-0.440748,0.824008,9.50483
-irProximity:974542267,0.101961
-accelerometer: 974540794,-0.536563,0.421585,9.60065
-accelerometer: 974560752,-0.574889,0.479074,9.94558
-accelerometer: 974580650,-0.0383259,0.459911,10.233
-accelerometer: 974600791,-0.90066,1.30308,8.22091
-accelerometer: 974620506,-0.555726,0.555726,9.12157
-accelerometer: 974640556,-0.90066,0.210793,9.3132
-irProximity:974642792,0
-accelerometer: 974660819,-1.05396,0.19163,9.6773
-accelerometer: 974680686,-0.306608,0.0383259,10.4821
-accelerometer: 974700858,0.0766519,0.364096,10.4247
-accelerometer: 974720878,-0.019163,0.440748,10.8079
-accelerometer: 974740623,0,0.0766519,10.348
-irProximity:974743530,0.160784
-accelerometer: 974760856,-0.114978,0.70903,10.4438
-accelerometer: 974780845,-0.268282,0.881497,10.0222
-accelerometer: 974800865,-0.210793,1.0348,9.96474
-accelerometer: 974820579,-0.881497,0.594052,9.35153
-accelerometer: 974840690,-0.306608,0.383259,10.5205
-irProximity:974843994,0
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat
deleted file mode 100644
index 19daacd2..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_twist.dat
+++ /dev/null
@@ -1,85 +0,0 @@
-irProximity:860835426,0.0823529
-proximity:860892310,0
-irProximity:860936225,0.0431373
-orientation:0,5
-accelerometer: 1336048300935,0.632378,1.45639,9.79228
-irProximity:861036720,0.105882
-accelerometer: 1336048301035,-0.862334,1.1881,9.46651
-irProximity:861137397,0.0784314
-accelerometer: 1336048301135,-1.5522,0.421585,9.86893
-irProximity:861238319,0.172549
-accelerometer: 1336048301235,-0.996474,0.574889,9.69646
-irProximity:861338844,0.137255
-accelerometer: 1336048301335,-0.632378,0.364096,9.71563
-irProximity:861439765,0.168627
-accelerometer: 1336048301435,1.1881,0.766519,7.99096
-irProximity:861540626,0.0196078
-accelerometer: 1336048301535,9.50483,2.2229,5.49977
-irProximity:861641486,0.121569
-accelerometer: 1336048301635,9.02576,1.97379,0.919823
-irProximity:861742377,0.0784314
-accelerometer: 1336048301735,7.89514,1.51387,-5.88303
-irProximity:861843238,0.109804
-accelerometer: 1336048301835,9.21739,1.22643,-4.12004
-orientation:0,4
-irProximity:861944190,0.156863
-accelerometer: 1336048301935,9.61981,1.7055,-0.862334
-irProximity:862045112,0.152941
-accelerometer: 1336048302035,10.2905,1.89713,4.73325
-irProximity:862145942,0
-accelerometer: 1336048302135,1.47555,1.47555,8.20175
-irProximity:862246802,0.0745098
-accelerometer: 1336048302235,-1.97379,0.70903,9.61981
-irProximity:862347449,0.129412
-accelerometer: 1336048302336,-1.74383,0.824008,9.69646
-orientation:0,5
-irProximity:862448341,0.00392157
-accelerometer: 1336048302435,-1.97379,0.70903,9.69646
-irProximity:862549018,0.0509804
-accelerometer: 1336048302535,-1.99295,0.70903,9.44734
-irProximity:862649879,0.0588235
-accelerometer: 1336048302635,-1.78216,0.555726,9.58148
-irProximity:862750800,0.0156863
-accelerometer: 1336048302735,-1.41806,0.574889,9.58148
-irProximity:862851691,0.152941
-accelerometer: 1336048302835,-1.24559,0.594052,9.73479
-irProximity:862952430,0.145098
-accelerometer: 1336048302935,-1.47555,0.613215,9.61981
-irProximity:863053321,0.0901961
-accelerometer: 1336048303035,-1.34141,0.574889,9.524
-irProximity:863154212,0
-accelerometer: 1336048303135,-1.41806,0.440748,9.65814
-irProximity:863255042,0.0980392
-accelerometer: 1336048303235,-1.28392,0.574889,9.73479
-irProximity:863355933,0.0666667
-accelerometer: 1336048303335,-1.41806,0.479074,9.65814
-irProximity:863456763,0.105882
-accelerometer: 1336048303435,-1.28392,0.421585,9.86893
-irProximity:863557654,0
-accelerometer: 1336048303535,-1.01564,0.555726,9.54316
-irProximity:863658271,0.188235
-accelerometer: 1336048303635,-1.07313,0.5174,9.524
-irProximity:863759193,0.113725
-accelerometer: 1336048303735,-0.996474,0.670704,9.73479
-accelerometer: 1336048303835,-0.996474,0.536563,9.63897
-irProximity:863960731,0.0784314
-accelerometer: 1336048303935,-0.919823,0.574889,9.69646
-irProximity:864061591,0
-accelerometer: 1336048304035,-0.90066,0.536563,9.73479
-accelerometer: 1336048304135,-0.977311,0.402422,9.8306
-irProximity:864263221,0.0941176
-accelerometer: 1336048304235,-1.07313,0.344933,9.73479
-irProximity:864364142,0.117647
-accelerometer: 1336048304335,-1.07313,0.344933,9.69646
-irProximity:864465034,0.0627451
-accelerometer: 1336048304435,-0.919823,0.344933,9.69646
-irProximity:864565894,0.129412
-accelerometer: 1336048304535,-0.785682,0.555726,9.54316
-irProximity:864666419,0.113725
-accelerometer: 1336048304635,-1.11145,0.670704,9.42818
-irProximity:864767280,0.117647
-accelerometer: 1336048304735,-0.938986,0.210793,9.96474
-irProximity:864868171,0.121569
-accelerometer: 1336048304835,-0.977311,0.402422,9.86893
-irProximity:864969092,0.0784314
-
diff --git a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat b/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat
deleted file mode 100644
index d894ab7d..00000000
--- a/tests/auto/qsensorgestures_gestures/dataset2_mock_data/sensordata_whip.dat
+++ /dev/null
@@ -1,188 +0,0 @@
-accelerometer: 979450523,0.268282,1.80132,9.75395
-accelerometer: 979470847,-0.306608,2.51035,9.46651
-accelerometer: 979490836,-0.134141,2.14625,9.65814
-orientation:973700645,5
-accelerometer: 979510551,-0.613215,2.14625,9.38986
-proximity:979515075,0
-irProximity:979517150,0.133333
-accelerometer: 979530692,-0.0958148,2.64449,9.56232
-accelerometer: 979550864,-0.019163,2.41453,8.98743
-accelerometer: 979570854,0,3.12356,9.06409
-accelerometer: 979590873,0,3.31519,9.524
-accelerometer: 979610679,-0.019163,3.04691,9.14074
-irProximity:979618164,0.0980392
-accelerometer: 979630851,-0.32577,3.1044,8.92994
-accelerometer: 979651084,-0.440748,3.2577,8.87245
-accelerometer: 979670799,-0.268282,2.81696,8.92994
-accelerometer: 979690849,-0.498237,3.39185,8.94911
-accelerometer: 979710685,-0.229956,3.6218,8.52752
-irProximity:979719024,0.0156863
-accelerometer: 979730857,-0.0383259,3.43017,8.85329
-accelerometer: 979750663,-0.210793,3.39185,9.1599
-accelerometer: 979770805,-0.32577,3.16189,8.94911
-accelerometer: 979790641,-0.613215,2.39537,8.50836
-accelerometer: 979810661,-0.804845,3.16189,9.40902
-irProximity:979819915,0.0823529
-accelerometer: 979830833,-0.574889,3.2577,9.1599
-accelerometer: 979850852,-0.594052,2.97026,8.91078
-accelerometer: 979870872,-0.594052,3.16189,8.7958
-accelerometer: 979890830,-0.632378,3.23854,8.87245
-accelerometer: 979910697,-0.536563,2.98942,9.50483
-irProximity:979920776,0.129412
-accelerometer: 979930656,-0.249119,3.02775,9.40902
-accelerometer: 979950797,-0.172467,3.14273,9.27488
-accelerometer: 979970847,-0.19163,3.16189,9.14074
-accelerometer: 979990684,0.019163,3.14273,9.44734
-accelerometer: 980010673,-0.0766519,3.20022,9.50483
-irProximity:980021362,0.121569
-accelerometer: 980030875,-0.306608,3.66013,9.38986
-accelerometer: 980050834,0,3.16189,9.14074
-accelerometer: 980070884,-0.19163,3.29603,9.19823
-accelerometer: 980090659,-0.249119,3.29603,9.37069
-accelerometer: 980110618,-0.440748,3.21938,9.42818
-irProximity:980122070,0.109804
-accelerometer: 980130882,-0.613215,3.08524,9.3132
-accelerometer: 980150871,-0.440748,3.29603,9.04492
-accelerometer: 980170646,-0.172467,3.37268,9.27488
-accelerometer: 980190635,-0.134141,3.31519,9.69646
-accelerometer: 980210655,-0.32577,3.44933,9.10241
-irProximity:980222717,0.133333
-accelerometer: 980230857,-0.306608,3.44933,9.21739
-accelerometer: 980250846,-0.268282,3.39185,9.06409
-accelerometer: 980270835,-0.383259,4.00506,9.524
-accelerometer: 980290824,-0.364096,4.15836,10.0606
-accelerometer: 980310691,-0.287445,4.56079,12.0918
-irProximity:980323394,0.054902
-accelerometer: 980330863,0.0958148,4.25418,14.3722
-accelerometer: 980350669,-0.210793,3.90925,17.6874
-accelerometer: 980370811,-1.01564,3.29603,19.3163
-accelerometer: 980390830,-2.16542,2.56784,20.4661
-accelerometer: 980410850,-2.03127,2.68282,19.6804
-irProximity:980424072,0.137255
-accelerometer: 980430839,-1.07313,3.04691,15.1196
-accelerometer: 980450828,0.210793,1.89713,8.62334
-accelerometer: 980470878,0.919823,2.49119,3.83259
-accelerometer: 980490836,-0.919823,2.75947,-2.05044
-accelerometer: 980510825,0.0574889,1.3989,-5.76805
-irProximity:980525115,0.0313726
-accelerometer: 980531638,-0.747356,0.229956,-9.79228
-accelerometer: 980550834,-0.344933,-1.34141,-15.4645
-accelerometer: 980570854,-0.229956,-4.1392,-25.6592
-accelerometer: 980590690,0.689867,-7.83765,-35.2982
-accelerometer: 980610801,1.85881,-11.2678,-34.8958
-irProximity:980625854,0
-accelerometer: 980630668,2.18458,-13.759,-21.2517
-accelerometer: 980650779,2.29956,-15.1579,-3.85176
-accelerometer: 980670829,5.40396,-20.1978,39.2458
-accelerometer: 980690849,-8.45087,-31.0823,39.2458
-accelerometer: 980710838,-22.3632,-30.6416,39.2458
-irProximity:980726531,0.137255
-accelerometer: 980730827,-10.8462,-9.19823,39.2458
-accelerometer: 980750846,-1.22643,3.66013,8.47003
-accelerometer: 980770652,4.1392,3.7751,-4.86739
-accelerometer: 980790763,6.63039,6.97532,-14.8896
-accelerometer: 980810844,5.28898,5.25065,-15.7328
-orientation:980810844,6
-irProximity:980827209,0
-accelerometer: 980830863,3.18105,4.71409,-7.4544
-accelerometer: 980850852,2.10793,4.21585,3.69845
-accelerometer: 980870841,-1.57136,0.938986,14.5255
-accelerometer: 980890830,-4.00506,-0.0574889,19.2588
-accelerometer: 980910850,-4.61828,0.0766519,16.5185
-accelerometer: 980930808,-3.79427,2.24207,11.5744
-accelerometer: 980950858,-2.41453,3.04691,8.02928
-accelerometer: 980970847,-0.958148,3.50682,6.53457
-orientation:980970847,5
-accelerometer: 980990714,-0.0383259,3.37268,6.87951
-accelerometer: 981010642,0.172467,3.02775,8.16343
-accelerometer: 981030814,-0.32577,2.60616,9.04492
-accelerometer: 981050651,-0.843171,2.29956,10.233
-accelerometer: 981070823,-0.919823,2.60616,10.6929
-accelerometer: 981090843,-0.881497,3.00859,10.0414
-accelerometer: 981110832,-0.651541,3.41101,9.27488
-accelerometer: 981130821,-0.402422,3.83259,8.89162
-accelerometer: 981150840,-0.594052,3.58348,9.0066
-accelerometer: 981170829,-0.134141,3.58348,9.33237
-accelerometer: 981190666,-0.0958148,3.69845,8.85329
-accelerometer: 981210960,-0.229956,3.75594,9.0066
-irProximity:981229766,0.176471
-accelerometer: 981230857,-0.114978,3.6218,8.96827
-accelerometer: 981250846,-0.153304,3.43017,8.91078
-accelerometer: 981270835,-0.019163,3.75594,8.96827
-accelerometer: 981290824,-0.134141,3.4685,8.87245
-accelerometer: 981310691,-0.632378,3.41101,8.94911
-irProximity:981330444,0.0666667
-accelerometer: 981330863,-0.689867,3.23854,9.12157
-accelerometer: 981350852,-0.689867,3.18105,8.96827
-accelerometer: 981370841,-0.766519,3.21938,8.83413
-accelerometer: 981390861,-0.632378,3.20022,8.89162
-accelerometer: 981410850,-0.210793,3.16189,9.1599
-irProximity:981431121,0.0156863
-accelerometer: 981430656,-0.402422,3.27687,9.06409
-accelerometer: 981450797,-0.364096,3.1044,8.87245
-accelerometer: 981470664,-0.383259,3.16189,8.89162
-accelerometer: 981490775,-0.613215,2.89361,8.87245
-accelerometer: 981510825,-0.459911,3.33436,9.54316
-irProximity:981532775,0.0941176
-accelerometer: 981531364,0.210793,3.21938,9.6773
-accelerometer: 981550498,-0.210793,3.02775,9.06409
-accelerometer: 981570518,-0.249119,3.18105,9.29404
-accelerometer: 981590537,-0.287445,3.14273,9.14074
-accelerometer: 981610465,-0.210793,3.06608,9.29404
-accelerometer: 981630485,-0.440748,3.23854,9.44734
-irProximity:981633270,0
-accelerometer: 981650504,-0.019163,3.04691,9.65814
-accelerometer: 981670493,-0.134141,3.04691,9.29404
-accelerometer: 981690513,-0.479074,3.20022,9.06409
-accelerometer: 981710502,-0.689867,3.21938,8.77664
-accelerometer: 981730491,-0.555726,3.21938,8.98743
-irProximity:981733764,0.113725
-accelerometer: 981750511,-0.5174,2.93193,9.40902
-accelerometer: 981770561,-0.594052,2.81696,9.21739
-accelerometer: 981790702,-0.440748,2.98942,9.1599
-accelerometer: 981810691,-0.594052,3.20022,9.04492
-accelerometer: 981830680,-0.728193,2.97026,9.02576
-irProximity:981834472,0
-accelerometer: 981850669,-0.632378,2.83612,9.10241
-accelerometer: 981870719,-0.383259,3.08524,9.19823
-accelerometer: 981890678,-0.229956,3.00859,9.23655
-accelerometer: 981910819,-0.536563,2.87445,9.42818
-accelerometer: 981930686,-0.5174,3.02775,9.33237
-irProximity:981935363,0.027451
-accelerometer: 981950858,-0.632378,2.89361,9.42818
-accelerometer: 981970878,-0.536563,2.97026,9.40902
-accelerometer: 981990684,-0.651541,2.81696,9.33237
-accelerometer: 982010673,-0.555726,2.97026,9.1599
-accelerometer: 982030692,-0.651541,2.91277,9.46651
-irProximity:982036041,0.141176
-accelerometer: 982050803,-0.728193,2.79779,9.3132
-accelerometer: 982070701,-0.632378,2.91277,9.3132
-accelerometer: 982090659,-0.632378,2.87445,9.25571
-accelerometer: 982110832,-0.574889,2.77863,9.35153
-accelerometer: 982130698,-0.632378,2.79779,9.38986
-irProximity:982136932,0.129412
-accelerometer: 982150871,-0.364096,2.81696,9.524
-accelerometer: 982170829,-0.459911,2.87445,9.14074
-accelerometer: 982190696,-0.440748,2.91277,9.21739
-accelerometer: 982210868,-0.5174,2.79779,9.3132
-accelerometer: 982230674,-0.574889,2.77863,9.40902
-irProximity:982237792,0.109804
-accelerometer: 982250877,-0.383259,2.89361,9.54316
-accelerometer: 982270683,-0.555726,2.81696,9.46651
-accelerometer: 982291435,-1.0348,3.04691,8.69999
-accelerometer: 982310630,-0.670704,2.70198,9.02576
-accelerometer: 982330833,-0.938986,2.70198,8.98743
-irProximity:982338470,0.105882
-accelerometer: 982351005,-0.766519,2.56784,9.04492
-accelerometer: 982371055,-0.594052,2.79779,9.37069
-accelerometer: 982391044,-0.670704,2.56784,9.29404
-accelerometer: 982410728,-0.613215,2.45286,9.10241
-accelerometer: 982430747,-0.498237,2.45286,9.94558
-irProximity:982439269,0.117647
-accelerometer: 982450736,-0.728193,2.28039,9.8306
-accelerometer: 982470939,-0.613215,2.51035,10.0031
-accelerometer: 982490958,-0.670704,2.81696,9.98391
-accelerometer: 982510978,-0.498237,2.98942,9.65814
-accelerometer: 982530723,-0.843171,2.9511,8.85329
-irProximity:982540160,0.156863
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat
deleted file mode 100644
index fc52f6d8..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_cover.dat
+++ /dev/null
@@ -1,296 +0,0 @@
-orientation:11415310938,5
-accelerometer: 11416690881,-0.383259,0.747356,10.3097
-accelerometer: 11416711145,-0.766519,0.728193,9.65814
-accelerometer: 11416731744,-0.402422,0.364096,9.98391
-irProximity:11416747364,0.294118
-proximity:11416749012,0
-accelerometer: 11416750574,-0.498237,-0.0766519,9.88809
-accelerometer: 11416771845,-0.32577,0.153304,9.60065
-accelerometer: 11416790918,0.0383259,-0.843171,8.91078
-accelerometer: 11416810938,-0.229956,-0.287445,8.85329
-accelerometer: 11416830713,-0.862334,-0.0766519,8.85329
-accelerometer: 11416850885,-1.11145,0.0383259,9.40902
-accelerometer: 11416872675,-0.90066,-0.536563,9.46651
-accelerometer: 11416890649,-0.689867,0.32577,9.77311
-accelerometer: 11416910700,-0.747356,-0.19163,9.69646
-accelerometer: 11416930689,-0.498237,-0.249119,9.33237
-accelerometer: 11416951227,-0.172467,-0.402422,9.50483
-accelerometer: 11416970636,-0.0958148,-0.249119,9.73479
-accelerometer: 11416991480,0,-0.153304,9.75395
-accelerometer: 11417010736,-0.114978,-0.32577,9.81144
-accelerometer: 11417031397,-0.344933,-0.19163,9.63897
-accelerometer: 11417051325,-0.019163,-0.172467,9.21739
-accelerometer: 11417070856,-0.114978,-0.268282,9.50483
-accelerometer: 11417090967,-0.383259,0.019163,9.33237
-accelerometer: 11417110925,-0.172467,-0.210793,9.60065
-accelerometer: 11417130731,-0.383259,-0.114978,9.37069
-accelerometer: 11417150873,-0.5174,-0.421585,9.88809
-accelerometer: 11417171014,-0.747356,-0.172467,9.65814
-accelerometer: 11417191034,-0.402422,0.0958148,9.75395
-accelerometer: 11417210931,-0.229956,-0.0383259,9.90726
-accelerometer: 11417230920,-0.306608,0.0958148,9.65814
-accelerometer: 11417250787,-0.153304,-0.019163,9.50483
-accelerometer: 11417270929,-0.306608,-0.249119,9.84977
-accelerometer: 11417290888,-0.344933,-0.287445,9.6773
-accelerometer: 11417310938,-0.0574889,-0.344933,9.6773
-accelerometer: 11417330927,-0.402422,-0.134141,9.50483
-accelerometer: 11417350794,-0.651541,-0.19163,9.46651
-accelerometer: 11417370935,-0.364096,-0.306608,9.50483
-accelerometer: 11417390924,-0.344933,-0.0958148,9.37069
-accelerometer: 11417410974,-0.19163,-0.134141,9.6773
-accelerometer: 11417430933,-0.172467,-0.249119,9.40902
-accelerometer: 11417450769,-0.440748,-0.19163,9.48567
-irProximity:11417455616,0.290196
-accelerometer: 11417470819,-0.498237,-0.210793,9.50483
-accelerometer: 11417490930,-0.421585,-0.172467,9.63897
-accelerometer: 11417510950,-0.287445,0.019163,9.75395
-accelerometer: 11417530969,-0.229956,-0.268282,9.48567
-accelerometer: 11417550775,-0.459911,-0.019163,9.42818
-accelerometer: 11417570886,-0.383259,-0.134141,9.56232
-accelerometer: 11417590997,-0.402422,-0.114978,9.69646
-accelerometer: 11417610986,-0.498237,4.82907,9.61981
-accelerometer: 11417630945,-0.32577,-0.114978,9.61981
-accelerometer: 11417650812,-0.383259,-0.134141,9.63897
-irProximity:11417657459,0.294118
-accelerometer: 11417670953,-0.210793,-0.0383259,10.0797
-accelerometer: 11417690942,-0.344933,-0.344933,9.63897
-accelerometer: 11417710962,-0.32577,-0.134141,9.63897
-accelerometer: 11417730951,-0.364096,-0.306608,9.54316
-accelerometer: 11417750818,-0.632378,0.0766519,9.65814
-irProximity:11417758381,0.290196
-accelerometer: 11417773218,-0.344933,4.75242,9.44734
-accelerometer: 11417790918,-0.440748,0.249119,9.42818
-accelerometer: 11417811029,-0.5174,4.77158,9.524
-accelerometer: 11417830713,-0.32577,-0.0383259,9.60065
-accelerometer: 11417850702,-0.421585,4.84823,9.75395
-accelerometer: 11417870722,-0.287445,-0.019163,9.56232
-accelerometer: 11417890802,-0.287445,-0.172467,9.75395
-accelerometer: 11417910791,-0.421585,-0.114978,10.0989
-accelerometer: 11417930933,-0.594052,0.153304,10.0031
-accelerometer: 11417950800,-0.977311,0.019163,10.4438
-irProximity:11417960224,0.294118
-accelerometer: 11417970972,-0.881497,-0.344933,9.94558
-accelerometer: 11417990808,-1.93546,0.19163,9.38986
-accelerometer: 11418010980,-1.51387,-0.249119,7.66519
-accelerometer: 11418031000,-1.78216,-1.20727,8.16343
-accelerometer: 11418050775,-2.2229,-1.43722,8.91078
-irProximity:11418061146,0.290196
-accelerometer: 11418070947,-1.89713,-1.36057,8.01012
-accelerometer: 11418090967,-1.57136,-0.498237,8.68083
-accelerometer: 11418110895,-2.28039,-0.574889,7.91431
-accelerometer: 11418130945,-1.51387,-1.24559,6.99448
-accelerometer: 11418150964,1.49471,-0.862334,8.41254
-irProximity:11418161915,0.294118
-accelerometer: 11418171198,2.9511,0.977311,10.8462
-accelerometer: 11418191004,2.05044,2.64449,11.3253
-accelerometer: 11418210962,1.53304,1.36057,10.8462
-accelerometer: 11418230951,0.364096,0.249119,9.1599
-accelerometer: 11418250971,-0.268282,-0.421585,8.4892
-irProximity:11418262653,0.290196
-accelerometer: 11418270929,-0.689867,4.84823,8.75748
-accelerometer: 11418290949,-0.613215,0.479074,10.4438
-accelerometer: 11418310938,-1.57136,0.306608,14.3722
-accelerometer: 11418330927,-1.57136,0.364096,10.8462
-accelerometer: 11418350946,-1.07313,0.0574889,9.524
-irProximity:11418363453,0.294118
-accelerometer: 11418370905,-1.01564,-0.19163,9.65814
-accelerometer: 11418390985,-0.919823,0.0958148,9.79228
-accelerometer: 11418410944,-1.05396,-0.0574889,9.35153
-accelerometer: 11418430963,-1.13062,0.383259,9.1599
-accelerometer: 11418450952,-1.64802,0.402422,9.46651
-accelerometer: 11418470789,-1.60969,0.19163,9.92642
-accelerometer: 11418490930,-1.26476,0.268282,9.54316
-accelerometer: 11418510950,-1.16894,0.0383259,9.44734
-accelerometer: 11418531000,-1.11145,0.0958148,9.65814
-accelerometer: 11418550928,-1.37973,0.268282,9.81144
-irProximity:11418565083,0.345098
-accelerometer: 11418570947,-1.05396,0.210793,9.73479
-accelerometer: 11418590906,-0.804845,0.0958148,9.75395
-accelerometer: 11418610956,-0.919823,-0.0958148,9.71563
-proximity:11418618768,1
-accelerometer: 11418631006,-0.594052,-0.172467,9.38986
-accelerometer: 11418650964,-0.728193,-0.0383259,9.33237
-irProximity:11418665882,0.466667
-accelerometer: 11418670923,-0.574889,0.0383259,9.23655
-accelerometer: 11418690942,-1.01564,-4.84823,9.25571
-accelerometer: 11418711054,-0.70903,0.249119,8.45087
-accelerometer: 11418730920,-0.632378,0.5174,8.66166
-accelerometer: 11418750910,-0.632378,0.306608,9.10241
-accelerometer: 11418772272,-0.824008,0.229956,10.0989
-accelerometer: 11418791010,-0.919823,0.134141,10.2714
-accelerometer: 11418810571,-0.804845,0.0766519,9.84977
-accelerometer: 11418830621,-0.90066,0.172467,9.56232
-accelerometer: 11418850671,-1.0348,0.306608,9.79228
-irProximity:11418866627,0.639216
-accelerometer: 11418870813,-0.90066,-0.19163,8.89162
-accelerometer: 11418890802,-0.766519,0.306608,9.29404
-accelerometer: 11418910761,-0.651541,0.114978,9.54316
-accelerometer: 11418930963,-0.958148,0.0766519,9.79228
-accelerometer: 11418950983,-0.613215,-0.019163,9.54316
-accelerometer: 11418970972,-0.70903,0.0574889,9.44734
-accelerometer: 11418990808,-0.958148,0.32577,9.38986
-accelerometer: 11419010828,-0.574889,0,9.46651
-accelerometer: 11419030908,-1.01564,0.32577,9.61981
-accelerometer: 11419050928,-0.862334,0.0574889,9.58148
-irProximity:11419067371,0.713726
-accelerometer: 11419070917,-0.766519,0.249119,9.40902
-accelerometer: 11419090875,-0.938986,0.210793,9.50483
-accelerometer: 11419110895,-0.804845,0.172467,9.524
-accelerometer: 11419130945,-0.766519,0.172467,9.75395
-accelerometer: 11419150903,-0.90066,0.19163,9.58148
-accelerometer: 11419170923,-1.07313,0.268282,9.65814
-accelerometer: 11419190942,-0.843171,0.344933,9.54316
-accelerometer: 11419210931,-1.05396,0.19163,9.40902
-accelerometer: 11419230951,-1.13062,0.268282,9.63897
-accelerometer: 11419250940,-1.09229,0.402422,9.60065
-irProximity:11419268085,0.709804
-accelerometer: 11419270899,-0.938986,0.383259,9.58148
-accelerometer: 11419290888,-0.843171,0.134141,9.40902
-accelerometer: 11419310999,-0.90066,0.32577,9.44734
-accelerometer: 11419330896,-0.977311,0.421585,9.524
-accelerometer: 11419350916,-1.01564,0.383259,9.46651
-accelerometer: 11419370966,-1.01564,0.402422,9.19823
-accelerometer: 11419390955,-1.05396,0.134141,9.54316
-accelerometer: 11419410944,-0.728193,0.229956,9.54316
-accelerometer: 11419430963,-0.843171,0.459911,9.524
-accelerometer: 11419451044,-1.01564,0.344933,9.77311
-irProximity:11419468830,0.705882
-accelerometer: 11419470789,-1.01564,0.498237,9.48567
-accelerometer: 11419490930,-0.938986,0.306608,9.3132
-accelerometer: 11419510919,-0.938986,0.306608,9.44734
-accelerometer: 11419530939,-0.843171,0.402422,9.46651
-accelerometer: 11419550928,-0.766519,0.402422,9.61981
-accelerometer: 11419570978,-1.01564,0.421585,9.58148
-accelerometer: 11419590845,-0.996474,0.5174,9.3132
-accelerometer: 11419610773,-0.90066,0.402422,9.44734
-accelerometer: 11419630945,-0.938986,0.421585,9.44734
-accelerometer: 11419650934,-1.01564,0.440748,9.6773
-accelerometer: 11419671014,-1.16894,0.459911,9.73479
-accelerometer: 11419690912,-1.05396,0.402422,9.44734
-accelerometer: 11419710901,-1.0348,0.459911,9.37069
-accelerometer: 11419730890,-0.862334,0.268282,9.46651
-accelerometer: 11419750910,-1.01564,0.536563,9.38986
-accelerometer: 11419773645,-1.05396,0.440748,9.60065
-accelerometer: 11419791010,-1.05396,0.670704,9.44734
-accelerometer: 11419810571,-0.919823,0.5174,9.60065
-accelerometer: 11419830591,-0.804845,0.344933,9.48567
-accelerometer: 11419850610,-1.0348,0.153304,9.40902
-accelerometer: 11419870874,-0.70903,0.344933,9.33237
-accelerometer: 11419890772,-0.958148,0.479074,9.90726
-accelerometer: 11419910761,-0.919823,0.287445,9.56232
-accelerometer: 11419930902,-1.13062,0.153304,9.38986
-accelerometer: 11419950952,-0.977311,0.153304,9.54316
-accelerometer: 11419970972,-1.07313,0.574889,9.46651
-accelerometer: 11419990808,-0.862334,0.5174,9.56232
-accelerometer: 11420010889,-1.09229,0.440748,9.46651
-accelerometer: 11420030969,-1.0348,0.383259,9.42818
-accelerometer: 11420050958,-1.16894,0.459911,9.6773
-irProximity:11420070759,0.709804
-accelerometer: 11420071008,-1.47555,0.498237,9.65814
-accelerometer: 11420090906,-1.20727,0.804845,9.46651
-accelerometer: 11420110895,-0.766519,0.536563,9.3132
-accelerometer: 11420130914,-0.90066,0.70903,9.3132
-accelerometer: 11420150903,-0.728193,0.134141,9.54316
-accelerometer: 11420170984,-1.01564,0.306608,9.44734
-accelerometer: 11420190912,-0.689867,0.210793,9.58148
-accelerometer: 11420210901,-0.785682,0.383259,9.65814
-accelerometer: 11420230798,-0.747356,0.153304,9.44734
-proximity:11420241113,0
-accelerometer: 11420250940,-0.632378,0.19163,9.77311
-irProximity:11420271656,0.329412
-accelerometer: 11420271417,-0.862334,0.268282,9.60065
-accelerometer: 11420290949,-0.728193,0.210793,9.54316
-accelerometer: 11420310999,-0.824008,0.287445,9.60065
-accelerometer: 11420330957,-0.919823,0.344933,9.46651
-accelerometer: 11420350946,-0.958148,0.555726,9.50483
-accelerometer: 11420370538,-0.728193,0.249119,9.50483
-irProximity:11420372730,0.290196
-accelerometer: 11420390924,-0.938986,0.19163,9.38986
-accelerometer: 11420411005,-0.70903,0.210793,9.21739
-accelerometer: 11420430933,-1.05396,0.479074,14.6788
-accelerometer: 11420450922,-0.881497,0.383259,9.73479
-accelerometer: 11420470728,-0.651541,4.86739,9.58148
-accelerometer: 11420490930,-0.440748,0.0958148,9.48567
-accelerometer: 11420510919,-0.498237,0.0383259,9.73479
-accelerometer: 11420530969,-0.479074,0.0574889,9.58148
-accelerometer: 11420550958,-0.555726,0.0383259,9.37069
-accelerometer: 11420570795,-0.440748,4.84823,9.71563
-irProximity:11420574360,0.294118
-accelerometer: 11420591119,-0.306608,0,9.63897
-accelerometer: 11420610986,-0.32577,-0.0383259,9.524
-accelerometer: 11420630975,-0.459911,0.019163,9.44734
-accelerometer: 11420650964,-0.479074,0.5174,9.60065
-accelerometer: 11420670770,-0.440748,0.383259,4.94405
-accelerometer: 11420690912,-0.479074,0.555726,9.65814
-accelerometer: 11420710931,-0.5174,0.306608,9.38986
-accelerometer: 11420730920,-0.651541,0.249119,9.37069
-accelerometer: 11420750940,-0.574889,0.249119,9.48567
-accelerometer: 11420773401,-0.632378,0.19163,9.33237
-accelerometer: 11420790582,-0.421585,0.249119,9.33237
-accelerometer: 11420810571,-0.344933,-0.0766519,9.48567
-accelerometer: 11420830652,-0.249119,-0.0766519,9.6773
-accelerometer: 11420850794,-0.134141,-0.0383259,9.71563
-accelerometer: 11420870783,-0.344933,0.134141,9.77311
-accelerometer: 11420890711,-0.249119,-0.0383259,9.3132
-accelerometer: 11420910852,-0.459911,-4.80991,9.524
-accelerometer: 11420930902,-0.421585,0.287445,9.61981
-accelerometer: 11420950922,-0.364096,0.421585,9.48567
-accelerometer: 11420970819,-0.402422,0.364096,9.38986
-irProximity:11420977863,0.290196
-accelerometer: 11420990808,-0.613215,0.364096,9.50483
-accelerometer: 11421010828,-0.574889,0.402422,9.61981
-accelerometer: 11421030969,-0.536563,0.0766519,9.46651
-accelerometer: 11421050958,-0.651541,0.0958148,9.58148
-accelerometer: 11421070795,-0.651541,0.249119,9.84977
-irProximity:11421078815,0.294118
-accelerometer: 11421090936,-0.440748,0.0958148,9.69646
-accelerometer: 11421110956,-0.364096,0.0574889,9.75395
-accelerometer: 11421130945,-0.402422,-0.0574889,9.46651
-accelerometer: 11421150934,-0.402422,0.134141,9.33237
-accelerometer: 11421170770,-0.421585,0.153304,9.75395
-accelerometer: 11421190912,-0.229956,-0.114978,9.38986
-accelerometer: 11421210962,-0.32577,-0.019163,9.44734
-accelerometer: 11421230951,-0.383259,0.0574889,9.69646
-accelerometer: 11421250971,-0.402422,0.019163,9.54316
-accelerometer: 11421270807,-0.479074,0.249119,9.6773
-accelerometer: 11421290857,-0.728193,0.249119,9.65814
-accelerometer: 11421310816,-0.421585,0.32577,9.56232
-accelerometer: 11421330896,-0.459911,0.19163,9.524
-accelerometer: 11421350885,-0.32577,0.210793,9.77311
-accelerometer: 11421370813,-0.440748,0.0766519,9.61981
-irProximity:11421381428,0.290196
-accelerometer: 11421390894,-0.5174,0.229956,9.61981
-accelerometer: 11421410913,-0.613215,0.229956,9.44734
-accelerometer: 11421430902,-0.747356,0.210793,9.48567
-accelerometer: 11421450922,-0.5174,0.210793,9.61981
-accelerometer: 11421470789,-0.555726,0.172467,9.524
-accelerometer: 11421490930,-0.383259,0.0766519,9.58148
-accelerometer: 11421510980,-0.364096,0.153304,9.65814
-accelerometer: 11421530969,-0.555726,0.32577,9.42818
-accelerometer: 11421550958,-0.383259,0.210793,9.61981
-accelerometer: 11421570917,-0.555726,0.210793,9.54316
-accelerometer: 11421591119,-0.574889,0.19163,9.42818
-accelerometer: 11421610895,-0.32577,0.268282,9.79228
-accelerometer: 11421630914,-0.5174,0.153304,9.48567
-accelerometer: 11421650903,-0.613215,0.153304,9.56232
-accelerometer: 11421670740,-0.536563,0.153304,9.44734
-accelerometer: 11421690912,-0.459911,0.268282,9.50483
-accelerometer: 11421710931,-0.459911,0.19163,9.54316
-accelerometer: 11421730951,-0.651541,0.287445,9.54316
-accelerometer: 11421751001,-0.574889,0.306608,9.54316
-irProximity:11421784443,0.294118
-accelerometer: 11421790613,-0.613215,0.134141,9.50483
-accelerometer: 11421810724,-0.383259,0.0958148,9.58148
-accelerometer: 11421830713,-0.555726,0.249119,9.46651
-accelerometer: 11421850794,-0.594052,0.32577,9.54316
-accelerometer: 11421870844,-0.364096,0.287445,9.69646
-accelerometer: 11421890711,-0.459911,0.287445,9.40902
-accelerometer: 11421910822,-0.958148,0.804845,6.70704
-accelerometer: 11421930933,-0.5174,0.306608,9.35153
-accelerometer: 11421950952,-1.07313,0.594052,9.98391
-accelerometer: 11421970911,-0.344933,0.210793,10.4821
-accelerometer: 11421990808,-0.594052,0.249119,10.4438
-accelerometer: 11422010767,-0.440748,0.479074,10.5588
-accelerometer: 11422030969,-0.977311,0.287445,9.86893
-accelerometer: 11422050684,-0.5174,0.344933,9.33237
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat
deleted file mode 100644
index a5ac6739..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_doubletap.dat
+++ /dev/null
@@ -1,161 +0,0 @@
-orientation:11415310938,5
-accelerometer: 11422167413,-0.498237,-0.019163,9.60065
-accelerometer: 11422180811,-0.421585,0,9.90726
-irProximity:11422190265,0.294118
-accelerometer: 11422200830,-0.440748,-0.0383259,9.88809
-accelerometer: 11422220545,-0.249119,0,9.71563
-proximity:11422224537,0
-accelerometer: 11422240930,-0.5174,0.134141,9.6773
-accelerometer: 11422260950,-0.536563,0.19163,9.54316
-accelerometer: 11422280756,-0.555726,0.459911,9.25571
-accelerometer: 11422300928,-0.689867,0.440748,9.29404
-accelerometer: 11422320947,-0.689867,0.5174,9.27488
-accelerometer: 11422340967,-0.555726,0.479074,9.46651
-accelerometer: 11422360956,-0.651541,0.440748,9.63897
-accelerometer: 11422380945,-0.632378,0.229956,9.65814
-accelerometer: 11422400873,-0.421585,0.019163,9.58148
-accelerometer: 11422420892,-0.536563,0.0958148,9.46651
-accelerometer: 11422440912,-0.383259,0.114978,9.65814
-accelerometer: 11422460901,-0.364096,0.0958148,9.63897
-accelerometer: 11422480982,-0.498237,0.134141,9.60065
-accelerometer: 11422500910,-0.383259,0.0958148,9.54316
-accelerometer: 11422520960,-0.383259,0.344933,9.42818
-accelerometer: 11422540949,-0.555726,0.32577,9.54316
-accelerometer: 11422560968,-0.421585,0.498237,9.58148
-accelerometer: 11422580988,-0.594052,0.32577,9.54316
-accelerometer: 11422600916,-0.555726,0.268282,9.56232
-accelerometer: 11422620966,-0.632378,0.249119,9.75395
-accelerometer: 11422640985,-0.440748,0.134141,9.61981
-accelerometer: 11422660974,-0.383259,0.249119,9.56232
-accelerometer: 11422680963,-0.459911,0.249119,9.48567
-accelerometer: 11422700891,-0.32577,0.229956,9.40902
-accelerometer: 11422720972,-0.19163,0,9.48567
-accelerometer: 11422740961,-0.383259,0.402422,9.69646
-accelerometer: 11422760950,-0.306608,0.0766519,9.69646
-accelerometer: 11422780756,-0.498237,0.268282,9.63897
-irProximity:11422795337,0.290196
-accelerometer: 11422800562,-0.555726,0.210793,9.50483
-accelerometer: 11422820856,-0.440748,0.0574889,9.58148
-accelerometer: 11422840784,-0.555726,0.0958148,9.69646
-accelerometer: 11422860834,-0.268282,0.153304,9.54316
-accelerometer: 11422880823,-0.651541,0.402422,9.46651
-irProximity:11422896137,0.294118
-accelerometer: 11422900812,-0.613215,0.306608,9.40902
-accelerometer: 11422920801,-0.32577,0.153304,9.44734
-accelerometer: 11422940973,-0.364096,0.459911,9.19823
-accelerometer: 11422960962,-0.421585,0.172467,8.96827
-accelerometer: 11422980982,-0.594052,0.536563,9.3132
-accelerometer: 11423000696,-1.72467,0.459911,10.2714
-accelerometer: 11423020960,-0.958148,0.632378,9.25571
-accelerometer: 11423040949,-1.07313,0.977311,10.1755
-accelerometer: 11423060999,0.019163,1.07313,10.4438
-accelerometer: 11423080957,-0.153304,0.996474,10.233
-irProximity:11423097736,0.290196
-accelerometer: 11423100946,-0.0574889,0.747356,10.0989
-accelerometer: 11423120935,4.88656,0.613215,9.56232
-accelerometer: 11423140924,0.287445,0.766519,9.46651
-accelerometer: 11423160974,0.5174,0.843171,9.44734
-accelerometer: 11423180963,-0.287445,0.459911,9.56232
-irProximity:11423198536,0.294118
-accelerometer: 11423200952,-0.153304,0.536563,9.14074
-accelerometer: 11423220941,-0.172467,0.498237,9.10241
-accelerometer: 11423240930,0.0958148,0.651541,9.35153
-accelerometer: 11423260950,-0.0383259,0.824008,9.48567
-accelerometer: 11423280969,-0.114978,0.364096,9.44734
-accelerometer: 11423300867,-0.19163,0.555726,9.60065
-accelerometer: 11423320917,3.83259,-0.862334,15.2729
-accelerometer: 11423341028,0.5174,2.98942,7.64602
-accelerometer: 11423360895,3.33436,1.53304,8.47003
-accelerometer: 11423380975,2.20374,0.594052,8.41254
-accelerometer: 11423400873,-1.16894,-0.938986,10.7504
-accelerometer: 11423420892,-0.0958148,0,9.61981
-accelerometer: 11423440912,0.249119,-0.114978,8.96827
-accelerometer: 11423460901,0.344933,0.383259,8.89162
-accelerometer: 11423480982,-0.019163,0.689867,9.10241
-accelerometer: 11423501062,-39.2458,8.52752,17.2275
-accelerometer: 11423520960,-0.555726,2.85528,7.35858
-accelerometer: 11423540949,1.37973,2.587,10.3097
-accelerometer: 11423560968,2.64449,0.881497,9.50483
-accelerometer: 11423580927,-1.30308,-0.594052,10.3288
-tap:11423595112,1
-accelerometer: 11423601038,-1.43722,-0.421585,10.3672
-accelerometer: 11423621027,-0.440748,0.153304,9.08325
-accelerometer: 11423640955,-0.249119,0.440748,8.66166
-accelerometer: 11423660944,-0.268282,0.958148,9.25571
-accelerometer: 11423680963,-0.249119,0.689867,9.58148
-accelerometer: 11423700586,-0.306608,0.747356,9.84977
-accelerometer: 11423720972,-0.555726,0.594052,9.90726
-accelerometer: 11423740961,-0.689867,0.747356,9.77311
-accelerometer: 11423760950,-0.440748,0.613215,9.81144
-accelerometer: 11423780573,-0.344933,0.459911,9.60065
-accelerometer: 11423800623,-0.459911,0.421585,9.3132
-accelerometer: 11423820795,-0.268282,0.249119,9.40902
-accelerometer: 11423840784,-0.613215,0.364096,9.1599
-accelerometer: 11423860773,-0.498237,0.479074,9.42818
-accelerometer: 11423880853,-0.306608,0.402422,9.75395
-accelerometer: 11423900812,0.019163,0.19163,9.69646
-accelerometer: 11423920770,-0.172467,0.249119,9.54316
-accelerometer: 11423940790,-0.19163,0.364096,9.58148
-accelerometer: 11423960962,-0.287445,0.0958148,9.37069
-accelerometer: 11423980951,-0.229956,0.479074,9.71563
-accelerometer: 11424000818,-0.383259,0.5174,9.60065
-accelerometer: 11424020899,-0.364096,0.364096,9.46651
-accelerometer: 11424040888,-0.287445,0.32577,9.58148
-accelerometer: 11424060968,-0.421585,0.32577,9.37069
-accelerometer: 11424080988,-0.344933,0.287445,9.60065
-accelerometer: 11424100763,-0.32577,0.134141,9.48567
-accelerometer: 11424120935,-0.459911,0.0958148,9.71563
-accelerometer: 11424140924,-0.210793,0.0766519,9.86893
-accelerometer: 11424161035,-0.383259,0.153304,9.81144
-accelerometer: 11424181085,-0.268282,0.172467,9.88809
-accelerometer: 11424200800,-0.364096,0.0574889,9.56232
-irProximity:11424205555,0.290196
-accelerometer: 11424221033,-0.32577,0.0383259,9.50483
-accelerometer: 11424240961,-0.0958148,0.229956,9.69646
-accelerometer: 11424260950,-0.344933,-0.287445,9.14074
-accelerometer: 11424280939,-0.574889,0.019163,9.54316
-accelerometer: 11424300775,-0.287445,-0.153304,9.60065
-irProximity:11424306476,0.294118
-accelerometer: 11424320947,-0.306608,-4.69493,9.56232
-accelerometer: 11424340967,-0.172467,0.0958148,9.58148
-accelerometer: 11424360925,-0.574889,0.172467,9.79228
-accelerometer: 11424380945,-0.383259,0.210793,9.81144
-accelerometer: 11424400812,-0.479074,0.0766519,9.71563
-accelerometer: 11424420892,-0.268282,-0.0766519,9.48567
-accelerometer: 11424440942,-0.344933,0.019163,9.35153
-accelerometer: 11424460931,-0.498237,0.172467,9.48567
-accelerometer: 11424480982,-0.479074,0.19163,9.44734
-accelerometer: 11424500818,-0.210793,-0.0383259,9.48567
-accelerometer: 11424520929,-0.459911,0.0383259,9.56232
-accelerometer: 11424540918,-0.32577,-4.86739,9.56232
-accelerometer: 11424560938,-0.574889,-0.0574889,9.48567
-accelerometer: 11424580927,-0.402422,-0.0383259,9.54316
-accelerometer: 11424600946,-0.498237,0.0383259,9.71563
-accelerometer: 11424620722,-0.613215,0.229956,9.46651
-accelerometer: 11424640863,-0.440748,-4.75242,9.6773
-accelerometer: 11424660822,-0.440748,0.019163,9.48567
-accelerometer: 11424680963,-0.536563,-0.0574889,9.46651
-accelerometer: 11424700769,-0.32577,-0.0383259,9.40902
-irProximity:11424709949,0.290196
-accelerometer: 11424720972,-0.287445,-0.019163,9.71563
-accelerometer: 11424740961,-0.498237,-4.77158,9.63897
-accelerometer: 11424760950,-0.440748,0.0766519,9.77311
-accelerometer: 11424780664,-0.344933,0.114978,9.6773
-accelerometer: 11424800623,-0.229956,0.134141,9.48567
-irProximity:11424810932,0.294118
-accelerometer: 11424820795,-0.402422,-0.0574889,9.54316
-accelerometer: 11424840784,-0.479074,0.287445,9.61981
-accelerometer: 11424860773,-0.5174,0.249119,9.58148
-accelerometer: 11424880823,-0.536563,0.0958148,9.54316
-accelerometer: 11424900842,-0.287445,0.268282,9.6773
-irProximity:11424911670,0.290196
-accelerometer: 11424920801,-0.536563,0.153304,9.56232
-accelerometer: 11424941004,-0.5174,0.287445,6.36211
-accelerometer: 11424960962,-0.172467,-0.019163,9.54316
-accelerometer: 11424981073,-1.01564,0.479074,10.5396
-accelerometer: 11425000757,-0.574889,0.229956,10.8846
-irProximity:11425012409,0.294118
-accelerometer: 11425020654,-0.249119,0,10.5396
-accelerometer: 11425040643,-0.0574889,-0.249119,9.63897
-accelerometer: 11425060571,-0.766519,0.0766519,9.27488
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat
deleted file mode 100644
index 20e16580..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_hover.dat
+++ /dev/null
@@ -1,248 +0,0 @@
-orientation:11415310938,5
-accelerometer: 11425173670,-0.421585,0.0958148,9.63897
-accelerometer: 11425190942,-0.268282,0.287445,9.69646
-accelerometer: 11425210840,-0.383259,0.153304,9.81144
-proximity:11425220050,0
-irProximity:11425226551,0.294118
-accelerometer: 11425230982,-0.479074,-0.019163,9.65814
-accelerometer: 11425250971,-0.536563,0.229956,9.58148
-accelerometer: 11425270929,-0.747356,0.32577,9.44734
-accelerometer: 11425290949,-0.459911,0.402422,9.37069
-accelerometer: 11425310968,-0.5174,0.134141,9.44734
-accelerometer: 11425330866,-0.287445,0.153304,9.48567
-accelerometer: 11425350916,-0.344933,0.172467,9.46651
-accelerometer: 11425370966,-0.344933,0.0574889,9.58148
-accelerometer: 11425390955,-0.402422,0.19163,9.69646
-accelerometer: 11425410974,-0.32577,4.88656,9.73479
-accelerometer: 11425430872,-0.210793,0.114978,9.63897
-accelerometer: 11425450891,-0.5174,0.172467,9.58148
-accelerometer: 11425470758,-0.459911,0.287445,9.37069
-accelerometer: 11425490900,-0.498237,0.383259,9.44734
-accelerometer: 11425510980,-0.421585,0.229956,9.61981
-accelerometer: 11425530908,-0.306608,0.249119,9.60065
-accelerometer: 11425550958,-0.498237,0.364096,9.75395
-accelerometer: 11425570917,-0.421585,0.229956,9.8306
-accelerometer: 11425590814,-0.574889,0.210793,9.61981
-accelerometer: 11425610925,-0.268282,0.383259,9.58148
-accelerometer: 11425630945,-0.383259,0.229956,9.50483
-accelerometer: 11425650995,-0.344933,0.306608,9.54316
-accelerometer: 11425670953,-0.229956,0.210793,9.50483
-accelerometer: 11425691034,-0.153304,0.19163,9.58148
-accelerometer: 11425710962,-0.172467,0.268282,9.40902
-irProximity:11425730731,0.290196
-accelerometer: 11425730646,-0.19163,0.229956,9.60065
-accelerometer: 11425750971,-0.229956,0.019163,9.63897
-accelerometer: 11425774286,-0.536563,0.19163,9.42818
-accelerometer: 11425790704,-0.440748,0.19163,9.524
-accelerometer: 11425810754,-0.459911,0.19163,9.63897
-irProximity:11425831775,0.294118
-accelerometer: 11425830896,-0.613215,0.0574889,9.48567
-accelerometer: 11425850824,-0.824008,0.153304,9.65814
-accelerometer: 11425870813,-0.747356,0.19163,9.69646
-accelerometer: 11425890802,-0.996474,0.421585,9.56232
-accelerometer: 11425910822,-0.785682,0.249119,9.60065
-accelerometer: 11425930628,-1.11145,0.32577,9.44734
-accelerometer: 11425950952,-0.728193,0.0958148,9.38986
-accelerometer: 11425970941,-0.881497,0.114978,9.524
-accelerometer: 11425990778,-0.862334,0.114978,9.71563
-accelerometer: 11426010950,-0.555726,0.153304,9.56232
-accelerometer: 11426030725,-0.670704,-0.0574889,9.81144
-irProximity:11426033039,0.313726
-accelerometer: 11426050958,-0.70903,4.88656,9.63897
-accelerometer: 11426070917,-0.804845,0.364096,9.6773
-accelerometer: 11426090967,-0.651541,0.268282,9.42818
-accelerometer: 11426110956,-0.766519,-0.0958148,9.50483
-accelerometer: 11426130823,-0.766519,0.172467,9.50483
-irProximity:11426133960,0.376471
-accelerometer: 11426150964,-0.862334,0.210793,9.524
-accelerometer: 11426170892,-0.613215,0.287445,9.3132
-accelerometer: 11426190942,-0.555726,0,9.6773
-accelerometer: 11426210931,-0.479074,0.153304,9.40902
-accelerometer: 11426230798,-0.804845,0.19163,9.44734
-irProximity:11426234851,0.384314
-accelerometer: 11426250971,-0.766519,0.134141,9.75395
-accelerometer: 11426270929,-0.689867,0.153304,9.63897
-accelerometer: 11426290918,-0.804845,0.0574889,9.65814
-accelerometer: 11426310938,-0.689867,0.172467,9.524
-accelerometer: 11426330774,-0.613215,0.364096,9.524
-irProximity:11426335773,0.4
-accelerometer: 11426350946,-0.90066,0.287445,9.48567
-accelerometer: 11426370966,-0.90066,0.134141,9.42818
-accelerometer: 11426390985,-0.728193,0.344933,9.44734
-accelerometer: 11426410944,-0.689867,0,9.54316
-accelerometer: 11426430780,-0.498237,0.0958148,9.48567
-irProximity:11426436664,0.415686
-accelerometer: 11426450891,-0.364096,0.172467,9.37069
-accelerometer: 11426470789,-0.421585,0.0766519,9.56232
-accelerometer: 11426490900,-0.440748,0.0383259,9.40902
-accelerometer: 11426510950,-0.689867,0,9.46651
-accelerometer: 11426530786,-0.594052,4.88656,9.54316
-accelerometer: 11426550897,-0.555726,0.287445,9.69646
-accelerometer: 11426570917,-0.670704,0.32577,9.63897
-accelerometer: 11426590997,-0.651541,0.383259,9.50483
-accelerometer: 11426610925,-0.670704,0.249119,9.42818
-accelerometer: 11426630823,-0.632378,0.153304,9.50483
-irProximity:11426638446,0.423529
-accelerometer: 11426650903,-0.594052,0.249119,9.40902
-accelerometer: 11426670801,-0.613215,0.19163,9.6773
-accelerometer: 11426690912,-0.536563,-0.019163,9.48567
-accelerometer: 11426710931,-0.421585,0.19163,9.48567
-accelerometer: 11426730798,-0.479074,0.0766519,9.56232
-accelerometer: 11426750940,-0.555726,0.0766519,9.63897
-accelerometer: 11426773431,-0.594052,0.172467,9.61981
-accelerometer: 11426790735,-0.651541,0.210793,9.56232
-accelerometer: 11426810816,-0.613215,0.249119,9.56232
-accelerometer: 11426830774,-0.785682,0.210793,9.35153
-accelerometer: 11426850763,-0.613215,0.32577,9.44734
-accelerometer: 11426870813,-0.747356,0.0383259,9.58148
-accelerometer: 11426890772,-0.574889,0.172467,9.61981
-accelerometer: 11426910761,-0.670704,0.229956,9.6773
-accelerometer: 11426930780,-0.651541,0.249119,9.48567
-accelerometer: 11426950922,-0.5174,0.134141,9.50483
-accelerometer: 11426970941,-0.613215,0.019163,9.40902
-accelerometer: 11426990808,-0.536563,0.172467,9.69646
-accelerometer: 11427010828,-0.5174,0.0958148,9.63897
-accelerometer: 11427030908,-0.498237,0.172467,9.46651
-irProximity:11427041889,0.427451
-accelerometer: 11427050989,-0.632378,0.249119,9.61981
-accelerometer: 11427070947,-0.728193,0.172467,9.38986
-accelerometer: 11427090967,-0.555726,0.114978,9.50483
-accelerometer: 11427110956,-0.498237,0.134141,9.54316
-accelerometer: 11427130975,-0.364096,0.153304,9.61981
-accelerometer: 11427150903,-0.689867,0.32577,9.65814
-accelerometer: 11427170923,-0.536563,0.153304,9.38986
-accelerometer: 11427191004,-0.613215,0.32577,9.44734
-accelerometer: 11427210931,-0.498237,0.210793,9.48567
-accelerometer: 11427230951,-0.613215,0.172467,9.33237
-irProximity:11427243396,0.431373
-accelerometer: 11427250940,-0.613215,0.19163,9.71563
-accelerometer: 11427270929,-0.574889,0.19163,9.50483
-accelerometer: 11427290918,-0.574889,0.306608,9.56232
-accelerometer: 11427310968,-0.747356,0.364096,9.60065
-accelerometer: 11427330957,-0.555726,0.0383259,9.524
-accelerometer: 11427350977,-0.594052,0.134141,9.54316
-accelerometer: 11427370935,-0.498237,0.287445,9.63897
-accelerometer: 11427390924,-0.766519,0.0383259,9.54316
-accelerometer: 11427410944,-0.689867,0.344933,9.48567
-accelerometer: 11427430933,-0.402422,0.172467,9.60065
-irProximity:11427444904,0.439216
-accelerometer: 11427450922,-0.574889,0.0958148,9.524
-accelerometer: 11427470789,-0.632378,0.249119,9.46651
-accelerometer: 11427490961,-0.632378,0.268282,9.44734
-accelerometer: 11427510919,-0.613215,0.287445,9.46651
-accelerometer: 11427530969,-0.555726,0.364096,9.6773
-accelerometer: 11427550928,-0.613215,0.210793,9.58148
-accelerometer: 11427570947,-0.5174,0.249119,9.56232
-accelerometer: 11427590784,-0.670704,0.249119,9.63897
-accelerometer: 11427610956,-0.555726,0.32577,9.42818
-accelerometer: 11427631006,-0.747356,0.153304,9.54316
-irProximity:11427646533,0.298039
-accelerometer: 11427651514,-0.498237,0.0383259,9.54316
-accelerometer: 11427670740,-0.613215,0.172467,9.524
-accelerometer: 11427690973,-0.689867,0.210793,9.54316
-accelerometer: 11427710931,-0.613215,0.249119,9.48567
-accelerometer: 11427730920,-0.632378,0.134141,9.44734
-irProximity:11427747272,0.294118
-accelerometer: 11427750940,-0.459911,0.172467,9.35153
-accelerometer: 11427773248,-0.5174,0.287445,9.58148
-accelerometer: 11427790765,-0.402422,0.268282,9.40902
-accelerometer: 11427810846,-0.402422,0.114978,9.58148
-accelerometer: 11427830805,-0.210793,0.019163,9.54316
-accelerometer: 11427850794,-0.287445,0.019163,9.44734
-accelerometer: 11427870813,-0.498237,0,9.46651
-accelerometer: 11427890772,-0.555726,0.153304,9.44734
-accelerometer: 11427910791,-0.70903,0.210793,9.42818
-accelerometer: 11427930902,-0.594052,0.210793,9.38986
-accelerometer: 11427950891,-0.344933,0.32577,9.65814
-accelerometer: 11427970941,-0.632378,0.421585,9.42818
-accelerometer: 11427990778,-0.536563,0.306608,9.524
-accelerometer: 11428010797,-0.555726,0.344933,9.63897
-accelerometer: 11428030939,-0.479074,0.268282,9.71563
-irProximity:11428049518,0.290196
-accelerometer: 11428051019,-0.5174,0.134141,9.524
-accelerometer: 11428070947,-0.70903,0.0766519,9.46651
-accelerometer: 11428090997,-0.594052,0.19163,9.42818
-accelerometer: 11428110925,-0.498237,0.19163,9.38986
-accelerometer: 11428130975,-0.402422,0.383259,9.61981
-irProximity:11428150287,0.294118
-accelerometer: 11428150964,-0.153304,4.80991,9.61981
-accelerometer: 11428171076,-0.268282,-0.134141,9.77311
-accelerometer: 11428190942,-0.479074,0.0766519,9.63897
-accelerometer: 11428210962,-0.249119,0.249119,9.77311
-accelerometer: 11428230920,-0.306608,-0.019163,9.48567
-accelerometer: 11428251093,-0.689867,0.229956,9.40902
-accelerometer: 11428270960,-0.268282,0.19163,9.46651
-accelerometer: 11428290949,-0.383259,0.229956,9.35153
-accelerometer: 11428310968,-0.306608,0.019163,9.524
-accelerometer: 11428330957,-0.364096,-0.0383259,9.73479
-accelerometer: 11428350946,-0.383259,0.0574889,9.6773
-accelerometer: 11428370935,-0.383259,0.249119,9.90726
-accelerometer: 11428390924,-0.32577,0.19163,9.60065
-accelerometer: 11428410944,-0.479074,0.114978,9.50483
-accelerometer: 11428430933,-0.421585,0.344933,9.44734
-accelerometer: 11428450525,-0.479074,0.210793,9.42818
-accelerometer: 11428470758,-0.402422,0.210793,9.56232
-accelerometer: 11428490900,-0.364096,0.114978,9.63897
-accelerometer: 11428510950,-0.172467,0.0766519,9.48567
-accelerometer: 11428531000,-0.440748,0.0766519,9.65814
-accelerometer: 11428550623,-0.306608,0.134141,9.8306
-accelerometer: 11428570917,-0.153304,-0.0958148,9.58148
-accelerometer: 11428590814,-0.172467,-4.86739,9.50483
-accelerometer: 11428610986,-0.249119,-0.019163,9.60065
-accelerometer: 11428630945,-0.287445,0.0766519,9.50483
-accelerometer: 11428650781,-0.32577,0.0958148,9.56232
-accelerometer: 11428670923,-0.344933,0.249119,9.50483
-accelerometer: 11428690820,-0.689867,0.19163,9.56232
-accelerometer: 11428710962,-0.383259,0.0766519,9.71563
-accelerometer: 11428730920,-0.402422,0.134141,9.46651
-accelerometer: 11428750818,-0.479074,0.287445,9.65814
-accelerometer: 11428772577,-0.479074,0.287445,9.6773
-accelerometer: 11428790827,-0.421585,0.249119,9.46651
-accelerometer: 11428810846,-0.287445,4.82907,9.58148
-accelerometer: 11428830805,-0.440748,0.0958148,9.46651
-accelerometer: 11428850763,-0.32577,0.172467,9.54316
-accelerometer: 11428870813,-0.594052,0.172467,9.60065
-accelerometer: 11428890802,-0.32577,0.172467,9.56232
-accelerometer: 11428910822,-0.306608,0.0383259,9.60065
-accelerometer: 11428930811,-0.440748,0.114978,9.524
-accelerometer: 11428950800,-0.459911,0.0383259,9.524
-accelerometer: 11428970941,-0.421585,0.0766519,9.50483
-accelerometer: 11428990778,-0.287445,0.172467,9.56232
-accelerometer: 11429010858,-0.210793,0.0574889,9.54316
-accelerometer: 11429030969,-0.5174,0.229956,9.56232
-accelerometer: 11429050775,-0.32577,0.306608,9.54316
-accelerometer: 11429070917,-0.32577,0.134141,9.65814
-accelerometer: 11429090997,-0.229956,0.229956,9.69646
-accelerometer: 11429110925,-0.344933,0.153304,9.60065
-accelerometer: 11429130945,-0.479074,0.0958148,9.50483
-accelerometer: 11429150812,-0.306608,0.19163,9.71563
-accelerometer: 11429170953,-0.421585,0.0574889,9.56232
-accelerometer: 11429190942,-0.479074,0.210793,9.50483
-accelerometer: 11429210962,-0.383259,0.287445,9.6773
-accelerometer: 11429230920,-0.402422,0.134141,9.50483
-accelerometer: 11429250818,-0.5174,0.32577,9.40902
-irProximity:11429259143,0.290196
-accelerometer: 11429270929,-0.689867,0.172467,9.3132
-accelerometer: 11429290949,-0.728193,0.210793,9.65814
-accelerometer: 11429310968,-0.287445,0.153304,9.69646
-accelerometer: 11429330835,-0.249119,0.153304,9.69646
-accelerometer: 11429350794,-0.287445,0.0958148,9.54316
-irProximity:11429360339,0.294118
-accelerometer: 11429370844,-0.594052,0.19163,9.50483
-accelerometer: 11429390894,-0.632378,0.19163,9.42818
-accelerometer: 11429410822,-0.440748,0.249119,9.37069
-accelerometer: 11429430811,-0.421585,0.019163,9.56232
-accelerometer: 11429450769,-0.498237,0.364096,9.48567
-accelerometer: 11429470667,-0.306608,0.153304,9.69646
-accelerometer: 11429490839,-0.5174,0.210793,9.56232
-accelerometer: 11429510797,-0.32577,0.19163,9.63897
-accelerometer: 11429530786,-0.364096,0.153304,9.46651
-accelerometer: 11429550806,-0.536563,0.153304,9.58148
-accelerometer: 11429570795,-0.594052,0.958148,6.36211
-accelerometer: 11429591608,-0.747356,0.287445,9.14074
-accelerometer: 11429610956,-1.09229,0.555726,10.0989
-accelerometer: 11429630640,-0.229956,0.134141,10.5588
-accelerometer: 11429650842,-0.268282,-0.153304,10.3863
-accelerometer: 11429670831,-0.574889,0.0958148,10.2139
-accelerometer: 11429690790,-0.421585,0.0383259,9.63897
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat
deleted file mode 100644
index f49d5a22..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_nothover.dat
+++ /dev/null
@@ -1,234 +0,0 @@
-orientation:11043900509,5
-accelerometer: 11100730588,-0.114978,0.536563,9.04492
-accelerometer: 11100750912,0.0766519,-0.249119,9.42818
-accelerometer: 11100770962,0.0958148,0,9.75395
-irProximity:11100791116,0.286275
-accelerometer: 11100790951,-0.249119,0.172467,9.23655
-proximity:11100797891,0
-accelerometer: 11100810940,0.0766519,-0.0574889,9.65814
-accelerometer: 11100830929,0.0766519,-0.114978,9.524
-accelerometer: 11100850918,-0.249119,-0.019163,9.42818
-accelerometer: 11100870968,0.19163,-0.229956,9.75395
-accelerometer: 11100890744,-0.153304,-0.019163,9.58148
-accelerometer: 11100910946,-0.0574889,0.0766519,9.48567
-accelerometer: 11100930966,-0.134141,4.75242,9.6773
-accelerometer: 11100950924,0.0958148,-0.172467,9.63897
-accelerometer: 11100970944,0.019163,-0.0574889,9.46651
-accelerometer: 11100990689,0.229956,-0.229956,9.71563
-accelerometer: 11101010922,0.0574889,0,9.6773
-accelerometer: 11101030758,-0.0958148,-0.0574889,9.77311
-accelerometer: 11101051663,-0.210793,-0.134141,9.73479
-accelerometer: 11101071133,-0.0766519,0.0766519,9.79228
-accelerometer: 11101090878,0.0383259,0.0766519,9.86893
-accelerometer: 11101111203,-0.019163,0.0574889,9.46651
-accelerometer: 11101130642,-0.0383259,-0.0574889,9.6773
-accelerometer: 11101150967,-0.0958148,-0.0766519,9.54316
-accelerometer: 11101170956,0.019163,-0.134141,9.71563
-accelerometer: 11101190823,-0.0574889,0.0958148,9.6773
-accelerometer: 11101210934,0.0383259,-0.0766519,9.48567
-accelerometer: 11101230984,-0.0958148,-0.249119,9.6773
-accelerometer: 11101250973,0.114978,-4.88656,9.44734
-accelerometer: 11101270962,-0.19163,-0.0574889,9.73479
-accelerometer: 11101290799,-0.0574889,-0.0958148,9.61981
-irProximity:11101296243,0.415686
-accelerometer: 11101310971,-0.0766519,0.019163,9.63897
-accelerometer: 11101330960,0.0574889,-0.153304,9.6773
-accelerometer: 11101350979,-0.153304,4.80991,9.60065
-accelerometer: 11101370968,0.287445,0.0383259,9.8306
-proximity:11101385922,1
-accelerometer: 11101390774,0.0574889,-0.0766519,9.48567
-irProximity:11101397225,0.517647
-accelerometer: 11101410946,-0.0766519,-0.0766519,9.63897
-accelerometer: 11101430966,0.268282,0.0383259,9.6773
-accelerometer: 11101450955,-0.0958148,-4.82907,9.40902
-accelerometer: 11101470944,0.287445,-0.0383259,9.69646
-accelerometer: 11101490902,0.153304,-0.0383259,9.61981
-accelerometer: 11101510830,-0.019163,-0.0574889,9.46651
-accelerometer: 11101530942,1.09229,0.0574889,10.5205
-accelerometer: 11101550778,-0.32577,0.172467,10.3672
-accelerometer: 11101570981,-0.306608,0.0766519,9.48567
-accelerometer: 11101590848,0.5174,-0.229956,10.2905
-irProximity:11101598153,0.6
-accelerometer: 11101611050,-0.153304,0,9.44734
-accelerometer: 11101630948,-0.19163,-0.229956,9.46651
-accelerometer: 11101650540,-0.019163,0.0958148,9.33237
-accelerometer: 11101670682,-0.19163,-0.0766519,9.40902
-accelerometer: 11101690793,-0.0574889,0,9.63897
-accelerometer: 11101710812,-0.0766519,0.0383259,9.69646
-accelerometer: 11101730801,0.019163,-0.229956,9.60065
-accelerometer: 11101750821,-0.114978,-0.0383259,9.71563
-accelerometer: 11101770779,-0.019163,-0.0574889,9.58148
-accelerometer: 11101790768,-0.249119,-0.153304,9.65814
-irProximity:11101798623,0.690196
-accelerometer: 11101810788,0.0383259,-0.249119,9.54316
-accelerometer: 11101830807,-0.0383259,0.0766519,9.524
-accelerometer: 11101850888,0,-0.19163,9.60065
-accelerometer: 11101870938,-0.0766519,-0.0766519,9.46651
-accelerometer: 11101890896,-0.19163,-0.019163,9.56232
-accelerometer: 11101910946,-0.134141,-0.134141,9.46651
-accelerometer: 11101930996,-0.114978,-0.0574889,9.63897
-accelerometer: 11101950924,-0.0958148,-0.287445,9.65814
-accelerometer: 11101970913,-0.229956,0.0383259,9.81144
-accelerometer: 11101990780,0,-0.0766519,9.63897
-irProximity:11101999398,0.682353
-accelerometer: 11102010739,0,-0.0766519,9.61981
-accelerometer: 11102030911,-0.019163,-0.114978,9.61981
-accelerometer: 11102051632,0,-0.134141,9.37069
-accelerometer: 11102072079,-0.114978,0.134141,9.79228
-accelerometer: 11102092007,-0.0958148,0.0766519,9.61981
-accelerometer: 11102113003,-0.19163,-4.88656,9.60065
-accelerometer: 11102131100,-0.268282,-0.19163,9.56232
-accelerometer: 11102150998,0.019163,-0.134141,9.524
-accelerometer: 11102171017,0.0766519,-0.0766519,9.63897
-accelerometer: 11102190854,-0.114978,0.0383259,9.69646
-irProximity:11102200356,0.678431
-accelerometer: 11102210843,-0.19163,-0.229956,9.44734
-accelerometer: 11102230801,-0.0958148,-0.019163,9.54316
-accelerometer: 11102251034,-0.229956,4.88656,9.65814
-accelerometer: 11102271054,-0.0383259,-0.134141,9.44734
-accelerometer: 11102291012,-0.0574889,-0.114978,9.58148
-accelerometer: 11102311001,-0.0958148,-0.0383259,9.61981
-accelerometer: 11102330990,-0.114978,-0.114978,9.54316
-accelerometer: 11102350979,-0.0574889,-0.0766519,9.61981
-accelerometer: 11102370999,-0.0766519,4.82907,9.61981
-accelerometer: 11102390866,-0.134141,-0.0574889,9.58148
-accelerometer: 11102410550,-0.0383259,0.153304,9.63897
-accelerometer: 11102430508,-0.229956,-0.229956,9.46651
-accelerometer: 11102450711,0.0383259,0.0574889,9.54316
-accelerometer: 11102470822,-0.153304,-0.172467,9.63897
-accelerometer: 11102490811,-0.172467,-0.0766519,9.75395
-accelerometer: 11102510800,-0.229956,0.19163,9.73479
-accelerometer: 11102530850,-0.0958148,-0.172467,9.56232
-accelerometer: 11102550808,-0.172467,-0.134141,9.71563
-accelerometer: 11102570767,-0.0383259,-4.75242,9.58148
-accelerometer: 11102590787,-0.0383259,-0.114978,9.73479
-accelerometer: 11102610837,-0.268282,0.153304,9.61981
-accelerometer: 11102630795,-0.0574889,-0.229956,9.61981
-accelerometer: 11102650845,-0.172467,-0.019163,9.63897
-accelerometer: 11102670926,0.019163,-0.153304,9.63897
-accelerometer: 11102690976,0.114978,-0.0383259,9.58148
-accelerometer: 11102710965,-0.134141,-0.0766519,9.6773
-accelerometer: 11102730984,-0.134141,0.0574889,9.524
-accelerometer: 11102751004,0.0574889,0.0766519,9.75395
-accelerometer: 11102771054,-0.0383259,-0.019163,9.60065
-accelerometer: 11102790890,-0.114978,-0.114978,9.63897
-irProximity:11102803261,0.67451
-accelerometer: 11102810940,-0.0958148,0,9.73479
-accelerometer: 11102830960,-0.0383259,-0.134141,9.6773
-accelerometer: 11102850949,-0.114978,4.75242,9.69646
-accelerometer: 11102871029,-0.134141,-0.0383259,9.63897
-accelerometer: 11102890988,-0.0958148,0.019163,9.75395
-accelerometer: 11102910946,-0.019163,-0.0574889,9.48567
-accelerometer: 11102930874,0.0766519,0.134141,9.79228
-accelerometer: 11102950833,-0.019163,-0.114978,9.40902
-accelerometer: 11102970578,-0.153304,0.114978,9.71563
-accelerometer: 11102990567,-0.172467,0.0574889,9.94558
-irProximity:11103004037,0.678431
-accelerometer: 11103010830,-0.268282,0,9.37069
-accelerometer: 11103030972,-0.0958148,0.249119,9.73479
-accelerometer: 11103050900,-0.268282,-0.0574889,7.39691
-accelerometer: 11103070523,0.555726,-0.19163,9.98391
-accelerometer: 11103091122,-0.134141,-0.172467,9.17906
-accelerometer: 11103111020,-0.306608,0.172467,10.6163
-accelerometer: 11103130978,0.19163,0.0574889,10.0222
-accelerometer: 11103150906,-0.364096,-0.0383259,8.6425
-accelerometer: 11103170956,0.19163,0.0958148,10.0222
-accelerometer: 11103190762,0.0766519,-0.229956,9.524
-proximity:11103201321,0
-irProximity:11103204537,0.439216
-accelerometer: 11103210995,-0.0383259,-0.0766519,9.54316
-accelerometer: 11103230923,0.0766519,-4.86739,9.8306
-accelerometer: 11103250943,-0.172467,-0.249119,9.35153
-accelerometer: 11103270962,-0.0574889,-0.0383259,9.6773
-accelerometer: 11103290951,-0.19163,-0.0958148,9.54316
-accelerometer: 11103310940,-0.0766519,-0.0574889,9.73479
-accelerometer: 11103330960,-0.0958148,-0.0383259,9.79228
-accelerometer: 11103350949,-0.114978,0.019163,9.61981
-accelerometer: 11103370968,-0.172467,-0.019163,9.6773
-accelerometer: 11103390927,-0.019163,0.0574889,9.524
-irProximity:11103406136,0.286275
-accelerometer: 11103410916,0.0766519,-0.134141,9.37069
-accelerometer: 11103430935,-0.114978,-0.0383259,9.46651
-accelerometer: 11103450955,-0.019163,-0.172467,9.73479
-accelerometer: 11103470975,-0.172467,0.0766519,9.524
-accelerometer: 11103490933,0.019163,0,9.71563
-accelerometer: 11103510739,-0.0958148,-0.153304,9.524
-accelerometer: 11103530911,-0.0574889,-0.19163,9.60065
-accelerometer: 11103550808,-0.153304,-0.0958148,9.73479
-accelerometer: 11103570981,-0.287445,0.114978,9.56232
-accelerometer: 11103591000,0,-0.114978,9.56232
-accelerometer: 11103610928,-0.172467,0.019163,9.58148
-accelerometer: 11103630948,0.019163,-0.0383259,9.38986
-accelerometer: 11103650937,-0.0574889,0.0766519,9.58148
-accelerometer: 11103670956,-0.134141,0.0383259,9.60065
-accelerometer: 11103690945,-0.249119,-0.019163,9.56232
-accelerometer: 11103710934,-0.019163,4.73325,9.61981
-accelerometer: 11103730740,-0.0383259,-0.0574889,9.54316
-accelerometer: 11103750912,0.0574889,0.0574889,9.65814
-accelerometer: 11103770962,-0.134141,-0.172467,9.71563
-accelerometer: 11103790951,0.0574889,0.268282,9.60065
-accelerometer: 11103811001,-0.268282,-0.268282,9.63897
-accelerometer: 11103830990,-0.0958148,-0.0766519,9.65814
-accelerometer: 11103850949,-0.210793,-0.0766519,9.38986
-accelerometer: 11103870968,-0.0574889,-0.114978,9.6773
-accelerometer: 11103890927,0.019163,-0.019163,9.65814
-accelerometer: 11103910885,-4.90572,-0.0766519,9.65814
-accelerometer: 11103930935,0.019163,4.82907,9.69646
-accelerometer: 11103950924,-0.210793,-0.019163,9.50483
-accelerometer: 11103970944,-0.019163,-0.134141,9.61981
-accelerometer: 11103990811,-0.210793,0.0766519,9.54316
-accelerometer: 11104010922,-0.19163,-0.114978,9.44734
-accelerometer: 11104030819,-0.114978,-0.0383259,9.54316
-accelerometer: 11104050992,-0.0383259,-0.019163,9.58148
-accelerometer: 11104070981,-0.19163,-0.0383259,9.44734
-accelerometer: 11104091031,-0.287445,4.77158,9.54316
-accelerometer: 11104111416,-0.134141,-4.82907,9.42818
-accelerometer: 11104130551,-0.019163,-0.019163,9.65814
-accelerometer: 11104150967,0.0958148,-0.268282,9.63897
-accelerometer: 11104170926,0.0574889,0,9.60065
-accelerometer: 11104190976,-0.32577,-0.172467,9.524
-accelerometer: 11104210995,0,0,9.6773
-accelerometer: 11104230954,0.0958148,-0.0958148,9.58148
-accelerometer: 11104250973,-0.114978,-0.383259,9.60065
-accelerometer: 11104270962,0.0574889,0,9.61981
-accelerometer: 11104290951,-0.134141,-0.0383259,9.60065
-accelerometer: 11104310635,-0.134141,0,9.60065
-accelerometer: 11104330960,-0.0766519,-0.0766519,9.54316
-accelerometer: 11104350949,-0.0958148,-0.114978,9.60065
-accelerometer: 11104370968,0.019163,-0.153304,9.58148
-accelerometer: 11104390927,-0.287445,0.0958148,9.61981
-accelerometer: 11104410733,-0.0383259,0.134141,9.65814
-accelerometer: 11104430905,-0.153304,-0.19163,9.54316
-accelerometer: 11104450894,-0.210793,-0.019163,9.6773
-accelerometer: 11104470913,0.153304,-0.229956,9.65814
-accelerometer: 11104490964,0.134141,-0.0383259,9.63897
-accelerometer: 11104510800,0.153304,-0.0766519,9.63897
-accelerometer: 11104530942,0,-0.210793,9.6773
-accelerometer: 11104550961,-0.019163,-0.019163,9.65814
-accelerometer: 11104570950,0.172467,-0.0574889,9.73479
-accelerometer: 11104590939,-0.0958148,-0.0574889,9.81144
-accelerometer: 11104610806,-0.19163,0.019163,9.8306
-accelerometer: 11104630917,-0.0766519,4.80991,9.48567
-accelerometer: 11104650937,-0.134141,0.0958148,9.524
-accelerometer: 11104670926,0.0574889,-0.019163,9.63897
-accelerometer: 11104690976,-0.134141,-0.019163,9.48567
-accelerometer: 11104710812,-0.0383259,-0.0383259,9.61981
-accelerometer: 11104730862,-0.0766519,-0.249119,9.73479
-accelerometer: 11104750973,0.0766519,-0.0958148,9.8306
-accelerometer: 11104770962,-0.0766519,-0.19163,9.56232
-accelerometer: 11104790951,-0.632378,0.344933,9.44734
-accelerometer: 11104810818,0.306608,-0.172467,9.71563
-accelerometer: 11104830929,-0.0574889,4.84823,9.75395
-accelerometer: 11104850949,-0.632378,0.210793,9.54316
-accelerometer: 11104870938,-0.32577,-0.0383259,9.38986
-accelerometer: 11104890927,-0.268282,-0.0958148,9.29404
-accelerometer: 11104910763,-0.344933,-0.019163,9.21739
-accelerometer: 11104931241,-0.210793,-0.019163,9.54316
-accelerometer: 11104950528,-0.0574889,-0.114978,9.46651
-accelerometer: 11104970822,-0.0574889,-0.0574889,9.524
-accelerometer: 11104990811,-0.114978,0.0383259,9.524
-accelerometer: 11105010800,0.0766519,-0.0958148,9.69646
-accelerometer: 11105030789,-0.114978,-0.0958148,9.58148
-accelerometer: 11105050808,-0.210793,-4.79074,9.35153
-accelerometer: 11105070798,0.114978,0.134141,10.233
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notpickup.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notpickup.dat
deleted file mode 100644
index ecaf670d..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notpickup.dat
+++ /dev/null
@@ -1,400 +0,0 @@
-orientation:402980682,5
-accelerometer: 405572082,0.210793,0,9.56232
-accelerometer: 405591125,0.134141,0.114978,9.96474
-accelerometer: 405611084,-0.229956,-0.0958148,9.58148
-accelerometer: 405631042,0.019163,0.134141,9.60065
-irProximity:405644383,0.286275
-accelerometer: 405650787,-0.210793,0.249119,9.33237
-accelerometer: 405670807,-0.153304,-0.210793,9.33237
-proximity:405673985,0
-accelerometer: 405690796,0.287445,0,9.90726
-accelerometer: 405710815,0.19163,-0.019163,9.75395
-accelerometer: 405731231,-0.019163,-4.88656,9.63897
-accelerometer: 405751129,0.134141,4.88656,9.71563
-accelerometer: 405771026,-0.0574889,0,9.58148
-accelerometer: 405791137,-0.134141,0.0766519,9.88809
-accelerometer: 405811126,-0.19163,0.0958148,9.50483
-accelerometer: 405831024,-0.0574889,-0.19163,9.81144
-accelerometer: 405851135,0.153304,-0.0766519,9.71563
-accelerometer: 405871124,-0.0574889,0.019163,9.71563
-accelerometer: 405891052,0.0958148,-0.0383259,9.90726
-accelerometer: 405911163,-0.0383259,-4.86739,9.63897
-accelerometer: 405931091,-0.153304,-0.0574889,9.69646
-accelerometer: 405951050,0.153304,-0.0958148,9.81144
-accelerometer: 405970978,-0.019163,0,9.79228
-accelerometer: 405990844,-0.0958148,-0.114978,9.524
-accelerometer: 406010833,0.114978,0.0383259,9.84977
-accelerometer: 406031067,-0.134141,0.134141,9.56232
-accelerometer: 406051056,0.153304,-0.172467,9.86893
-accelerometer: 406071045,0.0383259,-4.82907,9.56232
-accelerometer: 406090973,-0.0383259,4.88656,9.60065
-accelerometer: 406110992,-0.114978,-0.019163,9.73479
-accelerometer: 406130951,-0.114978,0.0574889,9.61981
-accelerometer: 406150940,-0.0383259,0.210793,9.50483
-accelerometer: 406170929,-0.153304,0.019163,9.71563
-accelerometer: 406190796,0.0574889,0.019163,9.6773
-accelerometer: 406210937,0.114978,0.019163,9.60065
-accelerometer: 406231109,-0.0574889,-0.019163,9.54316
-accelerometer: 406250885,-0.153304,0.0958148,9.6773
-accelerometer: 406270965,0.019163,0.0958148,9.79228
-accelerometer: 406290954,-0.0574889,-0.019163,9.56232
-accelerometer: 406310974,0,0.0574889,9.71563
-accelerometer: 406330993,-0.249119,0.0958148,9.65814
-accelerometer: 406350799,-0.0574889,0.0383259,9.63897
-accelerometer: 406371002,0.210793,-4.86739,9.71563
-accelerometer: 406391021,-0.153304,0.0766519,9.71563
-accelerometer: 406410919,-0.249119,-0.019163,9.63897
-accelerometer: 406430938,-0.0766519,0.0766519,9.86893
-accelerometer: 406450744,-0.019163,-0.019163,9.6773
-accelerometer: 406471405,-0.172467,0.0574889,9.65814
-accelerometer: 406490997,0.019163,-0.019163,9.69646
-accelerometer: 406510925,0.153304,0.0383259,9.8306
-accelerometer: 406531006,-0.0766519,0.19163,9.77311
-accelerometer: 406550750,0.0958148,-0.0958148,9.6773
-accelerometer: 406570953,0.229956,-0.0766519,9.58148
-accelerometer: 406591003,-0.153304,-0.114978,9.73479
-accelerometer: 406610962,0.0766519,-0.134141,9.63897
-accelerometer: 406630951,-0.0383259,-4.88656,9.58148
-accelerometer: 406650909,-0.153304,0.0574889,9.58148
-accelerometer: 406670959,-0.0574889,-0.153304,9.63897
-accelerometer: 406690613,0.0383259,-0.19163,9.63897
-accelerometer: 406710968,-0.0574889,-0.0766519,9.56232
-accelerometer: 406730987,-0.134141,0.0383259,9.77311
-accelerometer: 406751068,0.0574889,0.0766519,9.81144
-accelerometer: 406770935,-0.0383259,0.019163,9.63897
-accelerometer: 406790954,0.114978,0.0574889,9.90726
-accelerometer: 406810943,0.019163,0.0383259,9.65814
-accelerometer: 406830993,-0.249119,-0.019163,9.60065
-accelerometer: 406850555,-0.134141,0.0766519,9.84977
-accelerometer: 406870971,-0.210793,-0.0383259,9.75395
-accelerometer: 406890991,0.0383259,0.0383259,9.73479
-accelerometer: 406910949,0.019163,-0.153304,9.60065
-accelerometer: 406930969,0.0766519,-0.0574889,9.524
-accelerometer: 406950714,0.153304,0.019163,9.69646
-accelerometer: 406971222,0.0383259,-4.82907,9.73479
-accelerometer: 406991058,-0.019163,-4.90572,9.65814
-accelerometer: 407010864,0.0383259,0.0766519,9.79228
-accelerometer: 407030975,0.0958148,-4.79074,9.58148
-accelerometer: 407050811,-0.134141,4.73325,9.61981
-accelerometer: 407070923,-0.0958148,0.0383259,9.71563
-accelerometer: 407090881,0.0766519,0.0766519,9.79228
-accelerometer: 407110748,-0.134141,0.0766519,9.54316
-accelerometer: 407130768,-0.0958148,0.0574889,9.6773
-accelerometer: 407150818,-0.0574889,-0.172467,9.63897
-accelerometer: 407170959,-0.134141,-0.0383259,9.6773
-accelerometer: 407190918,0.0574889,0.019163,9.69646
-accelerometer: 407210968,0.019163,-0.0383259,9.63897
-accelerometer: 407230957,-0.172467,0.0958148,9.73479
-accelerometer: 407250793,-0.0574889,0,9.60065
-accelerometer: 407270935,-0.134141,-0.0383259,9.63897
-accelerometer: 407290954,0,-0.0958148,9.65814
-accelerometer: 407311004,-4.84823,-0.0574889,9.73479
-accelerometer: 407330963,-0.0958148,0.114978,9.81144
-accelerometer: 407350769,0.134141,0.0383259,9.63897
-accelerometer: 407371032,0.0574889,0,9.63897
-accelerometer: 407390930,0.0574889,-0.0383259,9.50483
-accelerometer: 407410980,-0.114978,0,9.524
-accelerometer: 407430938,-0.134141,0.019163,9.6773
-accelerometer: 407450866,-0.0766519,0.0958148,9.81144
-accelerometer: 407470764,-0.019163,-0.019163,9.86893
-accelerometer: 407490905,0.019163,-0.019163,9.63897
-accelerometer: 407510833,-0.0383259,0.019163,9.6773
-accelerometer: 407530914,-0.19163,0.0766519,9.63897
-accelerometer: 407550811,-0.249119,0.229956,9.61981
-accelerometer: 407570923,0.134141,0.0383259,9.54316
-accelerometer: 407590973,-0.153304,-0.019163,9.56232
-accelerometer: 407610962,-0.153304,0,9.63897
-accelerometer: 407630951,0.0383259,0.0958148,9.81144
-accelerometer: 407650787,-0.0574889,0.0766519,9.48567
-accelerometer: 407670898,0.0383259,-0.0574889,9.79228
-accelerometer: 407690796,-0.344933,0.0958148,9.56232
-accelerometer: 407710998,-0.019163,-0.0383259,9.73479
-accelerometer: 407731018,-0.134141,0,9.60065
-accelerometer: 407750824,0.0766519,0.019163,9.73479
-accelerometer: 407770874,0.019163,0.0766519,9.75395
-accelerometer: 407790954,-0.229956,4.88656,9.63897
-accelerometer: 407811004,-0.0766519,-4.86739,9.75395
-accelerometer: 407830963,0.0766519,-0.114978,9.63897
-accelerometer: 407850799,0.0766519,0.0383259,9.6773
-accelerometer: 407870910,0.0766519,0.019163,9.73479
-accelerometer: 407890930,0.0383259,-0.0766519,9.56232
-accelerometer: 407910919,0.019163,-0.19163,9.69646
-accelerometer: 407930969,-0.114978,0.153304,9.65814
-accelerometer: 407950927,0.0574889,4.73325,9.50483
-accelerometer: 407970855,-0.229956,4.84823,9.61981
-accelerometer: 407990967,-0.134141,-0.0383259,9.42818
-accelerometer: 408011078,-0.0574889,0.19163,9.65814
-accelerometer: 408031006,0.0383259,-0.0766519,9.58148
-accelerometer: 408050995,-0.0574889,-0.0958148,9.63897
-accelerometer: 408070923,0.019163,0.019163,9.60065
-accelerometer: 408091003,-0.0383259,0.114978,9.60065
-accelerometer: 408110992,-0.153304,-0.172467,9.44734
-accelerometer: 408130951,0,0.134141,9.54316
-accelerometer: 408150970,-0.134141,0.0766519,9.50483
-accelerometer: 408170898,0,-0.0574889,9.77311
-accelerometer: 408190918,-0.114978,-0.0383259,9.50483
-accelerometer: 408210968,-0.0958148,0.0383259,9.48567
-accelerometer: 408231079,-0.019163,0.0766519,9.90726
-accelerometer: 408250976,0.019163,-0.0766519,9.8306
-accelerometer: 408270935,0.0383259,-0.0958148,9.63897
-accelerometer: 408290954,0.0574889,0.0383259,9.6773
-accelerometer: 408310974,-0.0766519,-0.019163,9.42818
-accelerometer: 408330963,0.114978,-0.0383259,9.60065
-accelerometer: 408350769,0.0766519,-0.0383259,9.65814
-accelerometer: 408370971,0.019163,-4.86739,9.69646
-accelerometer: 408390960,0,0.153304,9.71563
-accelerometer: 408410949,0.0958148,0.0383259,9.69646
-accelerometer: 408430999,-0.153304,-0.019163,9.79228
-accelerometer: 408450805,-0.0383259,-0.0766519,9.65814
-accelerometer: 408470764,-0.0958148,0.153304,9.75395
-accelerometer: 408490936,-0.172467,4.88656,9.69646
-accelerometer: 408510986,0,0.019163,9.69646
-accelerometer: 408530975,0,-0.0958148,9.81144
-accelerometer: 408550995,-0.0958148,0.0574889,9.50483
-accelerometer: 408570923,0.0574889,-0.114978,9.60065
-accelerometer: 408590942,-0.0383259,-0.0766519,9.79228
-accelerometer: 408610931,0.0958148,-4.77158,9.65814
-accelerometer: 408630920,-0.0958148,-4.88656,9.58148
-accelerometer: 408650940,-0.19163,-0.019163,9.77311
-accelerometer: 408670898,0.019163,0.0574889,9.6773
-accelerometer: 408690613,0.019163,-0.0958148,9.8306
-accelerometer: 408710998,-0.172467,0,9.60065
-accelerometer: 408730957,-0.210793,-0.0383259,9.65814
-accelerometer: 408750946,-0.134141,-4.88656,9.69646
-accelerometer: 408770935,-0.0958148,0.0766519,9.77311
-accelerometer: 408790954,-0.0383259,0,9.56232
-accelerometer: 408810974,0.172467,-0.114978,9.69646
-accelerometer: 408830932,0.0574889,-0.0574889,9.58148
-accelerometer: 408850952,0,0.19163,9.65814
-accelerometer: 408870910,0,0.0958148,9.84977
-accelerometer: 408890930,-0.0574889,0.0766519,9.50483
-accelerometer: 408910949,-0.229956,4.71409,9.40902
-accelerometer: 408930999,0.019163,0.0383259,9.6773
-accelerometer: 408950927,-0.19163,0.0958148,9.65814
-accelerometer: 408970886,-0.0958148,0.0766519,9.65814
-accelerometer: 408990967,0.114978,-0.019163,9.60065
-accelerometer: 409010833,-0.114978,0.0383259,9.50483
-accelerometer: 409031036,-0.0383259,-4.88656,9.48567
-accelerometer: 409050995,-0.210793,0.019163,9.63897
-accelerometer: 409071075,-0.134141,0.19163,9.60065
-accelerometer: 409090942,0.153304,-0.0574889,9.75395
-accelerometer: 409110931,0,0.0574889,9.63897
-accelerometer: 409130951,-0.134141,0.0383259,9.69646
-accelerometer: 409150940,-0.0574889,4.82907,9.75395
-accelerometer: 409171142,0.0766519,0.0574889,9.81144
-accelerometer: 409190948,-0.0574889,-0.172467,9.46651
-accelerometer: 409210937,0.134141,-0.153304,9.48567
-accelerometer: 409230957,-0.153304,0.19163,9.6773
-accelerometer: 409250946,0.0574889,0.0383259,9.6773
-accelerometer: 409271087,0,-0.134141,9.69646
-accelerometer: 409290954,0.0958148,4.88656,9.65814
-accelerometer: 409310974,0.0766519,-0.0766519,9.65814
-accelerometer: 409330963,0.19163,-0.0958148,9.77311
-accelerometer: 409350799,-0.0383259,0.268282,9.79228
-accelerometer: 409370605,-0.134141,0.0574889,9.61981
-accelerometer: 409390960,-0.0766519,0.0766519,9.56232
-accelerometer: 409410949,0.0766519,-4.82907,9.56232
-accelerometer: 409430816,-0.0958148,-0.134141,9.77311
-accelerometer: 409450805,0.019163,0.153304,9.77311
-accelerometer: 409470703,-0.153304,0,9.65814
-accelerometer: 409490936,0.0958148,-0.0958148,9.60065
-accelerometer: 409510894,0.019163,0.0383259,9.65814
-accelerometer: 409530945,-0.114978,-0.0574889,9.6773
-accelerometer: 409550995,-0.153304,0.172467,9.54316
-accelerometer: 409570800,-0.134141,-0.0383259,9.56232
-accelerometer: 409590942,-0.0574889,0.019163,9.61981
-accelerometer: 409610962,0.0766519,-0.0766519,9.69646
-accelerometer: 409630981,-0.0383259,-0.134141,9.60065
-accelerometer: 409650940,-0.0958148,-0.114978,9.56232
-accelerometer: 409670807,0.0958148,-0.134141,9.63897
-accelerometer: 409691284,-0.210793,-0.0958148,9.61981
-accelerometer: 409710937,-0.019163,-0.0574889,9.71563
-accelerometer: 409730957,-0.0574889,-0.114978,9.69646
-accelerometer: 409750946,0,0,9.69646
-accelerometer: 409770782,0.0766519,-0.019163,9.58148
-accelerometer: 409790954,-0.0574889,0.0383259,9.56232
-accelerometer: 409810974,-0.153304,4.67576,9.58148
-accelerometer: 409830963,-0.0383259,4.88656,9.6773
-accelerometer: 409850952,0.0383259,0.0958148,9.75395
-accelerometer: 409870788,-0.153304,0,9.61981
-accelerometer: 409890899,-0.0958148,-0.0766519,9.65814
-accelerometer: 409910919,-0.0958148,-0.0574889,9.38986
-accelerometer: 409930938,0.0766519,0.0766519,9.69646
-accelerometer: 409950988,-0.0574889,-0.114978,9.61981
-accelerometer: 409970794,-0.0383259,-0.0958148,9.56232
-accelerometer: 409990967,-0.134141,-0.114978,9.73479
-accelerometer: 410010925,0.0574889,0.0383259,9.73479
-accelerometer: 410031036,-0.0766519,0.0574889,9.6773
-accelerometer: 410050995,-0.0766519,-0.0766519,9.56232
-accelerometer: 410070800,-0.0574889,0.0574889,9.524
-accelerometer: 410090973,-0.0766519,0.114978,9.58148
-accelerometer: 410110931,-0.0958148,4.84823,9.524
-accelerometer: 410130981,-0.153304,0.0958148,9.61981
-accelerometer: 410150940,0,0.0383259,9.69646
-accelerometer: 410170807,0.0958148,-0.114978,9.60065
-accelerometer: 410190887,-0.0958148,0.0383259,9.63897
-accelerometer: 410210968,0.0574889,-0.134141,9.71563
-accelerometer: 410231079,-0.172467,-0.0958148,9.6773
-accelerometer: 410251007,-0.0383259,-0.019163,9.54316
-accelerometer: 410270813,0.019163,-0.0383259,9.69646
-accelerometer: 410290893,-0.0574889,-0.0766519,9.56232
-accelerometer: 410310943,-0.114978,-0.0574889,9.69646
-accelerometer: 410330963,0.019163,-0.019163,9.71563
-accelerometer: 410350799,-0.19163,0.134141,9.60065
-accelerometer: 410370819,-0.114978,-0.019163,9.69646
-accelerometer: 410390930,0.0383259,0.0574889,9.56232
-accelerometer: 410410919,0.0574889,-4.82907,9.81144
-accelerometer: 410430938,0.0574889,-4.88656,9.73479
-accelerometer: 410450805,0.019163,0.19163,9.58148
-accelerometer: 410470703,0.0383259,-0.0574889,9.54316
-accelerometer: 410490936,-0.114978,0.172467,9.6773
-accelerometer: 410510956,-0.0766519,-0.0958148,9.6773
-accelerometer: 410530975,0.0958148,-0.0383259,9.69646
-accelerometer: 410550934,0.134141,-0.0766519,9.71563
-accelerometer: 410570923,-0.0383259,-4.90572,9.69646
-accelerometer: 410590912,-0.268282,0.019163,9.60065
-accelerometer: 410610962,-0.153304,-0.019163,9.61981
-accelerometer: 410630951,-0.134141,0.0766519,9.60065
-accelerometer: 410650940,-0.229956,0.0766519,9.58148
-accelerometer: 410670929,0.0574889,-0.019163,9.58148
-accelerometer: 410691742,0.0766519,0,9.8306
-accelerometer: 410710998,0,-4.84823,9.69646
-accelerometer: 410730957,-0.172467,0.0574889,9.46651
-accelerometer: 410750946,-0.172467,-0.0383259,9.48567
-accelerometer: 410770935,-0.0766519,-0.114978,9.54316
-accelerometer: 410790924,-0.153304,0.019163,9.56232
-accelerometer: 410810943,-0.0958148,0.153304,9.61981
-accelerometer: 410830963,0.0958148,0.172467,9.63897
-accelerometer: 410850952,-0.0383259,-0.0574889,9.73479
-accelerometer: 410870941,-0.0383259,0.0383259,9.60065
-accelerometer: 410890899,-0.134141,0.134141,9.58148
-accelerometer: 410910980,-0.0958148,-0.0958148,9.58148
-accelerometer: 410930969,0,0.210793,9.69646
-accelerometer: 410950958,0.0574889,-0.019163,9.75395
-accelerometer: 410970947,-0.0383259,-0.0574889,9.6773
-accelerometer: 410990936,0.0574889,-0.0574889,9.71563
-accelerometer: 411010864,-0.19163,0.0383259,9.84977
-accelerometer: 411031036,0,-0.0766519,9.54316
-accelerometer: 411050934,0.0574889,-0.172467,9.69646
-accelerometer: 411070984,-0.153304,0.210793,9.58148
-accelerometer: 411090912,0.019163,0.0574889,9.73479
-accelerometer: 411110931,0.134141,-0.172467,9.61981
-accelerometer: 411131805,-0.0574889,0,9.61981
-accelerometer: 411151245,-0.210793,-0.019163,9.46651
-accelerometer: 411170959,-0.0958148,0.19163,9.6773
-accelerometer: 411190979,0.0958148,0,9.65814
-accelerometer: 411211029,-0.0574889,-0.0574889,9.75395
-accelerometer: 411230957,0.0766519,0.0958148,9.69646
-accelerometer: 411250793,0.229956,-0.0958148,9.71563
-accelerometer: 411270874,-0.0958148,0.172467,9.524
-accelerometer: 411290924,0,0,9.75395
-accelerometer: 411310974,-0.019163,-0.019163,9.63897
-accelerometer: 411330932,-0.0383259,0.19163,9.6773
-accelerometer: 411350799,-0.0383259,0.0958148,9.61981
-accelerometer: 411371002,0.0574889,-0.134141,9.8306
-accelerometer: 411390899,-0.0383259,-0.0958148,9.63897
-accelerometer: 411410980,-0.0383259,0.153304,9.69646
-accelerometer: 411430969,-0.19163,-0.114978,9.88809
-accelerometer: 411450958,0.210793,0,9.75395
-accelerometer: 411470703,0.0958148,-0.19163,9.58148
-accelerometer: 411490936,-0.0766519,0.019163,9.63897
-accelerometer: 411510833,-0.019163,-0.153304,9.6773
-accelerometer: 411530945,-0.019163,0.0958148,9.524
-accelerometer: 411550964,-0.0383259,-4.86739,9.65814
-accelerometer: 411570953,0.114978,4.84823,9.73479
-accelerometer: 411591095,-0.210793,0.0766519,9.6773
-accelerometer: 411610931,-0.114978,0.172467,9.88809
-accelerometer: 411630920,-0.0383259,0.0958148,9.71563
-accelerometer: 411651001,-0.019163,-0.019163,9.6773
-accelerometer: 411670959,0.210793,-0.0766519,9.54316
-accelerometer: 411691040,-0.0766519,0.0383259,9.63897
-accelerometer: 411710785,-0.0574889,0.019163,9.71563
-accelerometer: 411730835,-0.153304,0,9.69646
-accelerometer: 411750976,-0.153304,0.0574889,9.56232
-accelerometer: 411770935,-0.153304,0,9.61981
-accelerometer: 411791015,0.019163,-0.134141,9.48567
-accelerometer: 411810943,-0.019163,0.114978,9.60065
-accelerometer: 411830932,0,-0.0383259,9.77311
-accelerometer: 411850921,0.0958148,-0.172467,9.6773
-accelerometer: 411870971,0.0383259,-0.0383259,9.73479
-accelerometer: 411890564,-0.0766519,-0.114978,9.75395
-accelerometer: 411910858,-0.0766519,-0.019163,9.63897
-accelerometer: 411930908,0.0383259,0.019163,9.71563
-accelerometer: 411950927,0.019163,0.114978,9.63897
-accelerometer: 411971100,-0.0958148,4.77158,9.79228
-accelerometer: 411990814,0.0958148,-0.0383259,9.60065
-accelerometer: 412010894,0.0383259,-0.0383259,9.69646
-accelerometer: 412031006,-0.114978,0.19163,9.60065
-accelerometer: 412050964,-0.19163,0.0383259,9.61981
-accelerometer: 412070953,-0.0766519,0,9.50483
-accelerometer: 412090790,0.364096,-0.134141,9.60065
-accelerometer: 412110779,-0.114978,0.114978,9.58148
-accelerometer: 412130859,-0.0766519,-0.019163,9.50483
-accelerometer: 412150757,0.153304,-0.0574889,9.79228
-accelerometer: 412170868,0.0383259,-4.84823,9.6773
-accelerometer: 412190765,-0.0574889,-0.0383259,9.63897
-accelerometer: 412210907,-0.0766519,0,9.81144
-accelerometer: 412231109,-0.153304,-4.82907,9.79228
-accelerometer: 412250976,-0.019163,-0.114978,9.69646
-accelerometer: 412270935,-0.153304,0.172467,9.42818
-accelerometer: 412290802,-0.153304,-0.0958148,9.65814
-accelerometer: 412311004,-0.114978,-0.0383259,9.61981
-accelerometer: 412330963,-0.153304,-0.0574889,9.63897
-accelerometer: 412350799,-0.0766519,-0.0574889,9.63897
-accelerometer: 412371002,-0.19163,-0.0958148,9.61981
-accelerometer: 412390838,0.0383259,0.134141,9.58148
-accelerometer: 412410919,-0.0766519,-0.134141,9.54316
-accelerometer: 412430938,-0.19163,-4.88656,9.56232
-accelerometer: 412450927,-0.172467,0.0383259,9.63897
-accelerometer: 412470703,-0.172467,0.19163,9.44734
-accelerometer: 412490783,0.0574889,0.114978,9.65814
-accelerometer: 412510925,-0.0574889,-0.134141,9.77311
-accelerometer: 412530975,0.0383259,0.019163,9.81144
-accelerometer: 412550903,0.019163,-0.019163,9.73479
-accelerometer: 412570923,0.0574889,0.114978,9.50483
-accelerometer: 412590820,0.0766519,-0.0574889,9.71563
-accelerometer: 412610931,0.0383259,-0.0766519,9.65814
-accelerometer: 412630951,0,-0.0766519,9.60065
-accelerometer: 412650970,0.0766519,0.0766519,9.73479
-accelerometer: 412670929,0.19163,-0.210793,9.71563
-accelerometer: 412690796,0.0574889,0.0574889,9.6773
-accelerometer: 412710937,0.134141,-4.88656,9.44734
-accelerometer: 412730957,0,0,9.73479
-accelerometer: 412750915,0.0383259,-0.114978,9.56232
-accelerometer: 412770935,-0.0766519,-0.0958148,9.524
-accelerometer: 412790832,0.134141,0,9.6773
-accelerometer: 412810974,-0.134141,0.134141,9.54316
-accelerometer: 412830963,-0.134141,0.0958148,9.63897
-accelerometer: 412850952,0.0383259,-0.210793,9.54316
-accelerometer: 412870941,0.0383259,4.88656,9.8306
-accelerometer: 412890777,0.0766519,0.0958148,9.60065
-accelerometer: 412910888,0.0383259,-0.0574889,9.54316
-accelerometer: 412930938,0,-0.0574889,9.65814
-accelerometer: 412950927,-0.210793,0.0766519,9.56232
-accelerometer: 412970916,-0.210793,-0.0766519,9.65814
-accelerometer: 412990967,0.134141,-0.0383259,9.65814
-accelerometer: 413010650,-0.0574889,0.0574889,9.524
-accelerometer: 413031097,-0.019163,0.114978,9.63897
-accelerometer: 413050934,-0.0766519,0.134141,9.65814
-accelerometer: 413070923,0.0958148,-0.0574889,9.77311
-accelerometer: 413090942,0.019163,0.210793,9.6773
-accelerometer: 413110901,-0.114978,0.153304,9.75395
-accelerometer: 413130920,0.019163,-0.172467,9.54316
-accelerometer: 413150940,-0.0766519,0.019163,9.50483
-accelerometer: 413170929,-4.88656,-0.0766519,9.77311
-accelerometer: 413190918,0.019163,-0.0383259,9.65814
-accelerometer: 413210663,-0.0574889,-0.306608,9.6773
-accelerometer: 413231018,-0.0574889,0,9.60065
-accelerometer: 413250915,0.383259,0.019163,9.86893
-accelerometer: 413270935,-0.268282,-0.210793,9.17906
-accelerometer: 413290893,0.440748,-0.019163,9.90726
-accelerometer: 413311920,0.210793,0,9.75395
-accelerometer: 413330780,-0.019163,-0.0958148,9.61981
-accelerometer: 413350769,-0.0958148,-0.019163,9.65814
-accelerometer: 413370910,-0.114978,0.0574889,9.6773
-accelerometer: 413390899,0.019163,-0.0958148,9.77311
-accelerometer: 413410888,-0.268282,0.210793,9.48567
-accelerometer: 413430969,-0.019163,-0.0574889,9.58148
-accelerometer: 413450958,-0.0766519,0.019163,9.65814
-accelerometer: 413470794,-0.134141,4.80991,9.58148
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat
deleted file mode 100644
index 4ee7293b..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_notwhip.dat
+++ /dev/null
@@ -1,653 +0,0 @@
-orientation:9573770688,5
-accelerometer: 9576731808,0.402422,-0.0383259,9.69646
-accelerometer: 9576750577,0.134141,-0.153304,9.38986
-accelerometer: 9576770718,0.0383259,0.019163,9.75395
-accelerometer: 9576790555,-0.019163,0.229956,9.23655
-accelerometer: 9576810727,0.19163,-0.0958148,9.46651
-irProximity:9576818280,0.286275
-accelerometer: 9576833462,0.0958148,-4.84823,9.6773
-proximity:9576836896,0
-accelerometer: 9576850552,0.0383259,-0.0766519,9.35153
-accelerometer: 9576870572,0.114978,-0.0766519,9.77311
-accelerometer: 9576890561,-0.0383259,0.0383259,9.6773
-accelerometer: 9576910550,0,-0.0766519,9.6773
-accelerometer: 9576930752,0.114978,0,9.73479
-accelerometer: 9576950711,-0.134141,0.114978,9.60065
-accelerometer: 9576970639,0.114978,-0.0383259,9.79228
-accelerometer: 9576990719,-0.0958148,-0.114978,9.44734
-accelerometer: 9577010525,-0.229956,0.134141,9.63897
-accelerometer: 9577031064,-0.210793,0,9.63897
-accelerometer: 9577050717,0.0383259,-0.0574889,9.48567
-accelerometer: 9577070767,-0.0383259,4.86739,9.48567
-accelerometer: 9577090909,0,-0.0383259,9.44734
-accelerometer: 9577110776,-0.0766519,-0.019163,9.6773
-accelerometer: 9577130887,0.0383259,0.153304,9.54316
-accelerometer: 9577150784,0.0766519,-0.0766519,9.71563
-accelerometer: 9577170804,0.0574889,-0.0574889,9.63897
-accelerometer: 9577190976,-0.0766519,0.0383259,9.42818
-accelerometer: 9577210873,0,4.84823,9.65814
-accelerometer: 9577231015,0.0383259,-0.210793,9.48567
-accelerometer: 9577250790,-0.0958148,0.0383259,9.65814
-accelerometer: 9577270810,0.114978,-0.0766519,9.50483
-accelerometer: 9577290982,1.82048,0.229956,1.97379
-accelerometer: 9577310544,-1.68634,-0.0574889,9.37069
-irProximity:9577324872,0.290196
-accelerometer: 9577330533,1.72467,-0.440748,8.68083
-accelerometer: 9577350491,-0.919823,-0.134141,6.99448
-accelerometer: 9577370572,0.785682,-0.019163,10.3288
-accelerometer: 9577390896,-0.249119,0,9.10241
-accelerometer: 9577410916,0.114978,0.249119,2.97026
-irProximity:9577425335,0.286275
-accelerometer: 9577430630,-0.689867,-1.01564,9.90726
-accelerometer: 9577450497,-1.9163,0.594052,8.47003
-accelerometer: 9577470517,0,-0.0766519,10.2714
-accelerometer: 9577490506,-0.114978,0.229956,10.0797
-tap:9577504834,1
-accelerometer: 9577510495,0.364096,0.153304,10.8079
-accelerometer: 9577530575,-0.019163,0.229956,9.21739
-accelerometer: 9577550534,1.07313,2.28039,-19.4504
-accelerometer: 9577570645,0.32577,-2.14625,1.0348
-accelerometer: 9577590695,-0.632378,2.70198,16.2885
-accelerometer: 9577610531,0.613215,-0.5174,8.81497
-irProximity:9577626202,0.290196
-accelerometer: 9577630520,0.383259,-0.555726,8.75748
-accelerometer: 9577650693,0.843171,1.14978,6.22797
-accelerometer: 9577670743,0.344933,0.594052,-1.13062
-accelerometer: 9577690915,0.364096,-1.41806,10.463
-accelerometer: 9577712582,-0.229956,-1.09229,6.78369
-irProximity:9577727002,0.286275
-accelerometer: 9577732815,0.938986,1.22643,19.3163
-accelerometer: 9577752499,0.249119,0.134141,8.33589
-accelerometer: 9577770871,0.364096,1.09229,12.4176
-accelerometer: 9577791043,0.32577,-0.32577,-5.11651
-accelerometer: 9577811123,0.249119,-0.536563,5.03986
-accelerometer: 9577831051,0.0958148,0.383259,10.1947
-accelerometer: 9577850857,-0.019163,0.440748,10.233
-accelerometer: 9577870663,1.16894,-0.229956,10.6354
-accelerometer: 9577891446,1.82048,0.134141,27.9779
-accelerometer: 9577911160,1.36057,1.5522,7.66519
-irProximity:9577928418,0.294118
-accelerometer: 9577930996,-1.3989,-0.824008,6.68788
-accelerometer: 9577950955,-0.632378,-0.249119,6.40043
-accelerometer: 9577970852,0.536563,-0.785682,7.81849
-accelerometer: 9577991910,0.32577,1.99295,12.9733
-accelerometer: 9578012875,-2.16542,6.76453,8.92994
-irProximity:9578029309,0.286275
-accelerometer: 9578031033,0.5174,-0.996474,10.5013
-accelerometer: 9578051053,-0.536563,0.210793,9.48567
-accelerometer: 9578070614,0.268282,0,9.88809
-accelerometer: 9578090817,-0.766519,4.04339,12.9925
-accelerometer: 9578110959,0.804845,-0.364096,4.86739
-irProximity:9578129925,0.282353
-accelerometer: 9578130734,-1.41806,-1.01564,8.91078
-accelerometer: 9578150937,-0.459911,0.344933,10.9804
-accelerometer: 9578170590,-0.344933,-0.0766519,9.08325
-accelerometer: 9578190701,0.287445,-0.134141,11.7852
-accelerometer: 9578210690,-0.019163,-0.114978,9.17906
-irProximity:9578230389,0.286275
-accelerometer: 9578230527,0.114978,0.5174,9.98391
-accelerometer: 9578250516,0.824008,-0.862334,4.46497
-accelerometer: 9578270688,-0.0383259,-0.574889,8.98743
-accelerometer: 9578290829,-0.268282,-0.114978,9.96474
-accelerometer: 9578310818,0.785682,-0.0574889,9.42818
-irProximity:9578331097,0.294118
-accelerometer: 9578330807,-0.019163,0.019163,10.6354
-accelerometer: 9578350827,-0.766519,0.0766519,5.0207
-accelerometer: 9578370877,-0.498237,-0.594052,11.287
-accelerometer: 9578390805,-0.134141,0.19163,11.6702
-accelerometer: 9578410916,-1.60969,-0.594052,5.71057
-irProximity:9578431622,0.286275
-accelerometer: 9578430661,-1.43722,1.36057,12.2835
-accelerometer: 9578450985,-1.64802,0.785682,8.71915
-accelerometer: 9578471036,1.74383,-0.402422,8.54668
-accelerometer: 9578490994,1.30308,1.53304,-4.6566
-accelerometer: 9578510830,-1.20727,0.536563,6.15131
-irProximity:9578532422,0.290196
-accelerometer: 9578531216,0.153304,-0.747356,3.96673
-accelerometer: 9578550992,-0.383259,-0.0766519,9.1599
-accelerometer: 9578570645,-1.26476,0.32577,8.83413
-accelerometer: 9578590756,1.09229,-0.0383259,10.5205
-accelerometer: 9578610989,-0.70903,-0.114978,8.52752
-accelerometer: 9578630612,0.594052,0.0383259,10.3288
-irProximity:9578633648,0.294118
-accelerometer: 9578650967,-0.383259,-0.019163,9.71563
-accelerometer: 9578670956,-0.210793,0.0574889,9.60065
-accelerometer: 9578691250,0.134141,0.19163,9.96474
-accelerometer: 9578710904,-0.651541,-4.80991,8.83413
-accelerometer: 9578730771,0.536563,-0.0574889,9.56232
-irProximity:9578734601,0.290196
-accelerometer: 9578750943,-0.421585,0.287445,9.40902
-accelerometer: 9578770932,0.344933,0,10.1372
-accelerometer: 9578790951,-0.479074,4.86739,8.75748
-accelerometer: 9578810940,0.32577,0.287445,10.6163
-accelerometer: 9578830838,-0.0958148,-0.0958148,9.27488
-irProximity:9578835522,0.286275
-accelerometer: 9578851010,0.0383259,0.0574889,9.90726
-accelerometer: 9578870968,-0.114978,4.86739,9.60065
-accelerometer: 9578890988,-0.134141,-0.0574889,9.48567
-accelerometer: 9578910946,-0.0766519,0.19163,9.90726
-accelerometer: 9578930752,-0.114978,0,9.50483
-accelerometer: 9578950924,4.75242,0.0383259,9.81144
-accelerometer: 9578970822,-0.0958148,-4.77158,9.33237
-accelerometer: 9578990750,0.172467,-0.229956,9.37069
-accelerometer: 9579010739,0.172467,-0.0383259,9.50483
-accelerometer: 9579030789,0.210793,0.019163,9.8306
-accelerometer: 9579050961,-0.019163,-0.019163,9.58148
-accelerometer: 9579070950,0,0.153304,9.73479
-accelerometer: 9579090970,0.019163,-0.0766519,9.524
-accelerometer: 9579110959,-0.0958148,0.019163,9.6773
-accelerometer: 9579130826,0.153304,-4.86739,9.60065
-accelerometer: 9579150937,0.0766519,-0.0958148,9.61981
-accelerometer: 9579170956,-0.114978,0.0766519,9.61981
-accelerometer: 9579190793,-0.0383259,-0.0383259,9.63897
-accelerometer: 9579210995,-0.134141,0.114978,9.524
-accelerometer: 9579230801,-0.019163,0.0383259,9.60065
-accelerometer: 9579250943,0.172467,-0.134141,9.65814
-accelerometer: 9579270962,-0.019163,-4.77158,9.61981
-accelerometer: 9579290951,-0.153304,0,9.56232
-accelerometer: 9579311001,0.172467,-0.134141,9.79228
-accelerometer: 9579330807,-0.019163,-0.019163,9.46651
-accelerometer: 9579350918,0,0.153304,9.56232
-accelerometer: 9579370999,0.0958148,0.114978,9.69646
-accelerometer: 9579390957,-0.0383259,-0.0383259,9.46651
-accelerometer: 9579410946,-0.0383259,-4.82907,9.524
-accelerometer: 9579430813,0,4.80991,9.63897
-accelerometer: 9579450924,-0.0958148,-0.0958148,9.44734
-accelerometer: 9579470944,-0.153304,0,9.58148
-accelerometer: 9579490933,-0.0766519,-4.88656,9.65814
-accelerometer: 9579510891,0.0958148,0.0383259,9.56232
-accelerometer: 9579530881,-0.172467,-0.0958148,9.524
-accelerometer: 9579550961,0.268282,-0.172467,9.73479
-accelerometer: 9579570981,-0.0383259,-0.019163,9.58148
-accelerometer: 9579590970,-0.153304,0.19163,9.44734
-accelerometer: 9579610959,-0.0383259,0.0574889,9.60065
-accelerometer: 9579630795,-0.134141,0.0383259,9.40902
-accelerometer: 9579650906,-0.172467,-4.90572,9.54316
-accelerometer: 9579670956,-0.172467,0.0958148,9.50483
-accelerometer: 9579690945,-0.019163,0.0383259,9.63897
-accelerometer: 9579710965,4.67576,0,9.73479
-accelerometer: 9579730954,0.019163,-0.306608,9.69646
-accelerometer: 9579750912,0.153304,-0.153304,9.50483
-accelerometer: 9579770993,0.134141,-0.114978,9.50483
-accelerometer: 9579790951,0.344933,0,9.48567
-accelerometer: 9579811093,0.0766519,-0.0766519,9.58148
-accelerometer: 9579831021,0.153304,-0.019163,9.58148
-accelerometer: 9579850918,-0.0958148,0.0958148,9.54316
-accelerometer: 9579870999,-0.0383259,-0.019163,9.54316
-accelerometer: 9579890957,-0.019163,4.79074,9.50483
-accelerometer: 9579910916,0,-0.0958148,9.40902
-accelerometer: 9579930935,-0.172467,0.0766519,9.61981
-accelerometer: 9579950924,-0.134141,0.0958148,9.50483
-accelerometer: 9579970944,0.019163,-0.0574889,9.48567
-accelerometer: 9579990902,0.0574889,0.019163,9.73479
-accelerometer: 9580010922,-0.0574889,0.019163,9.48567
-accelerometer: 9580030942,0.0574889,-0.134141,9.71563
-accelerometer: 9580050931,0.019163,4.80991,9.50483
-accelerometer: 9580070981,0.0574889,-0.134141,9.524
-accelerometer: 9580090970,0,0.0574889,9.54316
-accelerometer: 9580110928,-0.0766519,-0.134141,9.69646
-accelerometer: 9580130917,-0.229956,-0.766519,8.4892
-accelerometer: 9580150784,0.344933,0.32577,10.9229
-accelerometer: 9580170804,-0.114978,0.134141,9.58148
-accelerometer: 9580190823,-0.287445,-0.114978,8.6425
-accelerometer: 9580210965,0,0.134141,10.0989
-accelerometer: 9580230923,0.210793,0.0383259,10.1755
-accelerometer: 9580250973,0.0766519,-0.210793,9.42818
-accelerometer: 9580270993,-0.306608,0.153304,9.3132
-accelerometer: 9580290982,-0.0958148,0.210793,9.54316
-accelerometer: 9580311062,-0.0958148,0.019163,9.63897
-accelerometer: 9580330990,0.0766519,0.019163,9.73479
-accelerometer: 9580350644,0.0383259,0.0383259,9.58148
-accelerometer: 9580370663,0.0383259,-0.019163,9.60065
-accelerometer: 9580390805,-0.172467,0.0766519,9.35153
-accelerometer: 9580410763,0.229956,-0.114978,9.8306
-accelerometer: 9580430752,-0.344933,0.0766519,8.96827
-accelerometer: 9580450833,0.249119,0.19163,9.81144
-accelerometer: 9580470883,-0.134141,-0.0383259,9.17906
-accelerometer: 9580490872,0.0766519,0.19163,10.0031
-accelerometer: 9580510891,-0.114978,-0.0574889,9.40902
-accelerometer: 9580530728,0.0383259,0.134141,9.88809
-accelerometer: 9580550931,0.0383259,-0.210793,9.42818
-accelerometer: 9580570981,-0.0574889,0.134141,9.81144
-accelerometer: 9580590970,0,4.75242,9.61981
-accelerometer: 9580610959,0.114978,0.0383259,9.63897
-accelerometer: 9580630948,-0.019163,0,9.46651
-accelerometer: 9580650906,0,0.0383259,9.60065
-accelerometer: 9580670987,0.134141,0.0766519,9.6773
-accelerometer: 9580690976,0.0383259,0.229956,9.54316
-accelerometer: 9580710934,0.153304,0,9.58148
-accelerometer: 9580730954,-0.153304,-0.019163,9.40902
-accelerometer: 9580751095,-0.153304,-0.0958148,9.63897
-accelerometer: 9580770962,-0.019163,-0.0383259,9.42818
-accelerometer: 9580790982,0.0958148,-0.134141,9.46651
-accelerometer: 9580810971,-0.114978,0,9.54316
-accelerometer: 9580830990,0.019163,-0.019163,9.48567
-accelerometer: 9580851040,0,-0.019163,9.65814
-accelerometer: 9580870999,-0.0574889,-0.0383259,9.61981
-accelerometer: 9580890957,-0.32577,0.613215,2.41453
-accelerometer: 9580910916,0.364096,0.651541,8.25924
-accelerometer: 9580930874,-0.249119,0.364096,8.2784
-accelerometer: 9580950894,-0.153304,-0.383259,9.88809
-accelerometer: 9580971097,-0.268282,0.0383259,9.79228
-accelerometer: 9580990994,-0.0383259,-0.114978,9.524
-accelerometer: 9581011075,-0.019163,-0.0766519,9.60065
-accelerometer: 9581031186,0,0.114978,9.79228
-accelerometer: 9581050778,-0.0958148,0.019163,9.73479
-accelerometer: 9581070920,-0.114978,0.019163,9.44734
-accelerometer: 9581091275,-0.440748,0.210793,9.19823
-accelerometer: 9581110806,0.613215,0,9.77311
-accelerometer: 9581130795,-0.5174,0.0574889,9.33237
-accelerometer: 9581150784,0.19163,0.0383259,9.98391
-accelerometer: 9581170956,0.249119,-0.0574889,9.58148
-accelerometer: 9581190823,-0.287445,0.114978,9.23655
-accelerometer: 9581210965,0.32577,-0.134141,10.0031
-accelerometer: 9581230954,-0.19163,0.0958148,9.50483
-accelerometer: 9581250821,-0.114978,-0.0383259,9.65814
-accelerometer: 9581270932,0.134141,-0.0383259,9.75395
-accelerometer: 9581290951,-0.210793,-0.268282,9.10241
-accelerometer: 9581310940,0.134141,0.0958148,9.75395
-accelerometer: 9581330990,-0.0958148,-0.019163,9.40902
-accelerometer: 9581350766,0.0383259,-0.019163,9.50483
-accelerometer: 9581370968,0.114978,0.0383259,9.56232
-accelerometer: 9581390957,0,4.84823,9.38986
-accelerometer: 9581410946,0.210793,0.0958148,9.94558
-accelerometer: 9581430966,-0.229956,-0.019163,9.44734
-accelerometer: 9581450802,0.114978,-0.0958148,9.65814
-accelerometer: 9581470944,0.114978,-4.69493,9.63897
-accelerometer: 9581490964,0.0574889,-0.0574889,9.46651
-accelerometer: 9581511227,-0.0766519,4.86739,9.48567
-accelerometer: 9581531704,-0.0574889,0.0383259,9.44734
-accelerometer: 9581550839,-0.114978,-4.88656,9.71563
-accelerometer: 9581570950,-0.19163,0.019163,9.71563
-accelerometer: 9581590970,-0.114978,0.0574889,9.71563
-accelerometer: 9581611020,-0.0574889,4.86739,9.524
-accelerometer: 9581630978,-0.268282,-0.479074,12.1685
-accelerometer: 9581650845,0.651541,0.32577,11.5553
-accelerometer: 9581670559,0.229956,-0.268282,9.35153
-accelerometer: 9581690579,0.306608,-0.172467,9.54316
-accelerometer: 9581710812,0.0766519,-4.77158,9.54316
-accelerometer: 9581730771,-0.0383259,0.0574889,9.63897
-accelerometer: 9581750790,-0.134141,0.019163,9.23655
-accelerometer: 9581770810,0,-0.210793,9.46651
-accelerometer: 9581790829,0.0574889,-0.019163,9.40902
-accelerometer: 9581810818,-0.249119,0.0383259,9.48567
-accelerometer: 9581830716,0,0.0383259,9.79228
-accelerometer: 9581850857,-0.019163,-0.0383259,9.75395
-irProximity:9581860577,0.282353
-accelerometer: 9581870938,-0.0383259,0.0574889,9.54316
-accelerometer: 9581890988,0.287445,-0.019163,9.65814
-accelerometer: 9581910916,-0.0383259,0.0383259,9.56232
-accelerometer: 9581930966,0.134141,-0.19163,9.48567
-accelerometer: 9581950772,0.114978,-4.86739,9.71563
-irProximity:9581961468,0.286275
-accelerometer: 9581970975,-0.0574889,-0.0383259,9.524
-accelerometer: 9581990750,0.019163,0.019163,9.58148
-accelerometer: 9582011075,0.0383259,0.019163,9.65814
-accelerometer: 9582032589,-0.153304,0.0958148,9.33237
-accelerometer: 9582050778,-0.0958148,0,9.8306
-accelerometer: 9582072598,-0.114978,-0.0383259,9.69646
-accelerometer: 9582090909,0,-0.0766519,9.54316
-accelerometer: 9582111172,0.0383259,-0.0766519,9.6773
-accelerometer: 9582130856,0.019163,0.0766519,9.58148
-accelerometer: 9582150937,-0.0766519,-0.019163,9.63897
-accelerometer: 9582170926,0.153304,-0.114978,9.81144
-accelerometer: 9582190823,0,0,9.524
-accelerometer: 9582210995,-0.114978,0.0958148,9.44734
-accelerometer: 9582230984,0.019163,0,9.75395
-accelerometer: 9582250973,-2.01211,3.21938,-11.1337
-accelerometer: 9582270810,0.0766519,-0.364096,10.7696
-accelerometer: 9582290829,0.32577,-0.5174,7.87598
-accelerometer: 9582311062,-0.114978,-0.32577,8.96827
-accelerometer: 9582331021,0.0574889,-0.172467,9.42818
-accelerometer: 9582350979,-0.172467,0.0383259,9.88809
-accelerometer: 9582370968,0.0958148,0.134141,9.8306
-accelerometer: 9582390988,-0.134141,0.0766519,9.35153
-accelerometer: 9582410946,-0.153304,4.84823,9.6773
-accelerometer: 9582430996,-0.0766519,-0.114978,9.17906
-accelerometer: 9582451108,0.153304,0,9.77311
-accelerometer: 9582470913,-0.114978,0,9.37069
-accelerometer: 9582490964,0.0958148,-0.0766519,9.84977
-accelerometer: 9582510922,-0.268282,-4.90572,9.38986
-accelerometer: 9582530789,0.0766519,-4.90572,9.65814
-accelerometer: 9582550992,-0.153304,0.019163,9.54316
-accelerometer: 9582570920,-4.88656,0.0383259,9.50483
-accelerometer: 9582590970,0,-0.019163,9.56232
-accelerometer: 9582610928,0.0958148,-0.172467,9.61981
-accelerometer: 9582630948,-0.019163,-0.134141,9.60065
-accelerometer: 9582650967,-0.229956,4.80991,9.44734
-accelerometer: 9582670895,0.229956,-4.84823,9.61981
-accelerometer: 9582690976,-0.19163,-0.0383259,9.46651
-accelerometer: 9582710965,0.0958148,0.019163,9.65814
-accelerometer: 9582730984,-0.134141,4.80991,9.42818
-accelerometer: 9582750912,0.114978,0.0574889,9.69646
-accelerometer: 9582770840,-0.0766519,-0.0574889,9.37069
-accelerometer: 9582790921,0,-0.0574889,9.75395
-accelerometer: 9582811001,-0.172467,4.88656,9.38986
-accelerometer: 9582830990,0.019163,-0.0383259,9.6773
-accelerometer: 9582850949,-0.19163,0.0383259,9.46651
-accelerometer: 9582870907,0.0383259,-0.019163,9.75395
-accelerometer: 9582890957,-0.0383259,0,9.50483
-accelerometer: 9582910946,0,-4.86739,9.63897
-accelerometer: 9582930935,0.0574889,0,9.71563
-accelerometer: 9582950955,-0.0574889,0.019163,9.58148
-accelerometer: 9582970913,-0.0766519,-0.0383259,9.71563
-accelerometer: 9582990750,0.153304,0.019163,9.46651
-accelerometer: 9583010830,-0.0958148,-0.019163,9.54316
-accelerometer: 9583031003,-0.0383259,-0.0766519,9.54316
-accelerometer: 9583050870,-0.114978,0.0574889,9.6773
-accelerometer: 9583070736,-0.0574889,0.0766519,9.61981
-accelerometer: 9583090939,-0.0383259,0.019163,9.56232
-accelerometer: 9583111325,0,0.0766519,9.56232
-accelerometer: 9583130887,-0.0383259,-0.0383259,9.61981
-accelerometer: 9583150967,0.114978,-0.019163,9.524
-accelerometer: 9583170895,0.0574889,-0.0383259,9.48567
-accelerometer: 9583190762,-0.0574889,-0.0383259,9.40902
-accelerometer: 9583210934,0.0958148,0.019163,9.61981
-accelerometer: 9583230923,0.210793,-0.019163,9.63897
-accelerometer: 9583250943,-0.019163,-0.0574889,9.56232
-accelerometer: 9583271054,-0.0574889,0.0383259,9.37069
-accelerometer: 9583290768,0.0958148,-0.0958148,9.8306
-accelerometer: 9583310788,-0.249119,4.86739,9.79228
-accelerometer: 9583330746,0.0574889,-0.19163,9.58148
-accelerometer: 9583350796,0,-0.172467,9.40902
-accelerometer: 9583371060,-0.249119,0,9.6773
-accelerometer: 9583390957,-0.019163,-4.82907,9.50483
-accelerometer: 9583410916,0.172467,-0.114978,9.73479
-accelerometer: 9583430966,-0.249119,0.019163,9.63897
-accelerometer: 9583450955,-0.19163,0.153304,9.56232
-irProximity:9583472851,0.282353
-accelerometer: 9583471188,-0.268282,0.114978,9.60065
-accelerometer: 9583490964,0.172467,0.0766519,9.56232
-accelerometer: 9583510953,-0.114978,0,9.73479
-accelerometer: 9583530606,-0.019163,-0.0574889,9.65814
-accelerometer: 9583550656,-0.0958148,-0.019163,9.50483
-accelerometer: 9583570767,-0.249119,0.0958148,9.35153
-irProximity:9583573589,0.286275
-accelerometer: 9583590817,-0.268282,0.0383259,9.63897
-accelerometer: 9583610806,-0.153304,-0.0383259,9.63897
-accelerometer: 9583630795,0.019163,0.0958148,9.98391
-accelerometer: 9583650815,0.32577,-0.306608,8.98743
-accelerometer: 9583670865,-0.268282,0.249119,9.96474
-accelerometer: 9583691006,0.344933,-0.153304,9.56232
-accelerometer: 9583710934,-0.306608,4.82907,9.58148
-accelerometer: 9583730923,0.249119,-0.19163,9.77311
-accelerometer: 9583750973,-0.153304,-0.0383259,9.33237
-accelerometer: 9583770749,0.498237,-0.0958148,10.0606
-accelerometer: 9583790921,-0.0958148,4.86739,9.42818
-accelerometer: 9583810940,0.383259,0.019163,9.94558
-accelerometer: 9583830899,-0.210793,0.114978,9.44734
-accelerometer: 9583851040,0.210793,-4.82907,9.69646
-accelerometer: 9583870968,-0.134141,-0.0958148,9.40902
-accelerometer: 9583890988,-0.0383259,0,9.6773
-accelerometer: 9583910946,0.0383259,0.153304,9.42818
-accelerometer: 9583930966,0.0958148,-0.153304,9.77311
-accelerometer: 9583950985,0.114978,-0.0766519,9.56232
-accelerometer: 9583970791,-0.019163,-0.0958148,9.48567
-accelerometer: 9583990750,0.153304,0.172467,24.7777
-accelerometer: 9584010922,-0.019163,-0.574889,7.58854
-accelerometer: 9584030819,-0.134141,0.19163,10.348
-accelerometer: 9584050778,-0.0574889,0.287445,10.3863
-accelerometer: 9584070798,-0.0958148,-0.0383259,9.63897
-accelerometer: 9584091000,0,-0.172467,9.46651
-accelerometer: 9584111111,-0.114978,-0.114978,9.25571
-accelerometer: 9584130978,0,-0.19163,9.69646
-accelerometer: 9584150998,-0.574889,0.632378,9.58148
-accelerometer: 9584170834,-0.0574889,0.134141,9.73479
-accelerometer: 9584190884,-0.153304,-0.114978,9.33237
-accelerometer: 9584210965,0.172467,0.134141,9.92642
-accelerometer: 9584230984,-0.229956,-0.114978,9.35153
-accelerometer: 9584250973,-0.0574889,0.0383259,9.73479
-accelerometer: 9584270779,-0.019163,-0.0574889,9.56232
-accelerometer: 9584290921,0.0958148,4.69493,9.54316
-accelerometer: 9584311001,-0.114978,-0.172467,9.50483
-accelerometer: 9584330960,0.153304,0.114978,9.63897
-accelerometer: 9584350949,0.0574889,0.0958148,9.42818
-accelerometer: 9584370816,0.0766519,0.172467,9.73479
-accelerometer: 9584390927,-0.134141,-0.019163,9.65814
-accelerometer: 9584410916,-0.0383259,0,9.48567
-accelerometer: 9584430966,0.114978,0,9.54316
-accelerometer: 9584450924,0,4.82907,9.524
-accelerometer: 9584470791,0.0574889,-0.0383259,9.54316
-accelerometer: 9584490964,-0.0766519,0.0574889,9.46651
-accelerometer: 9584510922,0.134141,0.364096,32.6345
-accelerometer: 9584530881,-0.5174,-0.32577,6.55374
-accelerometer: 9584550778,1.7055,0.70903,8.83413
-accelerometer: 9584570767,0.153304,0.134141,10.4247
-accelerometer: 9584590817,0,0.134141,10.0222
-tap:9584605938,1
-accelerometer: 9584610837,-0.172467,0.0766519,9.42818
-accelerometer: 9584630765,-0.172467,-0.0766519,9.25571
-accelerometer: 9584650937,0.019163,-0.0766519,9.61981
-accelerometer: 9584670926,-0.402422,0.229956,9.19823
-accelerometer: 9584691037,0.0958148,4.88656,9.61981
-accelerometer: 9584711026,0.019163,-0.172467,9.6773
-accelerometer: 9584730954,-0.287445,-0.0383259,9.38986
-accelerometer: 9584750973,0.383259,-0.114978,9.71563
-accelerometer: 9584770962,-0.0958148,-0.0574889,9.524
-accelerometer: 9584790951,0.019163,0.268282,9.75395
-accelerometer: 9584811001,0.0958148,-0.0383259,9.73479
-accelerometer: 9584830990,-0.268282,-0.134141,9.48567
-accelerometer: 9584850949,0.0766519,0.153304,9.75395
-accelerometer: 9584870999,0.019163,0.0383259,9.81144
-accelerometer: 9584890927,-0.0766519,0.0766519,9.44734
-accelerometer: 9584910916,-0.0574889,0.019163,9.50483
-accelerometer: 9584930966,0.0766519,-4.90572,9.61981
-accelerometer: 9584950802,-0.0574889,0.0383259,9.38986
-accelerometer: 9584970974,-0.0383259,-0.0766519,9.54316
-accelerometer: 9584990750,0.0574889,-0.114978,9.60065
-accelerometer: 9585010830,-0.019163,0.019163,9.6773
-accelerometer: 9585031003,-0.019163,0,9.61981
-accelerometer: 9585050961,-0.0766519,-0.0958148,9.65814
-accelerometer: 9585070950,-0.0383259,0.0766519,9.60065
-accelerometer: 9585090939,-0.019163,0.019163,9.54316
-accelerometer: 9585110989,0.172467,-0.0766519,9.73479
-accelerometer: 9585130948,-0.0383259,-0.019163,9.48567
-accelerometer: 9585150998,0.0574889,-0.0574889,9.58148
-accelerometer: 9585170956,-0.0383259,-0.114978,9.65814
-accelerometer: 9585190854,-0.287445,-0.0958148,9.54316
-accelerometer: 9585210965,-0.134141,0,9.50483
-accelerometer: 9585230954,-0.0766519,0.134141,9.61981
-accelerometer: 9585250973,-0.0766519,4.88656,9.60065
-accelerometer: 9585270962,-0.0958148,4.88656,9.56232
-accelerometer: 9585290921,-0.019163,0.0383259,9.524
-accelerometer: 9585310940,0.19163,0.0383259,9.8306
-accelerometer: 9585330990,0.0766519,-0.114978,9.54316
-accelerometer: 9585350827,-0.32577,4.86739,9.25571
-accelerometer: 9585370938,0.498237,-0.019163,9.86893
-accelerometer: 9585390927,0.747356,-0.229956,9.46651
-accelerometer: 9585410916,0.0574889,0.0383259,9.63897
-accelerometer: 9585430905,-1.34141,0.0958148,9.48567
-accelerometer: 9585450894,-0.421585,0.114978,9.58148
-accelerometer: 9585470791,-0.651541,-0.0958148,9.35153
-accelerometer: 9585490841,-0.843171,0.019163,9.44734
-accelerometer: 9585510922,-0.632378,0.114978,10.0989
-accelerometer: 9585531094,-0.5174,-0.114978,9.42818
-accelerometer: 9585550961,0.172467,-0.364096,9.29404
-accelerometer: 9585570981,0.0958148,-0.670704,9.27488
-accelerometer: 9585590909,-0.689867,-0.804845,9.38986
-accelerometer: 9585610928,-0.402422,-0.440748,10.0414
-accelerometer: 9585630978,0.574889,0.0383259,9.61981
-accelerometer: 9585650967,1.24559,0.5174,9.48567
-accelerometer: 9585670956,0.632378,0.0766519,9.88809
-accelerometer: 9585690945,1.85881,-0.114978,9.40902
-accelerometer: 9585710965,0.747356,0.19163,10.7121
-accelerometer: 9585730954,2.08876,-0.287445,10.3097
-accelerometer: 9585751004,2.10793,0.172467,9.44734
-accelerometer: 9585770962,0.938986,-0.306608,9.81144
-accelerometer: 9585791073,0.210793,0.249119,9.08325
-accelerometer: 9585810971,0.268282,-1.47555,10.118
-accelerometer: 9585830990,0.747356,-0.440748,8.60417
-accelerometer: 9585850796,1.76299,-0.0958148,9.27488
-accelerometer: 9585871060,1.59053,-0.402422,9.37069
-irProximity:9585892437,0.290196
-accelerometer: 9585890927,2.26123,-0.421585,8.96827
-accelerometer: 9585910916,3.14273,-0.421585,7.49272
-accelerometer: 9585930935,3.29603,-1.3989,9.38986
-accelerometer: 9585950955,2.51035,-0.421585,8.62334
-accelerometer: 9585970944,2.68282,-0.651541,9.27488
-accelerometer: 9585990933,2.2229,-0.210793,9.6773
-irProximity:9585994305,0.301961
-accelerometer: 9586010861,2.68282,-1.11145,9.65814
-accelerometer: 9586031003,2.45286,-1.05396,9.524
-accelerometer: 9586050686,1.57136,-1.13062,9.92642
-accelerometer: 9586070889,0.594052,-0.402422,10.0989
-accelerometer: 9586090848,0.19163,0.019163,9.79228
-irProximity:9586095287,0.337255
-accelerometer: 9586111111,4.82907,-0.134141,9.96474
-accelerometer: 9586130917,-0.440748,-0.249119,10.8462
-proximity:9586144406,1
-accelerometer: 9586150937,-0.172467,-1.0348,10.233
-accelerometer: 9586170804,-0.498237,-0.651541,8.45087
-accelerometer: 9586190793,1.76299,0.287445,18.1473
-irProximity:9586196209,0.498039
-accelerometer: 9586210965,1.05396,-0.229956,14.1806
-accelerometer: 9586230954,1.07313,0.134141,8.24008
-accelerometer: 9586250943,0.804845,-0.0574889,9.33237
-accelerometer: 9586270962,-0.421585,-0.0574889,8.69999
-accelerometer: 9586290951,0.402422,0.268282,10.5396
-accelerometer: 9586310971,0.0383259,0,9.44734
-accelerometer: 9586330929,-0.0958148,0.172467,9.54316
-accelerometer: 9586350949,0.229956,-0.0766519,9.73479
-accelerometer: 9586370938,-0.344933,0.0383259,9.06409
-accelerometer: 9586390774,-0.0383259,0.019163,9.40902
-irProximity:9586397228,0.482353
-accelerometer: 9586410916,-0.153304,0.0766519,9.73479
-accelerometer: 9586430905,-0.19163,-0.0574889,9.37069
-accelerometer: 9586450924,0.019163,0.19163,9.46651
-accelerometer: 9586470975,-0.0958148,0.114978,9.75395
-accelerometer: 9586490933,-0.0574889,0,9.524
-accelerometer: 9586511380,-0.134141,0.0766519,9.46651
-accelerometer: 9586531003,-0.019163,0.114978,9.48567
-accelerometer: 9586551022,0.0766519,-4.90572,9.71563
-accelerometer: 9586570889,0.19163,-4.79074,9.60065
-accelerometer: 9586590787,0.114978,-0.0766519,9.44734
-irProximity:9586598125,0.509804
-accelerometer: 9586611081,-0.134141,0.172467,9.75395
-accelerometer: 9586630978,-0.19163,0.249119,9.56232
-accelerometer: 9586650937,-0.0383259,0.0383259,9.71563
-accelerometer: 9586670926,-0.268282,0.268282,9.61981
-accelerometer: 9586690976,-0.019163,-0.0383259,9.42818
-accelerometer: 9586710965,0.153304,0.019163,9.524
-accelerometer: 9586730954,0,0.19163,9.50483
-accelerometer: 9586750943,0.0574889,0.19163,9.56232
-accelerometer: 9586770932,-0.0766519,0.0574889,9.44734
-accelerometer: 9586790860,0.268282,-0.0766519,9.524
-irProximity:9586799084,0.505882
-accelerometer: 9586811032,-0.421585,0.19163,9.33237
-accelerometer: 9586831021,0.0766519,0.114978,9.50483
-accelerometer: 9586850552,-0.0574889,-0.0958148,9.54316
-accelerometer: 9586870602,-0.0958148,0.019163,9.81144
-accelerometer: 9586890805,0.114978,0.0958148,9.524
-accelerometer: 9586910763,-0.210793,0.268282,9.6773
-accelerometer: 9586930783,0.019163,0.0958148,9.63897
-accelerometer: 9586950802,-0.019163,0,9.61981
-accelerometer: 9586970883,0.153304,-0.0958148,9.6773
-accelerometer: 9586990628,-0.210793,0.0383259,9.50483
-irProximity:9586999859,0.501961
-accelerometer: 9587010769,0,0.0574889,9.71563
-accelerometer: 9587030575,-0.402422,0.0574889,9.56232
-accelerometer: 9587051022,1.01564,-0.670704,9.38986
-accelerometer: 9587071042,-0.689867,0.421585,9.98391
-accelerometer: 9587090878,-0.785682,0.364096,9.3132
-accelerometer: 9587110959,0.0574889,-0.0766519,9.56232
-accelerometer: 9587130948,0.0383259,-0.0766519,9.524
-accelerometer: 9587150967,-0.0574889,0.0766519,9.46651
-accelerometer: 9587170926,-0.0574889,0,9.73479
-accelerometer: 9587190793,-0.0383259,0.134141,9.50483
-irProximity:9587200909,0.494118
-accelerometer: 9587210965,0,0.0958148,9.71563
-accelerometer: 9587230984,0.114978,0.153304,9.61981
-accelerometer: 9587250943,0.172467,0.0574889,9.61981
-accelerometer: 9587270932,-0.019163,-0.019163,9.56232
-accelerometer: 9587290921,0.153304,-0.172467,9.61981
-accelerometer: 9587310971,-0.134141,0.0958148,9.65814
-accelerometer: 9587330990,-0.0766519,0.0383259,9.48567
-accelerometer: 9587350918,0.019163,0.019163,9.48567
-accelerometer: 9587370968,0.019163,0,9.40902
-accelerometer: 9587390835,0.268282,0.019163,9.73479
-irProximity:9587401775,0.486275
-accelerometer: 9587410916,0.0958148,0.0383259,9.58148
-accelerometer: 9587430935,-0.268282,4.79074,9.48567
-accelerometer: 9587450894,0.019163,0.114978,9.81144
-accelerometer: 9587470913,-0.0958148,0.0383259,9.37069
-accelerometer: 9587490750,0.249119,0.114978,9.6773
-accelerometer: 9587510922,0.0383259,4.88656,9.54316
-accelerometer: 9587531003,0,-0.229956,9.37069
-accelerometer: 9587550992,0.0766519,-0.0766519,9.524
-accelerometer: 9587570950,0,0.153304,9.69646
-accelerometer: 9587591000,-0.249119,4.77158,9.75395
-irProximity:9587602825,0.490196
-accelerometer: 9587610959,-0.0766519,0.153304,9.48567
-accelerometer: 9587630948,0,-0.134141,9.46651
-accelerometer: 9587650784,-0.0574889,0.0766519,9.58148
-accelerometer: 9587670804,-0.134141,0.172467,9.73479
-accelerometer: 9587690976,-0.0766519,-4.77158,9.38986
-accelerometer: 9587711087,-0.019163,-0.134141,9.63897
-accelerometer: 9587730954,0.019163,0.019163,9.48567
-accelerometer: 9587751004,4.75242,-0.0574889,9.54316
-accelerometer: 9587770962,-0.210793,4.88656,9.54316
-accelerometer: 9587790982,-0.019163,0.0958148,9.58148
-irProximity:9587803539,0.486275
-accelerometer: 9587811032,-0.019163,0.0574889,9.6773
-accelerometer: 9587830807,-0.0766519,-0.0958148,9.60065
-accelerometer: 9587850522,-0.229956,-0.019163,9.94558
-accelerometer: 9587870602,-0.172467,-0.114978,9.38986
-accelerometer: 9587890896,0.0958148,0.172467,9.84977
-accelerometer: 9587910916,-0.114978,-0.0766519,9.54316
-accelerometer: 9587930966,-0.019163,4.79074,9.79228
-accelerometer: 9587950924,0.0958148,0.0958148,9.56232
-accelerometer: 9587971005,0.0574889,0.019163,9.63897
-accelerometer: 9587991208,0.0574889,0.172467,9.35153
-accelerometer: 9588010769,0.153304,0.019163,9.77311
-accelerometer: 9588031003,0,0.0574889,9.60065
-accelerometer: 9588051022,0.019163,0.019163,9.48567
-accelerometer: 9588071011,0.019163,-0.114978,9.54316
-accelerometer: 9588091000,0.210793,4.80991,9.69646
-accelerometer: 9588110898,0.019163,0.134141,9.65814
-accelerometer: 9588130917,0.0383259,0.153304,9.8306
-accelerometer: 9588150815,0,-0.114978,9.54316
-accelerometer: 9588170956,0.0383259,0.0383259,9.46651
-accelerometer: 9588190915,-0.0383259,0.114978,9.50483
-accelerometer: 9588211056,0.0574889,-0.19163,9.50483
-accelerometer: 9588230893,0.0383259,0.114978,9.60065
-accelerometer: 9588250943,0.210793,-0.114978,9.60065
-accelerometer: 9588271054,0.172467,-0.0574889,9.54316
-accelerometer: 9588290921,-0.0383259,0.0766519,9.71563
-accelerometer: 9588311062,4.73325,-0.249119,10.8462
-accelerometer: 9588330899,-0.479074,0.364096,9.06409
-accelerometer: 9588350918,-0.210793,-0.114978,9.61981
-accelerometer: 9588370938,-0.402422,0.249119,9.50483
-accelerometer: 9588390927,-1.41806,-0.268282,9.29404
-irProximity:9588405773,0.490196
-accelerometer: 9588410916,0.459911,-0.287445,9.86893
-accelerometer: 9588430874,1.26476,0.70903,9.65814
-accelerometer: 9588450894,-0.862334,0.249119,8.22091
-accelerometer: 9588470669,-0.402422,0.134141,8.66166
-accelerometer: 9588490780,-0.306608,0.268282,9.21739
-accelerometer: 9588510891,-0.287445,0.0574889,8.92994
-accelerometer: 9588531125,-0.153304,0.0383259,9.35153
-accelerometer: 9588550747,-0.0958148,-0.114978,9.50483
-accelerometer: 9588570828,0.383259,-0.0574889,9.73479
-accelerometer: 9588590787,-0.613215,-0.977311,9.21739
-irProximity:9588606304,0.482353
-accelerometer: 9588610898,0.785682,-0.172467,14.3339
-accelerometer: 9588630917,5.03986,0.996474,4.27334
-accelerometer: 9588650631,0.229956,0.70903,12.8392
-accelerometer: 9588670865,-1.14978,-0.459911,8.81497
-accelerometer: 9588690945,-0.670704,0.421585,9.60065
-accelerometer: 9588710995,0,-0.153304,9.58148
-accelerometer: 9588731198,-0.019163,0.249119,9.48567
-accelerometer: 9588750912,-0.019163,-0.114978,9.61981
-accelerometer: 9588770993,0,0,9.56232
-accelerometer: 9588791104,0.0766519,0.0766519,9.6773
-irProximity:9588807232,0.478431
-accelerometer: 9588810818,0,-0.0574889,9.50483
-accelerometer: 9588830899,0.210793,-0.114978,9.524
-accelerometer: 9588850979,-0.0958148,4.84823,9.524
-accelerometer: 9588871029,0.0383259,-0.0574889,9.61981
-accelerometer: 9588891079,-0.114978,0.0958148,9.48567
-accelerometer: 9588913052,-0.0766519,-0.134141,9.524
-accelerometer: 9588930661,-0.019163,0.0574889,9.60065
-accelerometer: 9588950619,0.114978,0.306608,9.71563
-accelerometer: 9588970791,0.785682,0.402422,9.65814
-accelerometer: 9588991360,1.05396,0.402422,9.3132
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat
deleted file mode 100644
index 51cd0f3a..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_pickup.dat
+++ /dev/null
@@ -1,187 +0,0 @@
-irProximity:11429762653,0.290196
-orientation:11415310938,5
-accelerometer: 11429814295,-0.306608,-0.114978,9.92642
-accelerometer: 11429831079,-0.153304,-0.134141,10.0797
-accelerometer: 11429850794,-0.383259,0.0574889,10.0031
-irProximity:11429863544,0.294118
-accelerometer: 11429870538,-0.268282,-4.80991,9.61981
-proximity:11429874133,0
-accelerometer: 11429890802,-0.32577,0.172467,9.58148
-accelerometer: 11429910852,-0.536563,0.249119,9.42818
-accelerometer: 11429930811,-0.574889,0.364096,9.25571
-accelerometer: 11429950830,-0.421585,0.306608,9.40902
-accelerometer: 11429970819,-0.555726,0.268282,9.56232
-accelerometer: 11429990808,-0.459911,0.153304,9.6773
-accelerometer: 11430010797,-0.536563,0.0958148,9.63897
-accelerometer: 11430030786,-0.383259,0.0766519,9.92642
-accelerometer: 11430050836,-0.440748,0.0766519,9.54316
-accelerometer: 11430070795,-0.383259,0.153304,9.44734
-accelerometer: 11430090814,-0.479074,0.268282,9.524
-accelerometer: 11430110803,-0.19163,0.249119,9.40902
-accelerometer: 11430130823,-0.459911,0.153304,9.38986
-accelerometer: 11430150781,-0.421585,0.0958148,9.42818
-irProximity:11430166370,0.290196
-accelerometer: 11430170892,-0.651541,0.402422,9.79228
-accelerometer: 11430190820,-0.32577,0.210793,9.61981
-accelerometer: 11430210809,-0.613215,0.153304,9.61981
-accelerometer: 11430230798,-0.689867,0.421585,9.58148
-accelerometer: 11430251001,-0.421585,0.172467,9.56232
-irProximity:11430267139,0.294118
-accelerometer: 11430270990,-0.459911,0.0766519,9.42818
-accelerometer: 11430291010,-0.268282,0.114978,9.63897
-accelerometer: 11430310968,-0.459911,0.229956,9.48567
-accelerometer: 11430330957,-0.5174,0.0766519,9.44734
-accelerometer: 11430350916,-0.32577,0.0958148,9.60065
-accelerometer: 11430370905,-0.306608,0.383259,9.65814
-accelerometer: 11430390924,-0.5174,0.134141,9.60065
-accelerometer: 11430411066,-0.574889,0.421585,9.50483
-accelerometer: 11430430933,-0.344933,0.134141,9.50483
-accelerometer: 11430450952,-0.479074,0.19163,9.6773
-accelerometer: 11430470789,-0.249119,0.364096,9.58148
-accelerometer: 11430490900,-0.479074,0.229956,9.25571
-accelerometer: 11430510919,-0.594052,0.19163,9.38986
-accelerometer: 11430530939,-0.19163,0.0766519,9.25571
-accelerometer: 11430550958,-0.0958148,0.153304,9.79228
-accelerometer: 11430570947,0.210793,0.114978,9.81144
-accelerometer: 11430590967,0.594052,0.5174,9.12157
-accelerometer: 11430610895,-0.747356,0.90066,9.44734
-accelerometer: 11430630975,-1.80132,1.28392,9.44734
-accelerometer: 11430650934,-2.39537,2.0696,9.75395
-accelerometer: 11430670923,-3.29603,2.89361,11.1528
-accelerometer: 11430690942,-3.67929,2.85528,10.7313
-accelerometer: 11430710931,-2.9511,2.66365,10.4438
-accelerometer: 11430730920,-1.37973,0.977311,10.0797
-accelerometer: 11430750971,-0.344933,-0.440748,9.06409
-irProximity:11430770831,0.290196
-accelerometer: 11430774683,-0.172467,-1.24559,9.84977
-accelerometer: 11430790735,0.019163,-1.09229,8.69999
-accelerometer: 11430810846,-2.52951,0.306608,9.6773
-accelerometer: 11430830805,-3.89008,1.34141,13.7207
-accelerometer: 11430850794,0.0958148,1.85881,12.5901
-accelerometer: 11430870966,-2.39537,2.18458,12.1876
-accelerometer: 11430890772,-1.89713,0,12.8775
-accelerometer: 11430910822,-0.5174,0.172467,12.7625
-accelerometer: 11430930902,-0.651541,0.440748,11.3828
-accelerometer: 11430950922,-0.287445,1.60969,10.4438
-accelerometer: 11430970636,0.555726,1.80132,9.10241
-irProximity:11430972125,0.294118
-accelerometer: 11430990778,-0.440748,2.9511,5.57642
-accelerometer: 11431010828,-1.30308,4.36916,3.21938
-accelerometer: 11431030969,-0.249119,5.82554,3.66013
-orientation:11431030969,1
-accelerometer: 11431050653,0.019163,6.28545,3.08524
-accelerometer: 11431070734,0.344933,7.16695,3.50682
-accelerometer: 11431090936,0.728193,7.07114,4.23502
-accelerometer: 11431110956,0.306608,6.82202,3.75594
-accelerometer: 11431130945,0.268282,7.03281,4.59911
-accelerometer: 11431150964,-0.0574889,6.89867,5.34647
-accelerometer: 11431170770,0.019163,7.20528,5.55726
-accelerometer: 11431190912,-0.479074,7.10946,5.61475
-accelerometer: 11431210931,-0.632378,7.33942,5.97885
-accelerometer: 11431230951,-0.594052,7.51188,6.17048
-accelerometer: 11431251001,-0.344933,7.33942,6.38127
-accelerometer: 11431270776,-0.555726,7.64602,6.43876
-accelerometer: 11431290888,-0.306608,7.49272,6.74537
-accelerometer: 11431310877,-0.114978,7.58854,6.40043
-accelerometer: 11431330927,-0.0958148,7.51188,6.30462
-accelerometer: 11431350733,-0.210793,7.33942,6.07466
-accelerometer: 11431370752,-0.19163,7.33942,5.95968
-accelerometer: 11431390894,-0.268282,7.47356,6.07466
-accelerometer: 11431410944,-0.287445,7.32025,5.99801
-accelerometer: 11431430933,-0.229956,7.39691,6.07466
-accelerometer: 11431450922,-0.153304,7.18611,6.24713
-accelerometer: 11431470758,-0.19163,7.20528,6.07466
-accelerometer: 11431490900,-0.229956,7.51188,6.34294
-accelerometer: 11431510950,-0.210793,7.2436,6.22797
-accelerometer: 11431531000,-0.383259,7.35858,6.40043
-accelerometer: 11431550989,-0.402422,7.33942,6.63039
-accelerometer: 11431570764,-0.459911,7.55021,6.38127
-accelerometer: 11431590906,-0.383259,7.53105,6.36211
-accelerometer: 11431610986,-0.210793,7.28193,6.76453
-accelerometer: 11431631006,-0.172467,7.26277,6.61122
-accelerometer: 11431651025,-0.19163,7.10946,6.53457
-accelerometer: 11431670801,-0.134141,7.10946,6.47708
-accelerometer: 11431690973,-0.134141,7.03281,6.63039
-accelerometer: 11431710993,-0.210793,7.12862,6.36211
-accelerometer: 11431730920,-0.210793,7.12862,6.59206
-accelerometer: 11431754114,-0.229956,7.26277,6.5729
-accelerometer: 11431775476,-0.172467,7.20528,6.5729
-accelerometer: 11431790796,-0.153304,7.05197,6.34294
-accelerometer: 11431810816,-0.019163,7.28193,6.45792
-accelerometer: 11431830774,-0.229956,7.0903,6.34294
-accelerometer: 11431850824,-0.229956,7.12862,6.47708
-accelerometer: 11431870813,-0.0383259,7.0903,6.49625
-accelerometer: 11431890772,-0.229956,7.07114,6.38127
-accelerometer: 11431910822,-0.306608,7.32025,6.45792
-accelerometer: 11431930933,-0.0766519,7.28193,6.49625
-accelerometer: 11431950952,-0.153304,7.20528,6.61122
-accelerometer: 11431970819,-0.114978,7.16695,6.53457
-accelerometer: 11431990808,-0.19163,7.07114,6.49625
-accelerometer: 11432010950,-0.0766519,7.16695,6.59206
-accelerometer: 11432030939,-0.229956,7.03281,6.51541
-accelerometer: 11432050958,-0.287445,7.0903,6.49625
-accelerometer: 11432070795,-0.114978,7.01365,6.53457
-accelerometer: 11432090906,-0.134141,7.12862,6.43876
-accelerometer: 11432110956,-0.249119,7.01365,6.2088
-accelerometer: 11432130945,-0.210793,7.0903,6.64955
-accelerometer: 11432150995,-0.210793,6.84118,6.66871
-accelerometer: 11432170892,-0.0766519,6.95616,6.937
-accelerometer: 11432190942,-0.134141,7.03281,6.7262
-accelerometer: 11432210962,-0.344933,6.82202,6.55374
-accelerometer: 11432230798,-0.268282,7.01365,6.38127
-accelerometer: 11432250971,-0.421585,6.78369,6.51541
-accelerometer: 11432270960,0.114978,6.15131,6.70704
-accelerometer: 11432290918,-0.19163,6.40043,6.7262
-accelerometer: 11432310938,-0.364096,6.13215,6.80285
-accelerometer: 11432330957,0.114978,6.34294,7.05197
-accelerometer: 11432350916,0.344933,6.0555,7.41607
-orientation:11432350916,5
-accelerometer: 11432371027,0.0958148,5.78722,7.6077
-accelerometer: 11432390863,-0.153304,5.26982,7.79933
-accelerometer: 11432410913,0.134141,5.40396,8.01012
-accelerometer: 11432430963,0.114978,5.5381,7.85682
-accelerometer: 11432450922,-0.0766519,5.28898,7.79933
-accelerometer: 11432470819,0,4.96321,7.6077
-accelerometer: 11432490900,-0.019163,4.82907,7.83765
-accelerometer: 11432510950,-0.0766519,4.15836,7.89514
-accelerometer: 11432530939,0.32577,3.2577,7.95263
-accelerometer: 11432550928,0.172467,3.85176,7.68435
-accelerometer: 11432570917,-0.402422,2.87445,7.18611
-accelerometer: 11432590875,0.019163,1.93546,6.99448
-accelerometer: 11432610986,0.632378,1.41806,8.50836
-accelerometer: 11432630975,0.440748,1.01564,10.7504
-accelerometer: 11432650995,-0.134141,1.20727,10.5588
-accelerometer: 11432670953,-0.536563,1.3989,9.61981
-accelerometer: 11432690942,-0.459911,1.26476,9.54316
-accelerometer: 11432710962,-0.019163,1.32224,10.1947
-accelerometer: 11432730951,0.210793,1.22643,10.5588
-accelerometer: 11432750971,0.728193,0.536563,10.0031
-accelerometer: 11432774439,0.287445,0.651541,10.9421
-irProximity:11432786975,0.290196
-accelerometer: 11432790796,0.249119,0.172467,10.5396
-accelerometer: 11432810816,-0.0383259,0.32577,11.0379
-accelerometer: 11432830835,-0.229956,0.249119,10.5396
-accelerometer: 11432850763,-0.114978,-0.498237,10.0031
-accelerometer: 11432870813,-0.32577,0,10.0222
-accelerometer: 11432890802,-0.364096,4.84823,10.0031
-accelerometer: 11432910822,-0.306608,-0.402422,10.1372
-accelerometer: 11432930933,0.383259,-0.594052,10.0606
-accelerometer: 11432950952,0.32577,-0.689867,9.77311
-accelerometer: 11432970911,0.0574889,-0.459911,5.09735
-accelerometer: 11432990747,0.153304,-0.70903,9.75395
-accelerometer: 11433010858,0.306608,-0.804845,9.71563
-accelerometer: 11433030939,-0.153304,-0.824008,9.61981
-accelerometer: 11433050928,0.249119,-0.785682,9.50483
-accelerometer: 11433070947,0.134141,-1.01564,9.73479
-accelerometer: 11433090906,0.0766519,-0.804845,9.50483
-accelerometer: 11433110986,0.134141,-1.0348,9.61981
-accelerometer: 11433130975,0.0958148,-0.785682,8.75748
-accelerometer: 11433150995,-0.0766519,-0.766519,10.0222
-accelerometer: 11433170953,-0.0958148,-0.344933,10.0222
-accelerometer: 11433191004,-0.0574889,-0.498237,9.8306
-accelerometer: 11433210596,-0.153304,-0.862334,9.86893
-accelerometer: 11433230676,-0.268282,-0.824008,9.63897
-accelerometer: 11433250635,-0.172467,-0.728193,9.6773
-accelerometer: 11433270807,0.0383259,-1.11145,9.48567
-accelerometer: 11433290735,-0.210793,-0.632378,9.524
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat
deleted file mode 100644
index 043eb3b7..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shake2.dat
+++ /dev/null
@@ -1,195 +0,0 @@
-accelerometer: 11433310724,0.172467,-0.536563,9.60065
-orientation:11432350916,5
-accelerometer: 11433410822,0.249119,-0.459911,9.65814
-accelerometer: 11433430963,0.0766519,-0.440748,9.48567
-accelerometer: 11433450800,-0.019163,-0.364096,9.54316
-irProximity:11433458636,0.290196
-proximity:11433464374,0
-accelerometer: 11433470880,-0.0574889,-0.594052,9.56232
-accelerometer: 11433490930,-0.0383259,-0.689867,9.58148
-accelerometer: 11433510950,-4.84823,-0.651541,9.54316
-accelerometer: 11433530939,-0.0574889,-0.5174,9.50483
-accelerometer: 11433550928,0.0574889,-0.32577,9.65814
-irProximity:11433564960,0.294118
-accelerometer: 11433570917,-0.172467,-0.632378,9.54316
-accelerometer: 11433590997,-0.249119,-0.459911,9.6773
-accelerometer: 11433610956,-0.134141,-0.5174,14.4872
-accelerometer: 11433631006,0.019163,-0.574889,9.65814
-accelerometer: 11433650964,0.19163,-0.555726,9.73479
-irProximity:11433665851,0.290196
-accelerometer: 11433670801,0.0383259,-0.574889,9.3132
-accelerometer: 11433690973,-0.153304,-0.555726,9.35153
-accelerometer: 11433710993,-0.114978,-0.383259,9.61981
-accelerometer: 11433730951,0.153304,-0.402422,9.54316
-accelerometer: 11433750971,0.0574889,-0.498237,9.37069
-accelerometer: 11433772974,-0.114978,-0.479074,9.71563
-accelerometer: 11433790674,-0.0574889,-0.421585,9.524
-accelerometer: 11433810816,-0.0574889,-0.440748,9.524
-accelerometer: 11433830805,0.0766519,-0.498237,9.60065
-accelerometer: 11433850794,0.0766519,-0.479074,9.524
-accelerometer: 11433870722,0.19163,-0.632378,9.44734
-accelerometer: 11433890802,0.287445,-0.498237,9.6773
-accelerometer: 11433910822,0.0574889,-0.229956,9.42818
-accelerometer: 11433930963,0,-0.440748,9.42818
-accelerometer: 11433950952,0.114978,-0.574889,9.50483
-irProximity:11433968219,0.294118
-accelerometer: 11433970819,-0.0383259,-0.594052,9.524
-accelerometer: 11433990778,-0.0958148,-0.459911,9.54316
-accelerometer: 11434010706,0,-0.555726,9.86893
-accelerometer: 11434030908,-0.0383259,-0.364096,9.61981
-accelerometer: 11434050958,-0.0958148,-0.421585,9.61981
-irProximity:11434068988,0.290196
-accelerometer: 11434070947,0.229956,-0.306608,9.56232
-accelerometer: 11434090936,0.114978,-0.306608,9.46651
-accelerometer: 11434110925,-0.421585,-0.651541,9.46651
-accelerometer: 11434130945,0.306608,-0.402422,9.524
-accelerometer: 11434150995,0.919823,-0.440748,9.75395
-accelerometer: 11434170740,0.134141,-0.32577,9.69646
-accelerometer: 11434191004,0.153304,-0.0958148,9.71563
-accelerometer: 11434210962,0.479074,-0.268282,9.98391
-accelerometer: 11434230982,0.344933,-0.0958148,9.81144
-accelerometer: 11434250910,0.555726,-0.0958148,9.46651
-accelerometer: 11434271051,0.114978,0.651541,9.92642
-accelerometer: 11434290949,-0.919823,0.536563,9.3132
-accelerometer: 11434310968,-4.36916,4.54162,10.8846
-accelerometer: 11434330927,-3.4685,6.7262,9.86893
-accelerometer: 11434350946,-4.56079,2.64449,13.7207
-irProximity:11434370898,0.294118
-accelerometer: 11434370783,-2.93193,-1.80132,15.522
-accelerometer: 11434390924,-3.02775,-9.63897,17.1892
-accelerometer: 11434410974,0.555726,-4.52246,15.9436
-accelerometer: 11434430963,8.10594,-0.70903,10.0414
-accelerometer: 11434450983,12.0535,2.33788,3.79427
-accelerometer: 11434471063,16.0011,6.45792,-0.306608
-accelerometer: 11434490900,14.3147,9.42818,-4.77158
-accelerometer: 11434510919,-4.84823,8.01012,-5.6914
-accelerometer: 11434530969,-36.1222,-4.63744,0.153304
-accelerometer: 11434550958,-39.2458,-18.4348,17.1892
-accelerometer: 11434570551,-23.3022,-16.9784,33.6118
-accelerometer: 11434590967,5.42312,-9.02576,27.633
-accelerometer: 11434610712,35.1257,-1.41806,19.987
-accelerometer: 11434630914,39.2266,13.0691,6.74537
-accelerometer: 11434650781,39.2266,12.2643,-2.7403
-accelerometer: 11434670557,29.166,1.09229,-7.01365
-accelerometer: 11434690973,-9.40902,-12.3218,-6.32378
-accelerometer: 11434710779,-39.2458,-16.9209,2.93193
-accelerometer: 11434730982,-39.2458,-16.9017,15.7136
-accelerometer: 11434750971,-39.2458,-20.9643,26.8665
-accelerometer: 11434772913,-12.82,-8.96827,25.4867
-irProximity:11434774890,0.290196
-accelerometer: 11434790796,19.0288,-5.28898,17.0742
-accelerometer: 11434810816,39.2266,10.1947,8.92994
-accelerometer: 11434830835,39.2266,6.84118,1.34141
-accelerometer: 11434850824,39.2266,-0.651541,1.78216
-accelerometer: 11434870813,20.3127,-0.459911,-4.12004
-irProximity:11434875873,0.294118
-accelerometer: 11434890802,-10.7504,-8.92994,-2.70198
-accelerometer: 11434910822,-38.4218,-7.53105,3.52599
-accelerometer: 11434930963,-39.2458,-5.48061,14.8705
-accelerometer: 11434950952,-39.2458,-11.881,24.2028
-accelerometer: 11434970789,-21.0026,-10.5588,24.6436
-accelerometer: 11434990808,5.28898,-6.2088,19.1055
-accelerometer: 11435010828,29.5301,-1.64802,12.0535
-accelerometer: 11435030969,39.2266,8.60417,1.3989
-accelerometer: 11435050928,39.1499,-1.51387,-3.85176
-accelerometer: 11435070764,29.7409,-2.26123,-2.7403
-irProximity:11435077655,0.298039
-accelerometer: 11435090936,5.80638,-1.24559,-4.31167
-accelerometer: 11435110925,-19.3163,-5.03986,0.670704
-accelerometer: 11435130975,-39.0541,-2.31872,11.5361
-accelerometer: 11435150964,-36.218,-3.83259,20.2936
-accelerometer: 11435170801,-24.4328,-3.6218,24.107
-irProximity:11435178607,0.294118
-accelerometer: 11435190973,-6.66871,0.0383259,19.9103
-accelerometer: 11435210962,6.18964,2.60616,15.4262
-accelerometer: 11435230951,8.04845,7.14779,10.4821
-accelerometer: 11435250971,12.226,4.12004,4.86739
-accelerometer: 11435270776,7.41607,2.52951,4.10088
-accelerometer: 11435290888,5.94052,1.95462,4.25418
-orientation:11435290888,4
-accelerometer: 11435310968,2.41453,2.37621,5.72973
-accelerometer: 11435330896,-1.09229,0.555726,7.58854
-accelerometer: 11435350733,-1.14978,-0.268282,7.55021
-orientation:11435350733,5
-accelerometer: 11435370783,-1.22643,0.268282,7.87598
-irProximity:11435380481,0.298039
-accelerometer: 11435390955,-2.52951,0.0383259,9.04492
-accelerometer: 11435411005,-1.22643,-0.574889,10.9995
-accelerometer: 11435430963,-0.594052,0.364096,11.2487
-accelerometer: 11435450952,-0.0766519,1.3989,11.0379
-accelerometer: 11435470819,-0.19163,1.41806,10.5971
-irProximity:11435481189,0.294118
-accelerometer: 11435490930,-0.32577,1.51387,10.233
-accelerometer: 11435510919,-0.594052,1.37973,9.94558
-accelerometer: 11435530969,-0.172467,0.843171,10.0797
-accelerometer: 11435550928,0.306608,0.843171,10.2139
-accelerometer: 11435570917,0,0.938986,10.1372
-accelerometer: 11435590906,-0.210793,1.20727,10.463
-accelerometer: 11435611047,-0.344933,0.785682,9.8306
-accelerometer: 11435631006,-0.364096,0.766519,9.19823
-accelerometer: 11435650964,-0.364096,0.958148,9.524
-accelerometer: 11435670953,-0.459911,0.0958148,9.6773
-accelerometer: 11435690912,-0.287445,-0.287445,9.81144
-accelerometer: 11435710931,0.0766519,-0.594052,9.88809
-accelerometer: 11435730890,-0.0958148,-0.689867,8.92994
-accelerometer: 11435750971,-0.555726,-0.421585,8.1251
-accelerometer: 11435774011,-0.402422,-0.5174,8.73831
-accelerometer: 11435790796,-0.0958148,0.114978,9.81144
-accelerometer: 11435810816,0.249119,0.459911,10.8271
-accelerometer: 11435830743,0.651541,-0.249119,10.1755
-accelerometer: 11435850794,0,-0.632378,9.06409
-accelerometer: 11435870813,0.364096,-1.07313,9.35153
-accelerometer: 11435890802,-0.0574889,-1.68634,9.38986
-accelerometer: 11435910852,0.0958148,-1.7055,9.98391
-accelerometer: 11435930933,0.229956,-1.22643,10.118
-accelerometer: 11435950952,0.344933,-0.479074,10.0222
-accelerometer: 11435970941,0.498237,-0.747356,9.42818
-irProximity:11435984942,0.290196
-accelerometer: 11435990808,0,-0.670704,9.27488
-accelerometer: 11436010919,0.0766519,-0.785682,9.63897
-accelerometer: 11436030939,0.0766519,-0.938986,9.81144
-accelerometer: 11436050928,0.0766519,-1.09229,10.4438
-accelerometer: 11436070917,0,-0.670704,10.118
-irProximity:11436085742,0.294118
-accelerometer: 11436090967,0.421585,-0.766519,9.50483
-accelerometer: 11436110956,0.268282,-0.479074,9.25571
-accelerometer: 11436130975,0.364096,-0.785682,9.40902
-accelerometer: 11436150995,0.210793,-0.824008,9.8306
-accelerometer: 11436170984,-0.0383259,-0.804845,9.69646
-accelerometer: 11436190973,0.114978,-0.613215,9.73479
-accelerometer: 11436210962,0.210793,-0.977311,9.50483
-accelerometer: 11436230951,0.32577,-0.651541,9.84977
-accelerometer: 11436250940,0.268282,-0.766519,9.73479
-accelerometer: 11436270960,0.440748,-0.747356,9.6773
-accelerometer: 11436290888,0.19163,-0.785682,9.8306
-accelerometer: 11436310968,0.0574889,-0.938986,9.58148
-accelerometer: 11436330927,0.287445,-0.613215,9.38986
-accelerometer: 11436350946,0.114978,-0.594052,9.54316
-accelerometer: 11436370966,0.32577,-0.555726,9.50483
-accelerometer: 11436390863,0.268282,-0.632378,9.524
-accelerometer: 11436410913,0.172467,-0.632378,9.56232
-accelerometer: 11436430902,0.172467,-0.651541,9.54316
-accelerometer: 11436450891,0.0574889,-0.555726,9.69646
-accelerometer: 11436470758,0.0574889,-0.651541,9.71563
-irProximity:11436488848,0.290196
-accelerometer: 11436490930,0.0574889,-0.881497,9.46651
-accelerometer: 11436510919,0.0766519,-0.574889,9.48567
-accelerometer: 11436531000,0.249119,-0.632378,9.73479
-accelerometer: 11436550928,0.19163,-0.555726,9.60065
-accelerometer: 11436570947,0.344933,-0.632378,9.54316
-irProximity:11436589709,0.294118
-accelerometer: 11436590997,0.114978,-0.651541,9.61981
-accelerometer: 11436611444,0.287445,-0.613215,9.48567
-accelerometer: 11436630945,0.344933,-0.728193,9.71563
-accelerometer: 11436650934,0.402422,-0.594052,9.84977
-accelerometer: 11436670801,0,-0.32577,8.73831
-irProximity:11436690264,0.290196
-accelerometer: 11436690942,0.019163,-0.670704,9.38986
-accelerometer: 11436710931,0.153304,-0.670704,9.65814
-accelerometer: 11436730982,-0.114978,-0.651541,9.56232
-accelerometer: 11436750971,0.0766519,-0.555726,10.0606
-accelerometer: 11436772852,0.019163,-0.670704,9.77311
-irProximity:11436790789,0.294118
-accelerometer: 11436790704,-0.019163,-0.670704,9.79228
-accelerometer: 11436810907,0,-0.536563,9.71563
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat
deleted file mode 100644
index 8cf7ae5d..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeDown.dat
+++ /dev/null
@@ -1,204 +0,0 @@
-orientation:13225890802,5
-accelerometer: 13229240930,0.440748,0.0574889,9.17906
-accelerometer: 13229260828,0.153304,-0.0958148,9.8306
-irProximity:13229277799,0.290196
-accelerometer: 13229281213,-0.19163,0.268282,10.348
-proximity:13229284025,0
-accelerometer: 13229300958,-0.249119,0.632378,9.88809
-accelerometer: 13229320764,-0.5174,0.881497,9.19823
-accelerometer: 13229340814,-0.402422,1.1881,9.02576
-accelerometer: 13229360742,-0.249119,1.57136,9.98391
-irProximity:13229379392,0.294118
-accelerometer: 13229380853,-0.287445,1.45639,10.2714
-accelerometer: 13229400812,-0.402422,1.57136,9.25571
-accelerometer: 13229420770,-0.632378,1.47555,8.89162
-accelerometer: 13229440820,-0.651541,0.958148,9.54316
-accelerometer: 13229460809,-0.5174,1.0348,9.54316
-accelerometer: 13229480859,-0.440748,0.555726,9.77311
-accelerometer: 13229500787,0.402422,-0.843171,9.81144
-accelerometer: 13229520807,1.07313,-0.306608,9.71563
-accelerometer: 13229540827,-0.134141,0.632378,8.60417
-accelerometer: 13229560816,-1.47555,2.08876,9.524
-irProximity:13229580778,0.298039
-accelerometer: 13229581018,-1.01564,2.51035,9.58148
-accelerometer: 13229600671,-0.919823,1.99295,9.79228
-accelerometer: 13229620813,-0.766519,0.958148,8.68083
-accelerometer: 13229640772,-0.862334,0.114978,8.29757
-accelerometer: 13229660639,-0.938986,0.555726,8.31673
-accelerometer: 13229680902,-0.0574889,0.958148,7.83765
-accelerometer: 13229700800,2.31872,2.12709,13.3758
-accelerometer: 13229720819,2.18458,1.99295,10.6546
-accelerometer: 13229740717,1.76299,1.7055,8.81497
-accelerometer: 13229760736,2.54868,0.938986,9.08325
-accelerometer: 13229780573,2.45286,0.977311,9.1599
-irProximity:13229782651,0.301961
-accelerometer: 13229800775,1.24559,1.82048,10.2905
-accelerometer: 13229820764,1.28392,1.59053,9.33237
-accelerometer: 13229840814,2.12709,1.87797,8.7958
-accelerometer: 13229860834,2.14625,0.824008,8.98743
-accelerometer: 13229880823,1.9163,1.0348,9.48567
-irProximity:13229883390,0.294118
-accelerometer: 13229900781,2.10793,0.881497,10.0031
-accelerometer: 13229920801,1.68634,0.421585,9.75395
-accelerometer: 13229940820,1.32224,0.32577,9.6773
-accelerometer: 13229960779,1.85881,0.862334,10.1755
-accelerometer: 13229980524,1.30308,0.5174,9.54316
-accelerometer: 13230000818,1.68634,0.843171,9.65814
-accelerometer: 13230020837,1.59053,0.210793,9.10241
-accelerometer: 13230040796,1.64802,0.268282,9.29404
-accelerometer: 13230060785,1.05396,0.249119,9.81144
-accelerometer: 13230080805,1.13062,0.364096,9.71563
-accelerometer: 13230100794,1.37973,0.440748,9.81144
-accelerometer: 13230120813,1.1881,0.32577,9.56232
-accelerometer: 13230140772,0.824008,0.498237,9.27488
-accelerometer: 13230160822,0.862334,0.536563,9.63897
-accelerometer: 13230180841,0.843171,0.459911,8.91078
-accelerometer: 13230200739,1.0348,0.728193,9.29404
-accelerometer: 13230220819,0.70903,1.07313,9.71563
-accelerometer: 13230241022,0,0.919823,9.42818
-accelerometer: 13230260950,0.536563,1.36057,9.29404
-accelerometer: 13230280847,0.498237,1.16894,9.21739
-accelerometer: 13230300928,-0.268282,1.41806,8.96827
-accelerometer: 13230320917,0,1.5522,8.43171
-accelerometer: 13230340936,0.114978,1.41806,8.08677
-accelerometer: 13230360925,0.0766519,-0.70903,8.98743
-accelerometer: 13230380823,-0.134141,-3.06608,10.9229
-irProximity:13230387571,0.290196
-accelerometer: 13230400873,0.632378,-15.1962,14.6597
-accelerometer: 13230420953,-5.0207,-32.3854,19.2779
-accelerometer: 13230441004,-8.66166,-35.8348,19.1055
-accelerometer: 13230460931,-0.824008,-20.102,8.37422
-accelerometer: 13230480829,8.14426,4.61828,0.824008
-accelerometer: 13230500971,18.4731,36.1605,4.40748
-accelerometer: 13230520960,28.3804,39.2266,11.9769
-accelerometer: 13230540949,25.0077,39.2266,14.0273
-accelerometer: 13230560938,14.928,27.4989,12.9542
-accelerometer: 13230580805,3.56431,8.56585,12.7434
-irProximity:13230589383,0.294118
-accelerometer: 13230600916,-6.36211,-12.935,9.25571
-accelerometer: 13230620966,-9.44734,-31.5997,12.9925
-accelerometer: 13230641046,-9.0066,-39.2458,16.8251
-accelerometer: 13230661157,-7.37774,-39.2458,20.0445
-accelerometer: 13230680994,0.0766519,-38.2301,15.0621
-irProximity:13230690397,0.290196
-accelerometer: 13230701379,8.1251,-17.5724,7.99096
-accelerometer: 13230721368,11.5553,0.632378,8.25924
-accelerometer: 13230741480,14.3531,23.8579,10.118
-accelerometer: 13230761835,13.2224,38.9008,14.2764
-accelerometer: 13230781641,12.2451,39.2266,19.6037
-irProximity:13230791379,0.294118
-accelerometer: 13230800653,9.58148,39.2266,18.7797
-accelerometer: 13230821283,2.14625,26.5599,12.9542
-accelerometer: 13230841425,-4.59911,8.18259,6.11299
-accelerometer: 13230860803,-5.84471,-9.75395,0.728193
-accelerometer: 13230880853,-1.93546,-39.1691,1.45639
-irProximity:13230892423,0.290196
-accelerometer: 13230900781,-1.14978,-39.2458,15.3112
-accelerometer: 13230920770,4.06255,-39.2458,21.0793
-accelerometer: 13230940820,10.7313,-39.2458,9.63897
-accelerometer: 13230960809,14.5639,-15.1579,4.5033
-accelerometer: 13230980798,13.2799,6.18964,7.74184
-irProximity:13230993223,0.294118
-accelerometer: 13231000635,16.0969,35.6431,14.7746
-accelerometer: 13231020990,17.5533,39.2266,23.8387
-accelerometer: 13231040949,17.8216,39.2266,27.9588
-accelerometer: 13231060968,8.16343,39.2266,21.6542
-accelerometer: 13231080927,-1.1881,19.3929,11.2678
-accelerometer: 13231100946,-8.01012,-1.83965,2.62533
-accelerometer: 13231121027,-3.2577,-25.0843,2.37621
-accelerometer: 13231141016,0.498237,-39.2458,12.3218
-accelerometer: 13231161035,2.29956,-39.2458,23.7238
-accelerometer: 13231180994,8.52752,-39.2458,14.0465
-irProximity:13231194883,0.290196
-accelerometer: 13231201044,14.7746,-23.5321,1.82048
-accelerometer: 13231220575,15.3495,4.15836,1.13062
-accelerometer: 13231240595,17.1125,27.0389,7.62686
-accelerometer: 13231260797,19.0097,39.2074,14.7363
-accelerometer: 13231280939,16.3843,38.7475,24.5094
-irProximity:13231295713,0.294118
-accelerometer: 13231300958,9.94558,26.8282,19.8337
-accelerometer: 13231320947,2.62533,10.3672,16.6143
-accelerometer: 13231340936,-3.02775,-2.14625,13.165
-accelerometer: 13231361078,-5.88303,-10.233,9.90726
-accelerometer: 13231381067,-6.51541,-10.6738,10.3672
-accelerometer: 13231400995,-4.17753,-9.33237,6.89867
-accelerometer: 13231421014,-0.689867,-5.74889,7.64602
-accelerometer: 13231440973,0.306608,-4.36916,9.42818
-accelerometer: 13231461054,0.0574889,-2.7403,10.4438
-accelerometer: 13231480798,0.249119,-1.32224,10.5396
-accelerometer: 13231500910,-0.134141,-0.938986,9.12157
-accelerometer: 13231520960,-0.574889,0,7.99096
-accelerometer: 13231540918,4.79074,0.249119,8.02928
-accelerometer: 13231560938,0,0.938986,8.20175
-accelerometer: 13231580927,0.613215,0.0766519,8.96827
-accelerometer: 13231600885,1.05396,-0.440748,9.54316
-accelerometer: 13231620935,0.766519,0.229956,9.17906
-accelerometer: 13231640924,0.555726,-0.114978,9.63897
-accelerometer: 13231661005,0.459911,-0.153304,10.6354
-accelerometer: 13231680963,0.0958148,-0.881497,10.8654
-accelerometer: 13231700922,-0.114978,-1.47555,10.6354
-accelerometer: 13231720972,-0.249119,-2.20374,10.3097
-accelerometer: 13231740930,-0.19163,-2.35705,10.9612
-accelerometer: 13231760950,-0.383259,-1.97379,10.5013
-accelerometer: 13231780817,-0.862334,-2.03127,9.6773
-accelerometer: 13231800806,-0.594052,-1.45639,9.75395
-accelerometer: 13231820795,-0.651541,-1.36057,9.63897
-accelerometer: 13231840845,-0.5174,-1.16894,9.23655
-accelerometer: 13231860803,-0.0574889,-0.977311,9.10241
-accelerometer: 13231880823,4.73325,-1.28392,9.46651
-irProximity:13231900327,0.290196
-accelerometer: 13231900781,-0.594052,-1.26476,9.6773
-accelerometer: 13231920923,-0.153304,-1.07313,9.21739
-accelerometer: 13231940973,-0.287445,-0.824008,9.48567
-accelerometer: 13231960962,-0.0766519,-1.22643,10.2905
-accelerometer: 13231980920,-0.249119,-1.09229,10.2139
-accelerometer: 13232001032,-0.172467,-1.20727,9.88809
-accelerometer: 13232020929,0.134141,-0.881497,9.50483
-accelerometer: 13232040918,-0.210793,-0.459911,9.17906
-accelerometer: 13232060968,0.249119,-0.689867,9.19823
-accelerometer: 13232080927,0.0958148,-1.11145,9.88809
-accelerometer: 13232101068,0.114978,-1.26476,9.44734
-accelerometer: 13232120966,0.0766519,-0.728193,9.48567
-accelerometer: 13232140955,0.287445,-0.594052,9.524
-accelerometer: 13232160974,0.536563,-0.632378,9.61981
-accelerometer: 13232181085,0.364096,-0.670704,9.21739
-accelerometer: 13232200556,0.134141,-0.383259,8.73831
-accelerometer: 13232220758,0.306608,-0.536563,9.60065
-accelerometer: 13232240961,0.555726,-0.689867,9.60065
-accelerometer: 13232260919,0.651541,-0.555726,9.40902
-accelerometer: 13232281152,0.479074,-0.479074,9.44734
-accelerometer: 13232300714,0.594052,-0.785682,9.46651
-accelerometer: 13232320917,0.229956,-0.766519,9.65814
-accelerometer: 13232340967,0.574889,-0.479074,9.21739
-accelerometer: 13232360956,0.5174,-0.594052,9.77311
-accelerometer: 13232380945,0.344933,-0.632378,9.73479
-accelerometer: 13232400751,0.153304,-0.536563,9.56232
-irProximity:13232404264,0.294118
-accelerometer: 13232420892,0.306608,-0.498237,9.48567
-accelerometer: 13232441004,0.364096,-0.498237,9.46651
-accelerometer: 13232460993,0.440748,-0.421585,9.37069
-accelerometer: 13232480951,0.172467,-0.344933,9.79228
-accelerometer: 13232500787,0.306608,-0.536563,9.58148
-accelerometer: 13232520899,0.0383259,-0.459911,9.48567
-accelerometer: 13232540949,0.287445,-0.536563,9.77311
-accelerometer: 13232560968,0.383259,-0.574889,9.46651
-accelerometer: 13232580988,0.172467,-0.383259,9.50483
-accelerometer: 13232600794,0.0383259,-0.440748,9.54316
-accelerometer: 13232620935,0.134141,-0.364096,9.73479
-accelerometer: 13232640924,0.306608,-0.574889,9.61981
-accelerometer: 13232660974,0.287445,-0.632378,9.17906
-accelerometer: 13232680933,-0.594052,-0.594052,8.92994
-accelerometer: 13232700800,-0.689867,-0.0958148,9.42818
-irProximity:13232706907,0.290196
-accelerometer: 13232720941,0.268282,-0.670704,9.58148
-accelerometer: 13232740930,0.153304,-0.459911,9.88809
-accelerometer: 13232761011,0.229956,-0.536563,10.2905
-accelerometer: 13232780908,0.32577,-0.613215,9.96474
-accelerometer: 13232800806,0.383259,-0.268282,9.8306
-irProximity:13232807828,0.294118
-accelerometer: 13232820551,0.019163,-0.114978,9.84977
-accelerometer: 13232840845,-0.0383259,0.0383259,9.60065
-accelerometer: 13232860773,-0.766519,-0.0383259,9.1599
-accelerometer: 13232880792,-4.75242,-0.5174,8.47003
-accelerometer: 13232900781,0,-0.114978,9.77311
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat
deleted file mode 100644
index a4360a7d..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeLeft.dat
+++ /dev/null
@@ -1,196 +0,0 @@
-orientation:14224200525,5
-accelerometer: 14226290643,0.785682,1.49409e-39,9.04492
-accelerometer: 14226310632,0.459911,-0.632378,9.3132
-accelerometer: 14226330530,0.574889,-0.632378,9.46651
-accelerometer: 14226350671,-0.0766519,-0.536563,9.98391
-accelerometer: 14226370569,-0.459911,0.0383259,10.7313
-accelerometer: 14226390558,-0.306608,-0.287445,9.77311
-accelerometer: 14226418176,-0.0383259,4.80991,8.94911
-accelerometer: 14226430566,-0.0383259,0.574889,8.94911
-irProximity:14226432156,0.290196
-accelerometer: 14226450556,-0.287445,-0.229956,9.38986
-accelerometer: 14226470575,-0.229956,-0.344933,9.35153
-proximity:14226489895,0
-accelerometer: 14226490717,0.153304,-0.32577,9.17906
-accelerometer: 14226510675,0.574889,-0.364096,9.50483
-accelerometer: 14226530573,0.19163,-0.670704,10.1755
-accelerometer: 14226550684,-0.0766519,-0.747356,10.4821
-accelerometer: 14226570703,0.383259,-0.0766519,10.5205
-accelerometer: 14226590723,0.114978,0.344933,9.6773
-accelerometer: 14226610559,0.440748,0.594052,10.3097
-accelerometer: 14226630579,0.459911,-0.728193,10.1564
-accelerometer: 14226650568,-0.229956,-0.0958148,10.1755
-accelerometer: 14226670740,0,-0.0383259,9.50483
-accelerometer: 14226690668,-0.421585,0.114978,9.02576
-accelerometer: 14226710809,-0.479074,0.19163,9.02576
-accelerometer: 14226730615,-0.574889,0,9.06409
-accelerometer: 14226750635,-0.364096,-0.0383259,9.17906
-accelerometer: 14226770593,-0.440748,0.019163,9.06409
-accelerometer: 14226790674,-0.459911,0.0766519,9.38986
-accelerometer: 14226810724,-0.210793,0.0383259,9.8306
-accelerometer: 14226830682,-0.134141,0.134141,9.81144
-accelerometer: 14226850794,-0.32577,0.0766519,9.79228
-accelerometer: 14226870813,-0.364096,0,9.6773
-accelerometer: 14226890833,-0.32577,-0.344933,9.69646
-accelerometer: 14226910974,-0.440748,-0.344933,9.524
-accelerometer: 14226930780,-0.32577,-0.287445,9.6773
-accelerometer: 14226950922,-0.287445,-0.306608,9.60065
-accelerometer: 14226970972,-0.268282,-0.0574889,9.56232
-accelerometer: 14226990839,4.75242,-0.0383259,9.58148
-accelerometer: 14227010889,0.306608,-0.114978,9.79228
-accelerometer: 14227030817,0.019163,-0.210793,9.48567
-accelerometer: 14227050928,-0.19163,0.019163,9.42818
-accelerometer: 14227070978,-0.153304,-0.114978,9.21739
-accelerometer: 14227090967,-0.287445,-4.88656,9.1599
-accelerometer: 14227110986,-0.287445,-0.19163,9.23655
-accelerometer: 14227130823,-0.210793,0.0383259,9.63897
-accelerometer: 14227150934,-0.268282,0.229956,9.69646
-accelerometer: 14227170923,-0.287445,-4.86739,9.88809
-accelerometer: 14227190942,-0.19163,-0.019163,9.94558
-accelerometer: 14227210901,-0.0958148,-0.306608,9.75395
-accelerometer: 14227230859,-0.306608,-0.364096,9.61981
-irProximity:14227237728,0.294118
-accelerometer: 14227250971,-0.268282,-0.5174,9.71563
-accelerometer: 14227270960,0.019163,-0.19163,9.56232
-accelerometer: 14227290949,0.019163,-0.0574889,9.48567
-accelerometer: 14227310968,0.32577,-0.114978,9.73479
-accelerometer: 14227330805,0.287445,-0.306608,9.524
-irProximity:14227338680,0.290196
-accelerometer: 14227351038,0.32577,-0.383259,9.6773
-accelerometer: 14227370996,0.249119,-0.0766519,9.56232
-accelerometer: 14227390955,0.440748,-0.249119,9.54316
-accelerometer: 14227411005,0.306608,0.0766519,9.79228
-accelerometer: 14227430780,-0.402422,0.958148,9.79228
-accelerometer: 14227450891,-3.75594,4.23502,10.5971
-accelerometer: 14227470850,-17.1125,10.5205,13.4332
-accelerometer: 14227490930,-31.1398,-0.114978,15.3495
-accelerometer: 14227511347,-35.2024,-17.8599,15.1196
-accelerometer: 14227531549,-20.3127,-25.3909,12.3984
-accelerometer: 14227550775,13.165,-11.7469,11.6894
-accelerometer: 14227570978,39.2266,1.9163,13.2416
-accelerometer: 14227590967,39.2266,4.6566,21.3475
-accelerometer: 14227610803,39.2266,1.74383,11.6319
-accelerometer: 14227630823,39.2074,4.6566,6.89867
-accelerometer: 14227650995,27.0006,1.3989,3.69845
-accelerometer: 14227671014,11.6894,-9.19823,6.97532
-accelerometer: 14227691095,-10.7504,-16.7676,9.71563
-accelerometer: 14227711725,-38.92,-14.5639,14.4872
-accelerometer: 14227732202,-39.2458,-17.8982,19.3354
-irProximity:14227742184,0.294118
-accelerometer: 14227751917,-39.2458,-25.8892,20.2361
-accelerometer: 14227770837,-39.2458,-27.8246,14.4872
-accelerometer: 14227790796,-22.0374,-22.9572,5.21233
-accelerometer: 14227810846,22.9381,-7.87598,10.3097
-accelerometer: 14227830835,39.2266,7.2436,16.576
-accelerometer: 14227850824,39.2266,10.9804,27.4222
-accelerometer: 14227870691,39.2266,4.48413,21.9224
-accelerometer: 14227890741,39.2266,-0.32577,10.8462
-accelerometer: 14227910608,26.5407,-2.587,2.39537
-accelerometer: 14227930780,-3.92841,-9.48567,1.22643
-irProximity:14227943783,0.290196
-accelerometer: 14227950769,-39.2458,-3.2577,7.79933
-accelerometer: 14227970789,-39.2458,-22.2865,24.2412
-accelerometer: 14227990808,-39.2458,-31.3123,29.7409
-accelerometer: 14228010767,-39.2458,-30.1625,20.3894
-accelerometer: 14228030786,-4.08171,-22.5548,11.8619
-accelerometer: 14228050928,39.2266,-10.7696,10.1564
-accelerometer: 14228070978,39.2266,0.287445,17.17
-accelerometer: 14228090997,39.2266,1.64802,15.6753
-orientation:14228090997,4
-accelerometer: 14228110986,39.2266,-0.172467,9.3132
-accelerometer: 14228131006,39.2266,-0.421585,2.51035
-irProximity:14228145138,0.294118
-accelerometer: 14228150964,21.405,-7.4544,2.49119
-accelerometer: 14228171076,-10.9612,-12.3218,6.13215
-accelerometer: 14228191004,-39.2458,-12.7434,16.1544
-accelerometer: 14228210718,-39.2458,-25.161,28.1696
-accelerometer: 14228230524,-39.2458,-34.0526,27.4605
-irProximity:14228245907,0.290196
-accelerometer: 14228250787,-39.2458,-29.5493,19.5654
-accelerometer: 14228270807,-6.45792,-21.8841,9.3132
-accelerometer: 14228290827,34.34,-12.935,9.84977
-accelerometer: 14228310816,39.2266,-2.56784,18.2815
-accelerometer: 14228330805,39.2266,0.689867,19.8912
-accelerometer: 14228350824,39.2266,-1.07313,14.3147
-accelerometer: 14228370813,26.0425,1.82048,5.55726
-accelerometer: 14228390955,8.06761,5.55726,2.62533
-accelerometer: 14228411005,-6.87951,4.06255,6.49625
-accelerometer: 14228430841,-14.9663,-2.0696,10.7121
-irProximity:14228447414,0.294118
-accelerometer: 14228450952,-14.6788,-5.88303,12.2643
-accelerometer: 14228470789,-11.7277,-5.26982,11.4211
-accelerometer: 14228490991,-7.22444,-2.31872,10.3097
-accelerometer: 14228510980,-2.75947,0.958148,8.87245
-accelerometer: 14228531030,-1.53304,1.78216,8.52752
-orientation:14228531030,5
-irProximity:14228548183,0.290196
-accelerometer: 14228550745,-0.977311,1.34141,7.93347
-accelerometer: 14228570551,-1.45639,1.13062,8.45087
-accelerometer: 14228590814,-0.843171,0.0766519,8.45087
-accelerometer: 14228610986,-1.82048,0.632378,9.79228
-accelerometer: 14228630945,-0.613215,1.07313,9.65814
-accelerometer: 14228650934,-0.114978,1.13062,9.63897
-accelerometer: 14228670923,1.36057,0.862334,10.118
-accelerometer: 14228690942,1.66718,1.53304,10.7888
-accelerometer: 14228710901,0.996474,1.82048,10.118
-accelerometer: 14228730920,0.19163,2.77863,9.75395
-accelerometer: 14228750971,0.249119,1.7055,9.46651
-accelerometer: 14228770807,0.287445,0.785682,9.33237
-accelerometer: 14228790827,0.0574889,-0.19163,9.37069
-accelerometer: 14228810846,0.766519,-0.747356,9.94558
-accelerometer: 14228830805,0.938986,-0.32577,10.0606
-accelerometer: 14228850946,0.306608,0.134141,9.60065
-accelerometer: 14228870813,-0.229956,0.364096,9.40902
-accelerometer: 14228890833,0.0958148,0,9.71563
-accelerometer: 14228910944,0.613215,-0.364096,9.63897
-accelerometer: 14228930963,1.47555,-0.689867,9.54316
-accelerometer: 14228950922,1.93546,-0.249119,9.92642
-accelerometer: 14228970941,1.53304,0.498237,10.6354
-accelerometer: 14228990778,2.20374,0.613215,10.9037
-accelerometer: 14229010950,2.24207,-0.249119,10.118
-accelerometer: 14229030969,1.16894,-0.938986,9.38986
-accelerometer: 14229050897,0.70903,-0.70903,9.84977
-accelerometer: 14229070947,1.11145,-0.613215,10.1564
-accelerometer: 14229090967,0.785682,-0.0383259,10.0989
-accelerometer: 14229110956,0.70903,0.19163,9.69646
-accelerometer: 14229130945,0.364096,-0.306608,9.17906
-accelerometer: 14229150720,0.229956,-0.383259,9.50483
-accelerometer: 14229170923,0.670704,-0.728193,9.56232
-accelerometer: 14229190973,0.383259,-0.383259,9.50483
-accelerometer: 14229210931,0,-0.0958148,9.27488
-accelerometer: 14229230951,0.0383259,-0.306608,9.33237
-accelerometer: 14229250787,0.268282,-0.172467,9.0066
-accelerometer: 14229270960,0.114978,-0.249119,9.50483
-accelerometer: 14229290949,0.0958148,-0.19163,9.60065
-accelerometer: 14229310968,0.32577,-0.383259,9.42818
-accelerometer: 14229330988,-0.153304,4.77158,9.58148
-accelerometer: 14229350824,0.287445,-0.536563,9.63897
-accelerometer: 14229370935,0.134141,-0.364096,9.46651
-accelerometer: 14229390955,-0.0766519,-0.459911,9.29404
-accelerometer: 14229410944,0.0766519,-0.306608,9.77311
-accelerometer: 14229430780,0.32577,-0.306608,9.73479
-accelerometer: 14229450830,0.364096,-0.249119,9.65814
-accelerometer: 14229470850,0.383259,-0.019163,9.75395
-accelerometer: 14229490930,0.632378,-0.383259,9.63897
-accelerometer: 14229510950,0.19163,-0.0383259,9.54316
-accelerometer: 14229530969,0.210793,-0.019163,9.46651
-accelerometer: 14229550836,0.229956,-0.019163,9.54316
-accelerometer: 14229570978,0.0766519,-0.459911,9.33237
-accelerometer: 14229590967,0.32577,-0.32577,9.71563
-accelerometer: 14229610956,0,-0.249119,10.0414
-accelerometer: 14229631006,-0.019163,0.19163,9.79228
-accelerometer: 14229650781,0.210793,-0.574889,9.48567
-accelerometer: 14229673364,-0.306608,-0.555726,8.83413
-accelerometer: 14229690973,-0.19163,-0.229956,9.19823
-accelerometer: 14229710993,4.73325,-0.268282,9.44734
-accelerometer: 14229730920,0.0383259,-0.287445,9.73479
-accelerometer: 14229750879,0.0958148,-0.536563,9.65814
-accelerometer: 14229770624,0.019163,-0.555726,9.96474
-accelerometer: 14229790552,0.114978,-0.574889,9.96474
-accelerometer: 14229810816,0.229956,-0.459911,10.2139
-accelerometer: 14229830805,0.0766519,-0.555726,10.2139
-accelerometer: 14229850794,0.153304,-0.383259,9.73479
-accelerometer: 14229870783,-0.613215,0.229956,9.92642
-accelerometer: 14229890802,-0.402422,-0.594052,9.14074
-accelerometer: 14229910822,-0.0766519,-0.383259,8.69999
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat
deleted file mode 100644
index 0558be5c..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeRight.dat
+++ /dev/null
@@ -1,157 +0,0 @@
-orientation:12976390955,5
-accelerometer: 13000540674,-1.07313,0.306608,9.19823
-accelerometer: 13000560907,-1.11145,0.632378,9.61981
-accelerometer: 13000580957,-1.22643,0.114978,9.58148
-irProximity:13000597149,0.290196
-proximity:13000600537,0
-accelerometer: 13000601434,-1.3989,0.287445,9.524
-accelerometer: 13000620996,-1.24559,0.114978,9.61981
-accelerometer: 13000640955,-1.24559,0.344933,9.60065
-accelerometer: 13000660974,-1.24559,0.402422,9.50483
-accelerometer: 13000680933,-1.1881,0.498237,9.44734
-accelerometer: 13000701044,-0.958148,0.5174,9.27488
-accelerometer: 13000720972,-0.383259,0.0383259,9.21739
-accelerometer: 13000740961,-1.20727,0.459911,9.79228
-accelerometer: 13000760767,-1.01564,0.210793,9.79228
-accelerometer: 13000780817,-0.862334,0.421585,9.23655
-accelerometer: 13000800958,-1.0348,0.498237,9.23655
-accelerometer: 13000820795,-0.996474,0.32577,9.06409
-accelerometer: 13000840845,-1.09229,0.5174,8.87245
-accelerometer: 13000860773,-1.3989,-4.71409,9.65814
-accelerometer: 13000880792,-0.574889,-0.651541,10.7121
-accelerometer: 13000900568,-1.74383,0.134141,11.8236
-irProximity:13000901959,0.294118
-accelerometer: 13000920953,-1.82048,3.27687,8.18259
-accelerometer: 13000941003,-1.3989,1.01564,8.94911
-accelerometer: 13000960931,-1.57136,1.49471,9.04492
-accelerometer: 13000980920,-1.97379,0.19163,9.19823
-accelerometer: 13001002283,-2.16542,0.938986,9.54316
-accelerometer: 13001020990,-1.95462,1.74383,9.75395
-accelerometer: 13001040918,-1.59053,0.766519,9.42818
-accelerometer: 13001060938,-1.66718,0.574889,9.46651
-accelerometer: 13001080957,-1.37973,0.306608,9.08325
-accelerometer: 13001100763,-0.153304,1.22643,8.39338
-irProximity:13001103894,0.290196
-accelerometer: 13001120966,1.85881,0.479074,10.3288
-accelerometer: 13001140955,6.59206,-0.306608,12.5517
-accelerometer: 13001160944,14.1806,-1.09229,13.0883
-accelerometer: 13001180933,18.1282,-4.38832,16.4227
-accelerometer: 13001200769,17.8599,-5.72973,15.4645
-accelerometer: 13001220941,12.5517,-6.80285,13.6632
-accelerometer: 13001240961,-0.5174,-5.5381,8.56585
-accelerometer: 13001260919,-32.4046,3.43017,4.40748
-accelerometer: 13001280817,-39.2458,10.1372,7.761
-accelerometer: 13001300775,-39.2458,4.34999,14.1423
-accelerometer: 13001320947,-39.2458,-6.07466,16.1735
-accelerometer: 13001340967,-16.5185,-8.16343,13.0117
-accelerometer: 13001360925,14.2381,-9.06409,14.6788
-accelerometer: 13001381006,37.2911,-5.94052,11.8427
-accelerometer: 13001400781,39.2266,-0.479074,13.9506
-accelerometer: 13001420892,39.2266,-0.0766519,14.9471
-orientation:13001420892,4
-accelerometer: 13001441003,37.1187,-5.55726,11.4403
-accelerometer: 13001460931,23.8962,-8.98743,9.35153
-accelerometer: 13001480982,9.1599,-10.9995,8.62334
-accelerometer: 13001500787,-13.8357,-10.9995,8.33589
-accelerometer: 13001520990,-38.5559,7.01365,8.4892
-accelerometer: 13001540979,-39.2458,-0.114978,11.0379
-accelerometer: 13001560968,-39.2458,-9.6773,14.9854
-accelerometer: 13001580988,-39.2458,-13.3758,10.2714
-accelerometer: 13001600641,-15.8095,-15.0621,10.8462
-accelerometer: 13001620630,25.4676,-10.5588,17.1125
-accelerometer: 13001640833,39.2266,1.28392,24.4328
-accelerometer: 13001661005,39.2266,7.72268,25.3909
-accelerometer: 13001680933,39.2266,2.18458,21.1368
-accelerometer: 13001700769,32.6729,-5.72973,13.0691
-accelerometer: 13001720941,15.6561,-8.89162,7.58854
-accelerometer: 13001740930,-4.5033,-10.6163,3.31519
-accelerometer: 13001760706,-39.2458,-4.15836,0.70903
-accelerometer: 13001781000,-39.2458,-0.19163,5.86387
-accelerometer: 13001801569,-39.2458,-7.99096,13.3374
-accelerometer: 13001820734,-39.2458,-10.9804,16.3269
-accelerometer: 13001840814,-17.4575,-12.1493,14.6213
-accelerometer: 13001860803,16.2502,-8.69999,16.1927
-accelerometer: 13001880914,39.2266,8.41254,32.1938
-accelerometer: 13001900781,39.2266,6.66871,17.2083
-accelerometer: 13001920923,39.2266,3.29603,21.405
-accelerometer: 13001940973,37.3678,-2.14625,10.5013
-accelerometer: 13001960962,20.102,-8.98743,9.50483
-accelerometer: 13001980951,1.09229,-10.7696,7.26277
-accelerometer: 13002000971,-23.8196,-7.01365,5.34647
-irProximity:13002011944,0.294118
-accelerometer: 13002020960,-39.2458,-2.10793,7.35858
-accelerometer: 13002040949,-39.2458,-6.22797,12.82
-accelerometer: 13002060999,-39.2458,-10.7888,16.2885
-accelerometer: 13002080988,-28.0163,-9.79228,13.9506
-accelerometer: 13002100946,-1.72467,-5.49977,13.0117
-irProximity:13002112744,0.290196
-accelerometer: 13002120966,19.4887,0.459911,14.0656
-accelerometer: 13002140924,25.5059,4.59911,13.7015
-accelerometer: 13002160944,22.4015,3.75594,13.2608
-accelerometer: 13002181055,15.5028,1.66718,10.8846
-accelerometer: 13002200983,8.81497,-0.0574889,9.21739
-irProximity:13002213543,0.294118
-accelerometer: 13002221002,3.6218,-0.210793,6.78369
-accelerometer: 13002240930,0.479074,1.66718,6.17048
-accelerometer: 13002260950,-1.01564,1.74383,7.6077
-orientation:13002260950,5
-accelerometer: 13002281030,-2.75947,1.34141,9.3132
-accelerometer: 13002300958,-3.58348,0.70903,10.6546
-accelerometer: 13002320917,-3.2577,0.019163,11.3636
-accelerometer: 13002340936,-2.93193,0.651541,11.1145
-accelerometer: 13002360986,-2.587,0.268282,9.96474
-accelerometer: 13002380975,-2.18458,0.229956,9.69646
-accelerometer: 13002400934,-1.20727,0.785682,10.2139
-accelerometer: 13002420862,-0.689867,0.919823,9.65814
-accelerometer: 13002440942,-0.766519,0.594052,9.29404
-accelerometer: 13002460901,-0.881497,0.594052,9.77311
-accelerometer: 13002480982,-1.22643,0.210793,9.69646
-accelerometer: 13002500971,-1.07313,0.383259,9.17906
-irProximity:13002515942,0.290196
-accelerometer: 13002520960,-1.34141,0.498237,9.38986
-accelerometer: 13002540918,-1.36057,0.479074,9.33237
-accelerometer: 13002560938,-1.32224,1.01564,9.37069
-accelerometer: 13002581018,-0.919823,0.32577,9.44734
-accelerometer: 13002600916,-0.785682,0.421585,9.75395
-accelerometer: 13002620905,-0.977311,0.249119,9.33237
-accelerometer: 13002640955,-1.09229,0.268282,9.50483
-accelerometer: 13002661005,-1.05396,-0.0958148,9.63897
-accelerometer: 13002680933,-1.3989,-0.134141,9.88809
-accelerometer: 13002700983,-1.53304,-0.364096,9.86893
-accelerometer: 13002720880,-1.62885,-0.0958148,9.61981
-accelerometer: 13002740900,-1.72467,-0.19163,9.60065
-accelerometer: 13002760828,-1.68634,-0.383259,9.38986
-accelerometer: 13002780969,-1.60969,-0.0766519,9.14074
-accelerometer: 13002800806,-1.37973,0.0958148,9.17906
-accelerometer: 13002820825,-1.14978,0.210793,9.42818
-accelerometer: 13002840814,-1.11145,-0.0574889,9.08325
-accelerometer: 13002860803,-1.01564,-0.0383259,9.21739
-accelerometer: 13002880853,-0.785682,-0.0766519,9.02576
-accelerometer: 13002900964,-0.881497,0.114978,9.63897
-irProximity:13002918926,0.294118
-accelerometer: 13002920984,-0.824008,-0.210793,9.81144
-accelerometer: 13002940973,-1.0348,-0.0574889,9.48567
-accelerometer: 13002960962,-1.14978,4.73325,9.524
-accelerometer: 13002980951,-0.996474,0.0958148,9.77311
-accelerometer: 13003001001,-1.07313,-0.114978,9.63897
-irProximity:13003019726,0.290196
-accelerometer: 13003020990,-0.977311,0,9.25571
-accelerometer: 13003040949,-1.16894,0.0383259,9.63897
-accelerometer: 13003060999,-1.09229,0.114978,9.6773
-accelerometer: 13003080927,-0.938986,0.0574889,9.6773
-accelerometer: 13003100946,-0.594052,0.402422,9.524
-accelerometer: 13003121057,-0.996474,-0.268282,9.42818
-accelerometer: 13003140894,-1.97379,-0.229956,8.33589
-accelerometer: 13003161005,-1.5522,-0.134141,8.85329
-accelerometer: 13003181024,-0.90066,0.229956,10.0797
-accelerometer: 13003201013,-1.05396,0.19163,9.42818
-accelerometer: 13003221063,-0.594052,-0.019163,9.61981
-accelerometer: 13003241144,-1.01564,0.210793,10.1755
-accelerometer: 13003260645,-0.747356,-0.0766519,10.2139
-accelerometer: 13003280756,-0.804845,-0.0958148,9.84977
-accelerometer: 13003300806,-0.804845,-0.134141,9.69646
-accelerometer: 13003320856,-0.728193,0.249119,9.6773
-accelerometer: 13003340814,-1.01564,0.268282,9.25571
-accelerometer: 13003360803,-1.05396,0.134141,9.02576
-accelerometer: 13003380823,-0.594052,0.134141,9.63897
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat
deleted file mode 100644
index f2ae47d6..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_shakeUp.dat
+++ /dev/null
@@ -1,228 +0,0 @@
-orientation:13221790765,5
-accelerometer: 13223252588,-1.57136,0.862334,9.14074
-accelerometer: 13223270960,-0.996474,0.574889,9.17906
-accelerometer: 13223290949,-1.47555,0.555726,9.44734
-irProximity:13223310423,0.290196
-accelerometer: 13223311029,-1.24559,0.938986,9.08325
-proximity:13223316618,0
-accelerometer: 13223330957,-1.30308,0.804845,9.63897
-accelerometer: 13223350916,-1.32224,1.0348,9.63897
-accelerometer: 13223370966,-0.632378,0.594052,9.60065
-accelerometer: 13223390955,-0.498237,0.498237,9.54316
-accelerometer: 13223410700,-0.536563,0.747356,9.69646
-accelerometer: 13223430902,0.0958148,0.536563,9.27488
-accelerometer: 13223450891,0.0574889,0.153304,8.73831
-accelerometer: 13223470758,-0.919823,0.689867,8.35505
-accelerometer: 13223490900,-0.479074,0.613215,9.94558
-accelerometer: 13223510767,-0.498237,0.19163,8.39338
-accelerometer: 13223530939,-0.479074,1.72467,9.1599
-accelerometer: 13223550958,-1.87797,1.76299,9.42818
-accelerometer: 13223570947,-1.53304,2.10793,8.68083
-accelerometer: 13223590997,-0.249119,0.881497,7.62686
-accelerometer: 13223610803,0.0766519,1.09229,6.2088
-accelerometer: 13223630914,-0.0766519,4.38832,15.407
-accelerometer: 13223650964,-0.747356,3.81343,11.881
-accelerometer: 13223670923,0.0574889,1.41806,9.63897
-accelerometer: 13223690942,-1.13062,3.29603,9.1599
-accelerometer: 13223710779,-0.268282,6.13215,8.77664
-irProximity:13223714994,0.294118
-accelerometer: 13223730920,0.268282,-0.402422,10.3863
-accelerometer: 13223750971,0.210793,0.804845,9.08325
-accelerometer: 13223770929,-0.536563,1.68634,9.54316
-accelerometer: 13223790826,0.153304,0.402422,9.88809
-accelerometer: 13223810816,0.229956,1.43722,9.8306
-irProximity:13223815702,0.290196
-accelerometer: 13223830835,-0.0958148,1.05396,9.19823
-accelerometer: 13223850794,-0.249119,0.594052,8.68083
-accelerometer: 13223870783,0.210793,0.421585,8.96827
-accelerometer: 13223890833,-0.19163,0.440748,9.02576
-accelerometer: 13223910822,-0.249119,0.440748,9.75395
-accelerometer: 13223930750,-0.0958148,0.766519,9.42818
-accelerometer: 13223950922,-0.0574889,0.632378,8.6425
-accelerometer: 13223970941,4.79074,0.574889,9.92642
-accelerometer: 13223990778,0.344933,0.70903,9.84977
-accelerometer: 13224010797,0.32577,0.824008,9.33237
-irProximity:13224017393,0.294118
-accelerometer: 13224030969,-0.0383259,0.824008,9.46651
-accelerometer: 13224050928,0.536563,0.90066,9.50483
-accelerometer: 13224070917,0.210793,0.70903,9.63897
-accelerometer: 13224090997,0.440748,0.498237,9.1599
-accelerometer: 13224110803,0.632378,1.47555,9.6773
-irProximity:13224118284,0.290196
-accelerometer: 13224130975,0.804845,0.402422,9.84977
-accelerometer: 13224150964,0.574889,0.383259,9.524
-accelerometer: 13224171014,0.536563,0.843171,9.50483
-accelerometer: 13224190942,0.229956,0.613215,9.77311
-accelerometer: 13224210809,0.019163,0.5174,9.94558
-accelerometer: 13224230890,0.134141,0.574889,9.79228
-accelerometer: 13224250940,-0.134141,0.459911,9.40902
-accelerometer: 13224270990,-0.306608,0.670704,9.33237
-accelerometer: 13224290918,-0.32577,0.536563,9.71563
-accelerometer: 13224310785,0.229956,-2.18458,9.23655
-irProximity:13224320066,0.294118
-accelerometer: 13224330927,0.402422,-1.11145,9.38986
-accelerometer: 13224350916,-0.287445,0.5174,9.61981
-accelerometer: 13224370935,0.421585,1.60969,10.1372
-accelerometer: 13224390802,0.977311,1.87797,10.3863
-accelerometer: 13224410761,0.785682,1.95462,10.233
-accelerometer: 13224430872,0.479074,0.019163,9.81144
-accelerometer: 13224450891,-0.0574889,0.766519,9.29404
-accelerometer: 13224470819,-0.32577,0.689867,9.40902
-accelerometer: 13224490900,-0.229956,0.919823,9.02576
-accelerometer: 13224510919,0.19163,0.459911,9.63897
-accelerometer: 13224530908,0.153304,0.459911,9.60065
-accelerometer: 13224550928,-0.0574889,0.210793,9.54316
-accelerometer: 13224570978,0.153304,0.498237,9.81144
-accelerometer: 13224590997,0.229956,0.268282,9.96474
-accelerometer: 13224610986,0.134141,0.32577,9.73479
-irProximity:13224622526,0.290196
-accelerometer: 13224630975,0.0574889,0.32577,9.50483
-accelerometer: 13224650995,0.268282,0.766519,10.0797
-accelerometer: 13224670984,0.383259,0.498237,10.5396
-accelerometer: 13224690942,0.32577,0.613215,10.0797
-accelerometer: 13224710931,0.843171,0.364096,10.0414
-irProximity:13224723356,0.294118
-accelerometer: 13224730920,0.651541,0.402422,9.98391
-accelerometer: 13224750940,0.0383259,0.153304,9.86893
-accelerometer: 13224770837,0.249119,0.19163,10.0222
-accelerometer: 13224790796,0.134141,0.0383259,9.60065
-accelerometer: 13224810816,0.019163,-0.229956,9.84977
-accelerometer: 13224830805,-0.344933,-0.344933,9.3132
-accelerometer: 13224850794,-0.459911,-0.383259,9.79228
-accelerometer: 13224870783,-0.249119,-0.172467,9.60065
-accelerometer: 13224890802,-0.574889,-0.0574889,9.1599
-accelerometer: 13224910791,-0.268282,1.11145,9.524
-accelerometer: 13224930963,0.229956,4.63744,10.2714
-accelerometer: 13224950952,-0.5174,12.9542,11.881
-accelerometer: 13224970972,-1.76299,28.3037,13.6249
-accelerometer: 13224993433,-0.536563,37.157,13.9123
-accelerometer: 13225012933,2.18458,31.868,10.7121
-irProximity:13225025663,0.290196
-accelerometer: 13225030817,2.60616,17.3042,5.40396
-accelerometer: 13225050836,3.71762,-10.7696,6.43876
-accelerometer: 13225070795,10.1372,-39.2458,6.26629
-accelerometer: 13225090814,0.344933,-39.2458,21.6733
-accelerometer: 13225110803,-3.16189,-39.2458,14.0081
-accelerometer: 13225130853,11.6319,-28.0163,-12.8584
-accelerometer: 13225150995,11.2295,-6.63039,-4.06255
-accelerometer: 13225170984,7.47356,2.47202,2.12709
-accelerometer: 13225191004,3.83259,16.9401,3.81343
-accelerometer: 13225210993,2.28039,33.6693,6.24713
-irProximity:13225226896,0.294118
-accelerometer: 13225230982,7.30109,39.2266,9.75395
-accelerometer: 13225252191,11.6319,39.2266,7.41607
-accelerometer: 13225270929,11.3636,39.2266,2.587
-accelerometer: 13225290827,5.36563,35.1832,-1.62885
-accelerometer: 13225310846,-1.05396,9.12157,-3.87092
-irProximity:13225327665,0.290196
-accelerometer: 13225330682,-3.7751,-20.696,-1.47555
-accelerometer: 13225350702,12.0918,-39.2458,2.83612
-accelerometer: 13225370813,6.53457,-39.2458,38.5559
-accelerometer: 13225390802,10.9612,-39.2458,19.757
-accelerometer: 13225410822,19.2971,-21.1176,-10.578
-accelerometer: 13225430750,12.4559,-4.33083,-0.019163
-accelerometer: 13225450800,6.76453,8.18259,2.12709
-accelerometer: 13225470819,-2.52951,29.7601,1.93546
-accelerometer: 13225490991,-7.43523,39.2266,3.23854
-accelerometer: 13225510950,-3.67929,39.2266,2.587
-accelerometer: 13225530969,2.12709,39.2266,0.364096
-accelerometer: 13225550989,0.632378,39.2266,-0.70903
-orientation:13225550989,1
-accelerometer: 13225570764,-2.18458,16.1544,-1.49471
-accelerometer: 13225591058,-0.344933,-15.292,3.4685
-accelerometer: 13225610986,13.4907,-39.2458,9.69646
-irProximity:13225630125,0.294118
-accelerometer: 13225630914,11.3828,-39.2458,32.7687
-accelerometer: 13225651025,10.8079,-39.2458,30.8907
-orientation:13225651025,2
-accelerometer: 13225670923,19.0863,-23.5896,-11.0379
-accelerometer: 13225691034,13.3183,-1.16894,-4.38832
-accelerometer: 13225711023,5.49977,5.174,-1.49471
-irProximity:13225730589,0.290196
-accelerometer: 13225730646,-0.459911,11.3445,-0.268282
-accelerometer: 13225750818,-3.75594,14.1998,0.843171
-accelerometer: 13225770837,-2.587,15.522,2.91277
-accelerometer: 13225790827,-1.62885,15.2154,3.64096
-orientation:13225790827,1
-accelerometer: 13225810785,-1.80132,13.3949,2.87445
-irProximity:13225831510,0.294118
-accelerometer: 13225831079,-0.90066,10.8846,6.68788
-accelerometer: 13225850763,-0.421585,7.85682,8.96827
-accelerometer: 13225870813,-0.0766519,5.15484,9.75395
-accelerometer: 13225890802,0.440748,3.21938,10.2905
-orientation:13225890802,5
-accelerometer: 13225910791,0.919823,1.5522,11.3445
-accelerometer: 13225930689,0.996474,0.134141,12.1493
-irProximity:13225932798,0.290196
-accelerometer: 13225951013,0.383259,-0.0383259,11.2295
-accelerometer: 13225970972,0.0766519,0.019163,11.1528
-accelerometer: 13225990808,-0.287445,0.268282,11.7277
-accelerometer: 13226010980,-0.90066,0.459911,9.27488
-accelerometer: 13226030817,-0.536563,1.68634,9.29404
-accelerometer: 13226050958,0.0383259,0.824008,9.04492
-accelerometer: 13226070947,-0.0574889,0.421585,9.58148
-accelerometer: 13226090967,0.19163,0.632378,10.0989
-accelerometer: 13226110925,0.19163,0.210793,9.61981
-accelerometer: 13226130823,0.651541,-0.19163,9.6773
-accelerometer: 13226150903,0.958148,-0.70903,10.0606
-accelerometer: 13226171137,1.45639,-1.26476,10.9612
-accelerometer: 13226190942,0.958148,-1.83965,10.3672
-accelerometer: 13226210962,1.1881,-1.89713,10.233
-accelerometer: 13226230798,1.14978,-1.83965,10.1564
-accelerometer: 13226250940,1.5522,-1.43722,10.4055
-accelerometer: 13226270899,1.68634,-1.07313,10.7313
-accelerometer: 13226290918,1.51387,-1.7055,9.6773
-accelerometer: 13226310968,1.78216,-1.30308,9.40902
-accelerometer: 13226330743,1.37973,-1.80132,9.63897
-accelerometer: 13226350855,1.13062,-1.59053,10.0606
-accelerometer: 13226370905,0.785682,-1.34141,10.1947
-accelerometer: 13226390894,0.862334,-0.843171,10.1947
-accelerometer: 13226410974,0.689867,-0.824008,9.10241
-accelerometer: 13226430811,1.13062,-0.862334,8.98743
-accelerometer: 13226450861,1.28392,-1.01564,9.61981
-accelerometer: 13226470819,1.3989,-1.26476,10.4821
-accelerometer: 13226490930,1.09229,-0.728193,11.4978
-accelerometer: 13226510950,0.824008,-0.594052,10.5205
-accelerometer: 13226530817,0.5174,-0.977311,8.92994
-irProximity:13226538206,0.294118
-accelerometer: 13226550958,0.229956,-0.919823,7.761
-accelerometer: 13226570947,-1.1881,-0.19163,8.4892
-accelerometer: 13226590936,-0.632378,-0.574889,9.23655
-accelerometer: 13226610803,-0.383259,-0.824008,9.56232
-accelerometer: 13226631159,-0.344933,-0.555726,9.48567
-irProximity:13226639158,0.290196
-accelerometer: 13226650964,-0.421585,-0.632378,9.21739
-accelerometer: 13226670953,-0.344933,-0.632378,9.56232
-accelerometer: 13226690942,-0.19163,-0.459911,9.88809
-accelerometer: 13226710962,-0.0766519,-0.689867,9.79228
-accelerometer: 13226730768,-0.172467,-0.747356,9.50483
-irProximity:13226740079,0.294118
-accelerometer: 13226750940,-0.210793,-0.594052,9.37069
-accelerometer: 13226770837,-0.32577,0.0383259,9.77311
-accelerometer: 13226790765,-0.134141,-0.249119,9.88809
-accelerometer: 13226810785,0.229956,-0.249119,9.98391
-accelerometer: 13226831079,0.0383259,-0.134141,9.54316
-irProximity:13226840940,0.290196
-accelerometer: 13226850702,-0.402422,4.69493,9.50483
-accelerometer: 13226870752,-0.019163,-0.383259,9.50483
-accelerometer: 13226890802,-0.229956,-0.229956,9.65814
-accelerometer: 13226910852,-0.0574889,-0.5174,9.8306
-accelerometer: 13226930963,-0.19163,-0.19163,9.88809
-accelerometer: 13226950922,-0.019163,-0.306608,9.56232
-accelerometer: 13226970972,-0.229956,0.19163,10.0606
-accelerometer: 13226990778,-0.306608,-0.210793,9.48567
-accelerometer: 13227010858,-0.249119,-0.364096,9.48567
-accelerometer: 13227030786,0.134141,-0.498237,9.50483
-accelerometer: 13227050897,-0.651541,-0.574889,7.81849
-accelerometer: 13227070947,-0.421585,0.019163,9.44734
-accelerometer: 13227091028,-0.32577,0.210793,9.77311
-accelerometer: 13227110986,-0.210793,-0.344933,9.90726
-accelerometer: 13227131006,-0.689867,0.210793,10.0414
-accelerometer: 13227151025,-0.229956,-0.498237,10.0414
-accelerometer: 13227170984,-0.440748,-0.229956,10.1564
-accelerometer: 13227190790,-0.0383259,-0.210793,9.94558
-accelerometer: 13227210993,-0.268282,-0.0958148,9.81144
-accelerometer: 13227230585,-0.670704,0.306608,9.0066
-accelerometer: 13227250818,-1.16894,-0.114978,8.2784
-accelerometer: 13227270593,-0.459911,-0.153304,9.3132
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat
deleted file mode 100644
index 0ec937c1..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_slam.dat
+++ /dev/null
@@ -1,595 +0,0 @@
-orientation:292851575,5
-irProximity:294683453,0.376471
-accelerometer: 294751325,-0.19163,4.31167,9.42818
-accelerometer: 294851270,0.0766519,4.44581,9.37069
-accelerometer: 294951276,0.938986,5.30814,8.31673
-accelerometer: 295051252,0.364096,5.48061,8.62334
-accelerometer: 295151227,-0.824008,5.86387,7.30109
-orientation:295251264,1
-accelerometer: 295251264,-1.95462,7.70351,5.90219
-accelerometer: 295351239,-0.172467,7.43523,6.36211
-accelerometer: 295451276,-0.5174,7.66519,7.01365
-accelerometer: 295551221,-0.229956,7.68435,5.40396
-accelerometer: 295651258,-0.843171,9.42818,4.31167
-accelerometer: 295751264,0.958148,9.46651,4.90572
-accelerometer: 295851026,1.37973,9.96474,3.71762
-accelerometer: 295951276,2.4337,10.4055,5.67224
-accelerometer: 296051282,0.843171,13.0691,5.23149
-accelerometer: 296151288,-0.19163,9.21739,4.69493
-accelerometer: 296251325,-0.747356,9.46651,2.98942
-accelerometer: 296351270,-0.651541,10.5971,1.16894
-accelerometer: 296451032,-1.64802,9.38986,1.22643
-accelerometer: 296551221,-5.6914,6.43876,0.383259
-orientation:296651227,3
-accelerometer: 296651227,-7.47356,4.59911,-0.249119
-accelerometer: 296751203,-6.99448,4.1392,-0.306608
-accelerometer: 296851331,-7.01365,1.41806,-0.229956
-accelerometer: 296951246,-12.8009,-38.92,4.54162
-accelerometer: 297051343,39.2266,-39.2458,38.7284
-accelerometer: 297151258,39.2266,-2.51035,33.037
-accelerometer: 297251264,15.2729,-2.83612,4.1392
-orientation:297351270,4
-accelerometer: 297351270,14.2956,-3.43017,3.52599
-accelerometer: 297451246,14.9854,1.59053,2.18458
-accelerometer: 297551221,12.1302,4.5033,2.28039
-accelerometer: 297651258,-0.785682,2.98942,-0.421585
-accelerometer: 297751264,-4.36916,2.98942,1.5522
-accelerometer: 297851239,-7.9718,2.01211,0.90066
-accelerometer: 297951032,-7.58854,6.86034,-1.20727
-orientation:298051191,1
-accelerometer: 298051191,-6.0555,8.56585,0.153304
-accelerometer: 298151288,-6.36211,7.2436,0.670704
-accelerometer: 298251233,-5.78722,7.6077,0.594052
-accelerometer: 298351331,-5.44228,8.18259,0.670704
-accelerometer: 298451246,-5.49977,8.31673,0.90066
-accelerometer: 298551191,-6.24713,7.81849,1.28392
-accelerometer: 298651227,-6.13215,7.58854,0.804845
-accelerometer: 298751294,-5.97885,7.58854,0.670704
-accelerometer: 298851239,-5.72973,7.79933,0.824008
-accelerometer: 298951337,-6.30462,8.2784,0.881497
-accelerometer: 299051221,-6.64955,7.72268,0.498237
-accelerometer: 299151227,-6.53457,7.14779,0.402422
-accelerometer: 299251264,-7.47356,1.28392,0.0574889
-accelerometer: 299351239,-7.56937,-5.95968,1.43722
-accelerometer: 299451246,-12.5901,-30.8524,13.7398
-accelerometer: 299551252,39.2266,-17.9174,-7.51188
-accelerometer: 299651258,15.1962,-5.25065,1.57136
-accelerometer: 299751264,22.7656,-1.47555,3.52599
-accelerometer: 299851239,18.3773,-0.881497,4.23502
-accelerometer: 299951276,3.43017,0.613215,1.72467
-accelerometer: 300051008,-2.35705,1.99295,0.268282
-accelerometer: 300151258,-5.67224,3.21938,-0.306608
-orientation:300251050,3
-accelerometer: 300251050,-7.22444,5.174,0
-accelerometer: 300351209,-5.67224,8.08677,0.229956
-orientation:300451337,1
-accelerometer: 300451337,-4.46497,9.14074,0.70903
-accelerometer: 300551160,-4.84823,8.73831,0.670704
-accelerometer: 300651044,-5.09735,8.06761,0.555726
-accelerometer: 300751233,-4.71409,8.69999,0.632378
-accelerometer: 300851270,-5.34647,8.01012,0.594052
-accelerometer: 300951246,-5.32731,8.29757,0.344933
-accelerometer: 301051648,-5.42312,7.83765,0.728193
-accelerometer: 301151471,-5.15484,7.79933,0.268282
-accelerometer: 301251264,-5.5381,8.14426,0.210793
-accelerometer: 301351209,-5.63391,7.85682,0.268282
-accelerometer: 301451520,-5.09735,8.52752,0.383259
-accelerometer: 301551221,-5.34647,8.06761,-0.19163
-accelerometer: 301651258,-5.174,8.1251,0.766519
-accelerometer: 301751050,-5.28898,7.95263,-0.172467
-accelerometer: 301851300,-5.95968,8.56585,0.249119
-accelerometer: 301951215,-5.23149,8.20175,-0.172467
-accelerometer: 302051252,-5.55726,8.22091,-0.459911
-accelerometer: 302151014,-5.63391,7.70351,-0.019163
-accelerometer: 302251233,-5.80638,6.59206,0.268282
-accelerometer: 302351270,-7.39691,-3.4685,0.689867
-accelerometer: 302451276,-21.5583,-38.6134,7.14779
-accelerometer: 302551191,39.2266,-39.2458,27.3456
-accelerometer: 302651258,18.1665,-10.6354,4.38832
-accelerometer: 302751172,21.3284,-4.75242,2.41453
-accelerometer: 302851270,13.3566,-5.55726,4.1392
-accelerometer: 302951307,12.7434,-0.90066,2.2229
-accelerometer: 303051221,-1.3989,-0.574889,1.32224
-accelerometer: 303151319,-9.14074,1.36057,0.958148
-orientation:303251264,3
-accelerometer: 303251264,-10.463,1.87797,1.0348
-accelerometer: 303351239,-7.14779,7.26277,1.09229
-accelerometer: 303451276,-6.78369,6.99448,1.66718
-accelerometer: 303551252,-6.51541,7.33942,1.64802
-accelerometer: 303651197,-6.0555,6.53457,1.3989
-orientation:303751233,1
-accelerometer: 303751233,-5.5381,6.97532,1.09229
-accelerometer: 303851239,-5.71057,8.91078,0.689867
-accelerometer: 303951246,-5.30814,8.68083,2.08876
-accelerometer: 304051252,-5.42312,7.41607,1.72467
-accelerometer: 304151227,-5.59559,7.58854,2.01211
-accelerometer: 304251020,-5.174,8.04845,1.05396
-accelerometer: 304351239,-5.49977,8.45087,1.1881
-accelerometer: 304451307,-5.5381,7.79933,1.51387
-accelerometer: 304551221,-5.05902,8.10594,0.977311
-accelerometer: 304651319,-5.80638,8.20175,1.0348
-accelerometer: 304751233,-5.34647,8.08677,1.05396
-accelerometer: 304851026,-5.6914,7.81849,1.22643
-accelerometer: 304951276,-5.46145,8.06761,1.37973
-accelerometer: 305051282,-6.01717,7.89514,1.3989
-accelerometer: 305151258,-5.5381,8.18259,0.90066
-accelerometer: 305251325,-5.51894,7.93347,0.90066
-accelerometer: 305351239,-5.61475,8.35505,1.07313
-accelerometer: 305451276,-5.86387,7.66519,0.287445
-accelerometer: 305551252,-6.40043,5.84471,1.1881
-accelerometer: 305651227,-7.51188,-2.87445,0.747356
-accelerometer: 305751264,33.1328,-39.2458,15.6561
-accelerometer: 305851239,38.0193,-24.7202,7.32025
-accelerometer: 305951276,18.4731,-7.30109,15.5795
-accelerometer: 306051252,16.7293,-7.33942,3.96673
-accelerometer: 306151227,12.1876,-3.66013,2.7403
-accelerometer: 306251233,7.03281,-1.62885,0.19163
-accelerometer: 306351026,-8.45087,-0.632378,1.11145
-accelerometer: 306451246,-11.4403,-0.287445,2.05044
-accelerometer: 306551252,-9.33237,4.06255,0.440748
-accelerometer: 306651258,-6.70704,8.43171,-0.632378
-accelerometer: 306751325,-6.87951,6.55374,0.824008
-accelerometer: 306851239,-7.05197,6.11299,1.37973
-accelerometer: 306951032,-6.51541,6.937,0.747356
-accelerometer: 307051252,-6.55374,6.76453,1.36057
-accelerometer: 307151258,-6.99448,7.12862,1.64802
-accelerometer: 307251233,-6.11299,7.30109,0.824008
-accelerometer: 307351362,-7.05197,7.47356,0.670704
-accelerometer: 307451276,-6.11299,6.74537,0.804845
-accelerometer: 307551008,-6.40043,7.55021,0.958148
-accelerometer: 307651227,-6.49625,7.22444,1.30308
-accelerometer: 307751233,-6.24713,7.43523,1.28392
-accelerometer: 307851270,-6.43876,7.6077,1.20727
-accelerometer: 307951307,-6.11299,7.47356,1.09229
-accelerometer: 308051221,-6.32378,7.32025,1.45639
-accelerometer: 308151258,-6.18964,7.74184,1.09229
-accelerometer: 308251233,-6.26629,7.81849,0.862334
-accelerometer: 308351270,-6.24713,7.12862,1.07313
-accelerometer: 308451032,-7.14779,2.45286,1.59053
-accelerometer: 308551252,-8.2784,-8.18259,4.44581
-accelerometer: 308651258,-10.9229,-32.5004,7.78017
-accelerometer: 308751203,25.9467,-8.18259,30.335
-accelerometer: 308851362,19.1821,-1.05396,11.2487
-accelerometer: 308951276,15.5603,-5.59559,6.76453
-accelerometer: 309051191,3.18105,-0.613215,2.24207
-accelerometer: 309151044,0.824008,1.99295,1.01564
-accelerometer: 309251264,1.64802,4.92488,1.89713
-accelerometer: 309351270,0.594052,6.15131,3.12356
-accelerometer: 309451337,2.26123,5.65308,5.72973
-accelerometer: 309551252,6.40043,7.39691,7.87598
-accelerometer: 309651227,7.03281,5.95968,10.4438
-accelerometer: 309751264,1.82048,5.07819,7.85682
-accelerometer: 309851239,2.77863,5.94052,5.63391
-irProximity:309952678,0.392157
-orientation:309951215,5
-accelerometer: 309951215,1.76299,5.65308,7.20528
-irProximity:310053966,0.466667
-accelerometer: 310051008,2.2229,5.63391,7.12862
-accelerometer: 310151258,3.06608,5.88303,6.99448
-irProximity:310254985,0.580392
-accelerometer: 310251264,3.16189,6.38127,8.01012
-accelerometer: 310351270,2.03127,4.73325,6.86034
-irProximity:310456065,0.513726
-accelerometer: 310451246,1.28392,4.36916,6.76453
-accelerometer: 310551038,2.10793,2.56784,8.66166
-irProximity:310657115,0.505882
-accelerometer: 310651227,1.5522,-0.268282,7.85682
-accelerometer: 310751233,1.64802,-0.574889,11.3636
-accelerometer: 310851239,0.0574889,-0.19163,9.63897
-irProximity:310857982,0.52549
-accelerometer: 310951368,0.114978,0.632378,8.4892
-accelerometer: 311051252,0.268282,1.14978,9.71563
-irProximity:311058879,0.521569
-accelerometer: 311151014,1.43722,0.019163,9.79228
-accelerometer: 311251264,1.83965,1.05396,9.63897
-irProximity:311260173,0.631373
-accelerometer: 311351300,0.881497,0.785682,9.88809
-accelerometer: 311451246,-0.287445,-0.364096,7.01365
-irProximity:311461559,0.639216
-accelerometer: 311551313,-0.153304,0.0766519,9.23655
-accelerometer: 311651227,-0.249119,0.287445,9.79228
-irProximity:311662608,0.384314
-accelerometer: 311751294,-0.0766519,0.5174,9.73479
-accelerometer: 311851270,-0.0766519,0.210793,9.56232
-irProximity:311865062,0.376471
-accelerometer: 311951307,0.134141,0.440748,9.50483
-accelerometer: 312051221,-0.0958148,0.249119,9.35153
-accelerometer: 312151258,-0.0383259,0.0958148,9.61981
-accelerometer: 312251264,-0.114978,0.114978,9.33237
-accelerometer: 312351239,0.383259,0.0574889,9.84977
-accelerometer: 312451276,-0.172467,0.306608,9.42818
-accelerometer: 312551221,0.0766519,0.134141,9.65814
-accelerometer: 312651014,-0.019163,0.383259,9.524
-accelerometer: 312751264,0.019163,0.153304,9.56232
-accelerometer: 312851270,-0.0958148,0.306608,9.73479
-accelerometer: 312951246,0.019163,0.153304,9.6773
-accelerometer: 313051282,-0.153304,0.249119,9.40902
-accelerometer: 313151258,0.134141,0.249119,9.50483
-accelerometer: 313251020,0.114978,0.0383259,9.6773
-accelerometer: 313351270,-0.172467,0.364096,9.25571
-accelerometer: 313451307,-0.229956,0.210793,9.46651
-accelerometer: 313551282,-0.210793,0.5174,9.37069
-accelerometer: 313651136,-0.19163,0.114978,9.38986
-accelerometer: 313751264,0.153304,-0.019163,9.58148
-accelerometer: 313851270,-0.210793,0.344933,9.54316
-accelerometer: 313951276,-0.0383259,0.114978,9.42818
-accelerometer: 314051252,-0.0766519,0.594052,9.77311
-accelerometer: 314151258,0.19163,0.172467,9.65814
-accelerometer: 314251264,-0.249119,0.287445,9.42818
-accelerometer: 314351239,0.019163,0.153304,9.48567
-accelerometer: 314451276,-0.32577,0.134141,9.524
-accelerometer: 314551221,0.0958148,-0.019163,9.54316
-accelerometer: 314651227,0.210793,0.153304,9.65814
-accelerometer: 314751020,-0.268282,0.153304,9.61981
-accelerometer: 314851270,-0.0958148,0.153304,9.48567
-accelerometer: 314951307,-0.0958148,0.306608,9.524
-accelerometer: 315051252,0.114978,0.229956,9.29404
-accelerometer: 315151319,0.249119,0.134141,9.73479
-accelerometer: 315251203,0.153304,0,9.63897
-accelerometer: 315351026,-0.0383259,0.114978,9.61981
-accelerometer: 315451276,0.0574889,0.19163,9.58148
-accelerometer: 315551252,-0.172467,0.306608,9.54316
-accelerometer: 315651593,-0.153304,0.364096,9.46651
-accelerometer: 315751386,-0.249119,0.0958148,9.61981
-accelerometer: 315851270,-0.019163,0.479074,9.21739
-accelerometer: 315951276,-0.0574889,0,9.44734
-accelerometer: 316051343,-0.0574889,0.306608,9.33237
-accelerometer: 316151258,-0.268282,0,9.58148
-accelerometer: 316251264,-0.0574889,0.498237,9.6773
-accelerometer: 316351239,0.019163,-0.785682,9.73479
-accelerometer: 316451246,-0.0574889,0.19163,9.61981
-accelerometer: 316551252,-0.019163,0.0958148,9.60065
-accelerometer: 316651258,-0.172467,0.728193,9.54316
-accelerometer: 316751233,0.134141,0.344933,9.54316
-accelerometer: 316851026,-0.134141,0.0958148,9.524
-accelerometer: 316951276,0.0958148,0.383259,9.81144
-accelerometer: 317051252,-0.0574889,0.153304,9.44734
-accelerometer: 317151258,-0.134141,0.153304,9.29404
-accelerometer: 317251294,-0.19163,0.421585,9.81144
-accelerometer: 317351270,-0.32577,0.5174,9.524
-accelerometer: 317451032,-0.172467,0.287445,9.48567
-accelerometer: 317551313,0.114978,0.287445,9.44734
-accelerometer: 317651227,0.134141,0.114978,9.33237
-accelerometer: 317751264,-0.0958148,0.364096,9.60065
-accelerometer: 317851331,-0.0958148,0.0766519,9.35153
-accelerometer: 317951276,-0.172467,0.402422,9.524
-accelerometer: 318051313,-0.019163,0.134141,9.33237
-accelerometer: 318151258,0.114978,0.134141,9.77311
-accelerometer: 318251233,0.0574889,0,9.88809
-accelerometer: 318351270,0.0574889,0.364096,9.77311
-accelerometer: 318451276,-0.172467,0.134141,9.61981
-accelerometer: 318551252,-0.210793,0.364096,9.65814
-accelerometer: 318651258,-0.134141,0.249119,9.58148
-accelerometer: 318751264,-0.0574889,0.019163,9.27488
-accelerometer: 318851026,-0.0383259,0.19163,9.58148
-accelerometer: 318951276,-0.0958148,0.134141,9.63897
-accelerometer: 319051252,0.172467,0.229956,9.61981
-accelerometer: 319151258,-0.0958148,0.210793,9.50483
-accelerometer: 319251233,0.134141,0.172467,9.56232
-accelerometer: 319351331,-0.210793,0.19163,9.40902
-accelerometer: 319451276,-0.0766519,0.114978,9.42818
-accelerometer: 319550977,0.0766519,0.249119,9.44734
-accelerometer: 319650953,-0.421585,0.210793,9.42818
-accelerometer: 319751264,0.019163,0,9.37069
-accelerometer: 319851270,-0.229956,0.440748,9.40902
-accelerometer: 319951337,-0.229956,0.114978,9.42818
-accelerometer: 320051252,0.114978,-0.019163,9.21739
-accelerometer: 320151258,-0.0574889,0.32577,9.23655
-accelerometer: 320251264,0.114978,0.0383259,9.54316
-accelerometer: 320351270,-0.172467,-0.0383259,9.50483
-accelerometer: 320451276,0.0574889,-0.019163,9.77311
-accelerometer: 320551282,-0.0383259,0.153304,9.65814
-accelerometer: 320651197,-0.172467,0.229956,9.61981
-accelerometer: 320751355,-0.019163,0.249119,9.46651
-accelerometer: 320851270,-0.172467,0.364096,9.25571
-accelerometer: 320951246,-0.172467,0.306608,9.48567
-accelerometer: 321051008,0.0383259,0.32577,9.27488
-accelerometer: 321151014,0,0.0958148,9.524
-accelerometer: 321251264,-0.0574889,-0.0958148,9.40902
-accelerometer: 321351270,-0.134141,0.134141,9.61981
-accelerometer: 321451185,0.32577,-0.0766519,9.58148
-accelerometer: 321551221,-0.210793,0.210793,9.44734
-accelerometer: 321651014,-0.32577,0.32577,9.524
-accelerometer: 321751264,-0.153304,0.134141,9.6773
-accelerometer: 321851239,0.114978,0.172467,9.1599
-accelerometer: 321951276,-0.019163,0.32577,9.58148
-accelerometer: 322051313,0.0766519,0.268282,9.44734
-accelerometer: 322151258,-0.5174,0.306608,9.50483
-accelerometer: 322251233,-0.0766519,0.0383259,9.48567
-accelerometer: 322351270,-0.172467,0.249119,9.46651
-accelerometer: 322451246,-0.0958148,0.364096,9.25571
-accelerometer: 322551252,-0.0766519,0.0383259,9.56232
-accelerometer: 322651227,-0.19163,0.19163,9.63897
-accelerometer: 322751233,-0.229956,0.0574889,9.44734
-accelerometer: 322851270,0.0383259,0.268282,9.6773
-accelerometer: 322951246,-0.0958148,0.0958148,9.60065
-accelerometer: 323051008,-0.0383259,1.30308,9.48567
-accelerometer: 323151014,-0.0766519,0.210793,9.65814
-accelerometer: 323251264,0.019163,-0.153304,9.69646
-accelerometer: 323351239,-0.268282,0.019163,9.44734
-accelerometer: 323451276,-0.229956,0.32577,9.35153
-accelerometer: 323551313,-0.019163,0.229956,9.21739
-accelerometer: 323651258,0.0574889,0.344933,9.73479
-accelerometer: 323751020,-0.0574889,0.19163,9.48567
-accelerometer: 323851270,-0.0766519,0.402422,9.38986
-accelerometer: 323951246,0.0574889,0.153304,9.35153
-accelerometer: 324051252,0.0766519,0.153304,9.58148
-accelerometer: 324151319,0,0.172467,9.48567
-accelerometer: 324251294,-0.210793,0.306608,9.35153
-accelerometer: 324351270,-0.153304,0.0766519,9.58148
-accelerometer: 324451276,0.229956,0.210793,9.48567
-accelerometer: 324551221,0.019163,0.210793,9.63897
-accelerometer: 324651258,0.019163,0.268282,9.37069
-accelerometer: 324751264,-0.210793,0.0766519,9.35153
-accelerometer: 324851270,-0.0383259,0.344933,9.58148
-accelerometer: 324951276,0.0383259,0.249119,9.58148
-accelerometer: 325051252,0.114978,0.0574889,9.65814
-accelerometer: 325151258,-0.134141,0.134141,9.37069
-accelerometer: 325251020,-0.287445,0.344933,9.0066
-accelerometer: 325351270,0.019163,0.5174,9.37069
-accelerometer: 325451307,-0.0574889,0.344933,9.60065
-accelerometer: 325551252,0.019163,0.0383259,9.54316
-accelerometer: 325651319,-0.0958148,0.229956,9.6773
-accelerometer: 325751264,0.019163,0.459911,9.58148
-accelerometer: 325851026,0.0383259,-0.0383259,9.524
-accelerometer: 325951276,-0.114978,0.287445,9.61981
-accelerometer: 326051313,0.0958148,0.172467,9.46651
-accelerometer: 326151258,-0.0383259,0.306608,9.6773
-accelerometer: 326251355,-0.19163,0.210793,9.40902
-accelerometer: 326351270,-0.153304,-0.019163,9.60065
-accelerometer: 326451276,-0.0766519,0.153304,9.40902
-accelerometer: 326551221,-0.249119,0.287445,9.54316
-accelerometer: 326651258,0,0.153304,9.38986
-accelerometer: 326751294,0.134141,0.344933,9.56232
-accelerometer: 326851270,-0.229956,0.421585,9.46651
-accelerometer: 326951093,-0.229956,0.19163,9.54316
-accelerometer: 327051252,-0.364096,0.574889,9.50483
-accelerometer: 327151258,-0.0574889,0.249119,9.79228
-accelerometer: 327251264,-0.268282,0.0766519,9.3132
-accelerometer: 327351026,-0.0766519,0.0574889,9.42818
-accelerometer: 327451246,0.134141,0.19163,9.63897
-accelerometer: 327551252,-0.249119,0.440748,9.54316
-accelerometer: 327651227,-0.268282,0.306608,9.40902
-accelerometer: 327751142,0.0574889,0.0383259,9.56232
-accelerometer: 327851270,-0.306608,0.421585,9.69646
-accelerometer: 327951062,0,0.287445,9.61981
-accelerometer: 328051252,-0.210793,0.364096,9.44734
-accelerometer: 328151258,0.019163,0.153304,9.63897
-accelerometer: 328251264,-0.153304,0.153304,9.3132
-accelerometer: 328351362,0,0.172467,9.61981
-accelerometer: 328451276,-0.0958148,0.134141,9.56232
-accelerometer: 328551221,-0.0766519,0.383259,9.69646
-accelerometer: 328651258,-0.0958148,0.114978,9.33237
-accelerometer: 328751477,0.0958148,0.383259,9.8306
-accelerometer: 328851117,-0.0958148,0.153304,9.29404
-accelerometer: 328951246,-0.0766519,0.172467,9.61981
-accelerometer: 329051252,-0.210793,0.268282,9.60065
-accelerometer: 329151227,0.019163,0.114978,9.92642
-accelerometer: 329251264,-0.134141,0.229956,9.54316
-accelerometer: 329351239,-0.229956,0.229956,9.61981
-accelerometer: 329451032,-0.268282,0.421585,9.19823
-accelerometer: 329551252,-0.153304,0.0383259,9.60065
-accelerometer: 329651258,-0.0574889,0.268282,9.61981
-accelerometer: 329751264,-0.0766519,0.364096,9.48567
-accelerometer: 329851331,-0.114978,0.383259,9.524
-accelerometer: 329951276,-0.19163,0.287445,8.87245
-irProximity:329965036,0.443137
-accelerometer: 330051252,0.249119,-1.28392,10.8079
-irProximity:330066538,0.486275
-accelerometer: 330151258,-2.10793,-5.05902,15.2346
-accelerometer: 330251233,-0.0958148,-3.94757,13.6824
-irProximity:330267557,0.4
-accelerometer: 330351239,-1.1881,5.46145,3.89008
-irProximity:330368875,0.407843
-accelerometer: 330451368,-2.16542,7.85682,7.56937
-irProximity:330470224,0.392157
-accelerometer: 330551252,-0.862334,11.7277,4.12004
-irProximity:330571543,0.376471
-accelerometer: 330651227,5.26982,6.91783,9.98391
-accelerometer: 330751264,6.36211,8.04845,7.58854
-accelerometer: 330851270,0.555726,5.09735,5.28898
-accelerometer: 330951246,-1.97379,4.44581,6.89867
-accelerometer: 331051252,-6.80285,2.01211,4.69493
-orientation:331151319,3
-accelerometer: 331151319,-8.71915,2.31872,5.00153
-accelerometer: 331251050,-9.42818,0.70903,4.21585
-accelerometer: 331351270,-5.78722,-1.1881,1.66718
-accelerometer: 331451246,-6.36211,-10.7313,4.25418
-accelerometer: 331551069,-14.7555,-39.2458,9.3132
-accelerometer: 331651258,39.2266,-20.8876,19.7379
-accelerometer: 331751233,24.5861,-2.89361,-4.75242
-accelerometer: 331851270,12.4943,-8.52752,8.92994
-accelerometer: 331951337,12.5326,-5.03986,2.47202
-accelerometer: 332051252,12.9733,-0.479074,2.79779
-accelerometer: 332151014,7.30109,0.747356,0.90066
-accelerometer: 332251325,4.56079,3.60264,2.16542
-accelerometer: 332351300,-2.18458,5.19316,1.53304
-accelerometer: 332451276,-5.57642,4.42665,0.555726
-accelerometer: 332551313,-8.35505,5.80638,-0.824008
-accelerometer: 332651258,-7.64602,6.91783,0.172467
-accelerometer: 332751233,-5.99801,6.70704,0.747356
-accelerometer: 332851270,-8.1251,6.01717,-0.0958148
-accelerometer: 332951246,-7.99096,5.63391,0.728193
-accelerometer: 333051191,-6.82202,6.03634,0.632378
-accelerometer: 333151227,-8.10594,4.00506,0.804845
-accelerometer: 333251325,-10.0031,-2.97026,0.249119
-accelerometer: 333351270,-10.3672,-21.2517,5.23149
-accelerometer: 333451246,35.1832,-32.7304,-13.7207
-accelerometer: 333551252,20.0828,-10.5205,12.1302
-accelerometer: 333651014,17.3042,-6.03634,-3.73678
-accelerometer: 333751233,10.4055,-4.79074,2.51035
-accelerometer: 333851270,13.05,-0.958148,0.919823
-orientation:333951276,4
-accelerometer: 333951276,12.3218,-0.19163,0.498237
-accelerometer: 334051313,6.09382,4.27334,-1.36057
-accelerometer: 334151258,-0.728193,2.75947,-1.24559
-accelerometer: 334251111,-5.61475,2.47202,1.24559
-accelerometer: 334351239,-8.50836,4.1392,-0.574889
-accelerometer: 334451307,-6.03634,9.19823,0.0383259
-accelerometer: 334551252,-7.81849,7.74184,0.958148
-accelerometer: 334651166,-5.42312,7.20528,0.881497
-orientation:334751264,1
-accelerometer: 334751264,-5.34647,8.16343,1.45639
-accelerometer: 334851178,-5.67224,8.35505,1.78216
-accelerometer: 334951276,-6.28545,7.2436,1.59053
-accelerometer: 335051252,-6.66871,6.82202,1.5522
-accelerometer: 335151258,-3.66013,9.02576,0.536563
-accelerometer: 335251996,-5.6914,7.26277,0.938986
-accelerometer: 335351270,-6.91783,4.48413,0.766519
-accelerometer: 335451276,-7.78017,-14.7172,-0.0766519
-accelerometer: 335551252,22.2865,-39.2458,-3.33436
-accelerometer: 335651258,39.2266,-24.1837,-3.69845
-accelerometer: 335751020,18.9905,-2.64449,-1.53304
-accelerometer: 335851270,15.2729,-4.23502,0.306608
-accelerometer: 335951093,14.9471,-3.56431,2.97026
-accelerometer: 336051252,13.759,-2.33788,0.670704
-accelerometer: 336151319,16.9592,4.23502,-1.09229
-accelerometer: 336251111,-4.23502,-0.728193,1.09229
-accelerometer: 336351026,-7.0903,-0.172467,-0.364096
-accelerometer: 336451276,-8.58501,4.98237,-0.287445
-accelerometer: 336551252,-7.89514,5.48061,2.29956
-orientation:336651227,3
-accelerometer: 336651227,-7.66519,5.48061,0.728193
-accelerometer: 336751294,-8.54668,5.30814,0.402422
-accelerometer: 336851270,-8.02928,5.46145,0.440748
-accelerometer: 336951276,-7.74184,5.71057,1.51387
-accelerometer: 337051038,-7.761,5.32731,0.479074
-accelerometer: 337151227,-8.37422,5.11651,1.43722
-accelerometer: 337251233,-7.56937,6.70704,0.728193
-accelerometer: 337351270,-9.02576,4.77158,0.402422
-accelerometer: 337451246,-8.98743,-0.766519,1.09229
-accelerometer: 337551252,-8.69999,-7.37774,0.670704
-accelerometer: 337651197,-4.54162,-21.1176,4.88656
-accelerometer: 337751447,39.2266,-39.2458,5.30814
-accelerometer: 337851056,17.3617,-4.86739,7.28193
-accelerometer: 337951276,15.4837,-3.9859,-2.49119
-accelerometer: 338051221,12.8584,-4.02422,0.785682
-accelerometer: 338151136,25.4484,7.26277,2.85528
-accelerometer: 338251386,6.34294,-0.210793,-0.919823
-accelerometer: 338351270,1.14978,2.0696,1.1881
-accelerometer: 338451032,-4.71409,3.87092,-0.172467
-accelerometer: 338551221,-4.34999,6.0555,1.01564
-accelerometer: 338651288,-4.59911,7.55021,3.52599
-accelerometer: 338751264,-1.51387,8.39338,4.42665
-accelerometer: 338851392,-0.651541,10.0606,-1.11145
-accelerometer: 338951246,0.229956,11.6894,-4.04339
-accelerometer: 339051252,3.4685,9.37069,-3.02775
-orientation:339151258,1
-accelerometer: 339151258,3.27687,9.02576,-1.5522
-accelerometer: 339251264,1.64802,9.10241,0.306608
-accelerometer: 339351270,1.45639,9.40902,-0.019163
-accelerometer: 339451276,1.26476,9.84977,-0.19163
-accelerometer: 339551221,-0.134141,12.0918,1.32224
-accelerometer: 339651258,-1.01564,11.9769,4.34999
-accelerometer: 339751233,-2.89361,12.9158,4.77158
-accelerometer: 339851270,-2.05044,10.0031,3.96673
-accelerometer: 339951032,-1.1881,7.93347,3.92841
-accelerometer: 340051221,2.03127,6.40043,1.82048
-accelerometer: 340151227,2.01211,8.6425,2.54868
-accelerometer: 340251264,5.71057,7.0903,1.9163
-accelerometer: 340351331,7.33942,4.88656,-0.5174
-irProximity:340381173,0.380392
-orientation:340451246,4
-accelerometer: 340451246,9.29404,4.92488,-1.24559
-accelerometer: 340551008,7.28193,6.91783,1.26476
-accelerometer: 340651258,9.04492,6.13215,-0.421585
-accelerometer: 340751233,9.40902,6.45792,-1.85881
-accelerometer: 340851239,6.937,6.15131,-1.28392
-accelerometer: 340951368,7.51188,6.30462,-1.16894
-irProximity:340986917,0.376471
-accelerometer: 341051221,7.83765,5.95968,-0.785682
-accelerometer: 341151258,5.92136,8.81497,-4.34999
-accelerometer: 341251233,6.95616,7.28193,-3.23854
-accelerometer: 341351300,7.35858,6.18964,-1.82048
-accelerometer: 341451215,7.89514,6.07466,-0.19163
-accelerometer: 341551221,8.37422,1.64802,1.43722
-accelerometer: 341651258,12.3601,-8.81497,4.54162
-accelerometer: 341751233,0.306608,-33.3052,7.14779
-accelerometer: 341851209,-39.2458,-13.874,7.20528
-accelerometer: 341951246,-22.2099,-4.96321,-2.05044
-accelerometer: 342051038,-10.1755,-6.13215,0.862334
-accelerometer: 342151410,-11.6319,-4.10088,0.479074
-accelerometer: 342251264,-15.2154,0.881497,-0.229956
-accelerometer: 342351239,-8.7958,1.82048,-0.632378
-accelerometer: 342451337,-0.651541,2.29956,-0.919823
-accelerometer: 342551221,6.95616,4.23502,0.32577
-accelerometer: 342651014,6.45792,5.80638,-0.229956
-accelerometer: 342751233,7.12862,7.10946,0.249119
-accelerometer: 342851300,6.53457,7.16695,-0.364096
-accelerometer: 342951276,6.87951,7.33942,-0.249119
-accelerometer: 343051313,7.28193,7.07114,0.0766519
-accelerometer: 343151227,6.97532,6.84118,0.306608
-accelerometer: 343251264,7.6077,6.91783,-0.0766519
-accelerometer: 343351300,7.41607,6.55374,-0.19163
-accelerometer: 343451276,8.56585,4.21585,0.785682
-accelerometer: 343551252,8.4892,-7.32025,3.00859
-accelerometer: 343651258,3.96673,-24.9502,3.89008
-accelerometer: 343751233,-28.4953,-30.45,-2.70198
-accelerometer: 343851239,-19.7762,-5.61475,-0.287445
-accelerometer: 343951246,-11.6511,-4.29251,0.32577
-orientation:344051252,3
-accelerometer: 344051252,-10.6929,-4.19669,0.459911
-accelerometer: 344151166,-13.3374,-3.33436,1.30308
-accelerometer: 344251233,-14.1614,0.0383259,-0.172467
-accelerometer: 344351300,-8.16343,1.78216,-1.32224
-accelerometer: 344451276,-2.24207,3.83259,-0.498237
-accelerometer: 344551313,9.12157,0.536563,0.70903
-orientation:344651258,4
-accelerometer: 344651258,9.25571,2.18458,0.440748
-irProximity:344728036,0.380392
-accelerometer: 344751050,8.39338,4.75242,0.0383259
-accelerometer: 344851270,8.7958,5.67224,-0.0766519
-accelerometer: 344951307,8.45087,5.55726,-0.019163
-accelerometer: 345051252,8.20175,5.6914,-0.421585
-accelerometer: 345151319,7.99096,5.57642,-0.344933
-accelerometer: 345251233,8.68083,5.0207,-0.0958148
-accelerometer: 345351239,9.25571,3.87092,0.0766519
-accelerometer: 345451276,10.2714,0.287445,1.09229
-irProximity:345536569,0.376471
-accelerometer: 345551252,0.574889,-24.4903,3.00859
-accelerometer: 345651258,-6.26629,-39.2458,1.9163
-irProximity:345738778,0.384314
-accelerometer: 345751294,-39.2458,-33.7843,5.19316
-irProximity:345840157,0.392157
-accelerometer: 345851331,-14.0848,-11.6702,0.402422
-irProximity:345941506,0.380392
-accelerometer: 345951062,-9.73479,-6.38127,-0.172467
-irProximity:346043160,0.376471
-accelerometer: 346051038,-12.8967,-5.80638,0.862334
-accelerometer: 346151349,-15.5412,-2.89361,-0.919823
-accelerometer: 346251020,-7.93347,3.06608,-0.70903
-accelerometer: 346351239,-0.421585,1.74383,-0.19163
-accelerometer: 346451276,4.21585,2.68282,-0.210793
-accelerometer: 346551252,7.89514,5.46145,0.421585
-accelerometer: 346651349,7.01365,6.03634,0.172467
-accelerometer: 346751477,7.89514,6.18964,0.287445
-accelerometer: 346851392,7.56937,5.94052,-0.32577
-accelerometer: 346951215,7.39691,6.86034,-0.134141
-accelerometer: 347051313,7.49272,7.26277,-0.536563
-accelerometer: 347151258,8.08677,6.13215,0.229956
-accelerometer: 347251355,8.37422,5.76805,-0.19163
-accelerometer: 347351270,8.91078,1.78216,0.536563
-accelerometer: 347451307,10.7888,-4.77158,3.2577
-accelerometer: 347551221,7.37774,-30.0092,8.1251
-accelerometer: 347651258,-39.2458,-27.3072,7.39691
-accelerometer: 347751203,-25.3909,-5.44228,-0.210793
-irProximity:347762338,0.392157
-accelerometer: 347851300,-17.2467,-6.68788,1.22643
-irProximity:347863381,0.388235
-accelerometer: 347951276,-12.226,-1.7055,-0.0574889
-irProximity:347964425,0.376471
-accelerometer: 348051252,-9.96474,-0.632378,1.43722
-accelerometer: 348151197,-0.268282,1.1881,2.72114
-accelerometer: 348251264,4.10088,1.99295,2.12709
-accelerometer: 348351026,5.78722,3.71762,0.747356
-accelerometer: 348451276,3.21938,4.48413,2.66365
-accelerometer: 348551252,-1.37973,5.0207,7.70351
-accelerometer: 348651258,-0.19163,4.94405,12.111
-accelerometer: 348751325,-0.5174,5.80638,8.60417
-orientation:348851270,5
-accelerometer: 348851270,0,4.48413,8.69999
-accelerometer: 348952070,-2.28039,4.5033,8.14426
-accelerometer: 349051221,-0.728193,4.73325,9.35153
-accelerometer: 349150922,-2.52951,3.90925,9.92642
-accelerometer: 349251081,-2.97026,3.87092,7.85682
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat
deleted file mode 100644
index f3ec2e92..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_tiltedtwist.dat
+++ /dev/null
@@ -1,260 +0,0 @@
-orientation:6291210832,5
-accelerometer: 6292150682,0.402422,1.99295,9.23655
-accelerometer: 6292171190,0.0574889,2.08876,9.27488
-accelerometer: 6292190996,-0.0958148,2.12709,9.08325
-accelerometer: 6292210649,0.0383259,2.05044,9.19823
-accelerometer: 6292231401,0.0574889,2.39537,9.1599
-irProximity:6292235233,0.294118
-accelerometer: 6292250658,-0.0958148,1.85881,9.10241
-proximity:6292264896,0
-accelerometer: 6292271013,-0.287445,1.82048,9.25571
-accelerometer: 6292290971,-0.019163,1.85881,9.38986
-accelerometer: 6292310899,0.172467,1.87797,9.56232
-accelerometer: 6292330736,-0.0383259,1.7055,9.37069
-accelerometer: 6292350969,0.153304,1.7055,9.42818
-accelerometer: 6292370897,-0.019163,1.83965,9.56232
-accelerometer: 6292390886,0.0766519,1.85881,9.50483
-accelerometer: 6292411028,0.210793,1.78216,9.65814
-accelerometer: 6292430895,0,1.80132,9.54316
-accelerometer: 6292450945,0.19163,2.01211,9.63897
-accelerometer: 6292470934,0.268282,1.87797,9.8306
-accelerometer: 6292490892,0.0574889,1.95462,9.42818
-accelerometer: 6292510942,0,2.10793,9.48567
-accelerometer: 6292530779,0.172467,2.33788,9.61981
-accelerometer: 6292550890,-0.0574889,2.87445,9.42818
-accelerometer: 6292571062,0.210793,2.72114,9.98391
-accelerometer: 6292591142,0.249119,2.77863,10.0989
-accelerometer: 6292610918,0.479074,3.12356,10.578
-accelerometer: 6292630785,0.114978,3.00859,10.4821
-accelerometer: 6292650926,0.114978,3.08524,10.3672
-accelerometer: 6292670885,0.19163,3.50682,10.4055
-accelerometer: 6292690904,0.268282,4.12004,10.5205
-accelerometer: 6292710893,0.555726,4.25418,10.3863
-accelerometer: 6292731065,0.5174,4.21585,10.0797
-accelerometer: 6292751146,0.536563,4.79074,9.73479
-accelerometer: 6292770921,0.766519,5.05902,9.61981
-accelerometer: 6292790971,0.268282,4.80991,8.96827
-accelerometer: 6292810869,0.134141,5.15484,8.20175
-accelerometer: 6292830888,0.153304,5.55726,7.66519
-irProximity:6292845401,0.298039
-accelerometer: 6292851061,0.364096,5.6914,7.83765
-accelerometer: 6292871324,0.134141,5.65308,7.81849
-accelerometer: 6292891008,-0.153304,6.18964,7.10946
-accelerometer: 6292910967,0.210793,5.99801,6.74537
-accelerometer: 6292930864,0.0766519,6.30462,5.88303
-accelerometer: 6292950975,-0.172467,6.36211,6.36211
-accelerometer: 6292970934,0.306608,6.74537,6.70704
-accelerometer: 6292990740,0.210793,6.78369,6.36211
-accelerometer: 6293010912,0.344933,6.7262,5.67224
-accelerometer: 6293030901,0.114978,7.03281,5.5381
-orientation:6293030901,1
-accelerometer: 6293050951,0.019163,6.99448,5.63391
-accelerometer: 6293071184,-0.229956,7.03281,5.00153
-accelerometer: 6293090959,-0.19163,7.6077,5.15484
-accelerometer: 6293110948,0.306608,7.53105,4.88656
-accelerometer: 6293130907,0.249119,7.33942,4.73325
-accelerometer: 6293150774,0.153304,7.22444,4.56079
-accelerometer: 6293170885,-0.0958148,7.83765,4.5033
-accelerometer: 6293190935,-0.229956,7.55021,4.57995
-accelerometer: 6293210954,-0.172467,7.43523,4.88656
-accelerometer: 6293231401,0.0766519,7.66519,5.07819
-accelerometer: 6293250963,-0.019163,7.72268,4.77158
-accelerometer: 6293270860,-0.019163,7.81849,5.05902
-accelerometer: 6293290941,0.0766519,7.79933,5.51894
-accelerometer: 6293310899,-0.019163,7.87598,5.28898
-accelerometer: 6293330705,0.0574889,7.95263,5.28898
-accelerometer: 6293350786,0.019163,7.99096,5.6914
-accelerometer: 6293371111,-0.019163,7.99096,5.57642
-accelerometer: 6293391130,-0.172467,7.89514,5.48061
-accelerometer: 6293410967,0,8.37422,5.57642
-accelerometer: 6293430956,0,7.95263,5.61475
-irProximity:6293451419,0.301961
-accelerometer: 6293451433,0.287445,8.06761,5.72973
-accelerometer: 6293470934,0.019163,8.10594,5.55726
-accelerometer: 6293490892,0.153304,8.31673,5.99801
-accelerometer: 6293510912,0.114978,7.9718,5.78722
-accelerometer: 6293531114,-0.019163,7.74184,5.48061
-irProximity:6293553165,0.298039
-accelerometer: 6293552599,-0.172467,8.04845,5.59559
-accelerometer: 6293570970,0.0574889,8.24008,5.65308
-accelerometer: 6293590990,-0.019163,7.87598,5.11651
-accelerometer: 6293610918,0.0383259,7.9718,5.61475
-accelerometer: 6293630907,-0.153304,8.04845,5.72973
-accelerometer: 6293650713,0.114978,7.93347,5.80638
-irProximity:6293654789,0.301961
-accelerometer: 6293670885,0.268282,8.14426,5.6914
-accelerometer: 6293691026,4.82907,7.93347,5.51894
-accelerometer: 6293711076,0.0574889,7.91431,5.86387
-accelerometer: 6293730852,-0.134141,7.72268,5.78722
-accelerometer: 6293750688,-0.0958148,7.9718,5.19316
-accelerometer: 6293770952,-0.0574889,8.33589,5.36563
-accelerometer: 6293790971,0,8.14426,5.23149
-accelerometer: 6293810899,0.210793,7.85682,5.36563
-accelerometer: 6293830919,0.0958148,7.99096,5.21233
-accelerometer: 6293850908,0.689867,8.18259,5.174
-accelerometer: 6293871141,1.34141,7.49272,5.25065
-accelerometer: 6293890947,2.03127,7.93347,4.86739
-accelerometer: 6293910906,2.70198,7.37774,3.56431
-accelerometer: 6293930895,4.19669,7.81849,3.1044
-accelerometer: 6293950762,4.31167,7.761,2.60616
-irProximity:6293959507,0.294118
-accelerometer: 6293970964,6.32378,8.04845,1.05396
-accelerometer: 6293990740,7.33942,9.61981,2.28039
-accelerometer: 6294011064,7.01365,9.23655,1.41806
-accelerometer: 6294031145,6.55374,8.45087,-0.344933
-accelerometer: 6294050768,5.61475,7.79933,-0.574889
-accelerometer: 6294070970,5.15484,8.83413,-0.268282
-accelerometer: 6294090929,3.92841,7.89514,-1.78216
-accelerometer: 6294110887,2.37621,7.83765,-2.33788
-accelerometer: 6294130785,2.97026,8.68083,-1.68634
-accelerometer: 6294150743,2.9511,8.75748,-2.62533
-accelerometer: 6294170885,3.1044,8.43171,-3.43017
-accelerometer: 6294191362,3.73678,9.0066,-3.81343
-accelerometer: 6294210954,4.46497,9.19823,-3.89008
-accelerometer: 6294230882,4.5033,8.92994,-3.90925
-accelerometer: 6294251177,3.87092,8.69999,-4.40748
-accelerometer: 6294270860,4.34999,8.85329,-4.23502
-accelerometer: 6294290971,4.29251,8.94911,-3.56431
-accelerometer: 6294310899,4.21585,9.06409,-3.08524
-accelerometer: 6294331072,4.06255,8.50836,-3.23854
-accelerometer: 6294351152,4.00506,8.75748,-2.7403
-accelerometer: 6294370958,4.12004,8.89162,-1.5522
-accelerometer: 6294390917,4.75242,9.10241,-0.632378
-accelerometer: 6294410906,4.75242,8.89162,-0.70903
-accelerometer: 6294430895,5.25065,8.54668,0.0383259
-accelerometer: 6294450945,5.90219,8.69999,1.14978
-accelerometer: 6294470934,6.03634,8.14426,2.39537
-accelerometer: 6294491075,6.17048,7.64602,3.73678
-accelerometer: 6294511125,5.90219,7.68435,4.33083
-accelerometer: 6294530870,5.13568,7.18611,4.36916
-accelerometer: 6294550920,3.18105,7.91431,4.06255
-irProximity:6294567813,0.301961
-accelerometer: 6294570970,1.89713,8.69999,2.89361
-accelerometer: 6294590898,0.632378,7.20528,3.89008
-accelerometer: 6294610918,-0.134141,7.2436,5.03986
-accelerometer: 6294630907,-0.555726,7.39691,6.7262
-accelerometer: 6294651048,-0.632378,7.58854,7.41607
-irProximity:6294669376,0.298039
-accelerometer: 6294671129,-0.632378,7.37774,6.43876
-accelerometer: 6294690935,-0.613215,7.10946,4.69493
-accelerometer: 6294710893,-1.13062,7.22444,4.59911
-accelerometer: 6294730943,-1.07313,7.39691,6.24713
-accelerometer: 6294750902,-0.766519,7.32025,5.76805
-accelerometer: 6294771105,-0.785682,6.97532,6.26629
-accelerometer: 6294790910,-0.728193,7.2436,6.13215
-accelerometer: 6294811052,-0.536563,7.30109,5.84471
-accelerometer: 6294831163,-0.498237,7.28193,6.34294
-accelerometer: 6294851061,-0.114978,7.9718,7.12862
-accelerometer: 6294871080,-0.114978,7.26277,5.90219
-accelerometer: 6294890917,-0.421585,7.56937,5.99801
-accelerometer: 6294910906,-0.440748,7.55021,5.99801
-accelerometer: 6294930895,0.0574889,6.87951,6.03634
-accelerometer: 6294950945,-0.306608,7.4544,6.937
-accelerometer: 6294970689,-0.364096,7.37774,5.86387
-irProximity:6294974216,0.301961
-accelerometer: 6294990892,-0.498237,7.74184,6.07466
-accelerometer: 6295010973,-0.19163,7.47356,6.30462
-accelerometer: 6295030901,-0.0574889,7.53105,6.82202
-accelerometer: 6295050890,0.0766519,7.43523,6.82202
-accelerometer: 6295070726,-0.364096,7.47356,6.49625
-accelerometer: 6295090898,0.0383259,7.55021,6.74537
-accelerometer: 6295110918,0.172467,7.58854,6.82202
-accelerometer: 6295131059,0.153304,7.28193,6.5729
-accelerometer: 6295150896,0.0574889,7.12862,6.84118
-accelerometer: 6295170854,-0.383259,7.37774,6.41959
-accelerometer: 6295191026,0.0766519,7.18611,6.17048
-accelerometer: 6295210924,-0.19163,7.28193,6.51541
-accelerometer: 6295231127,-0.344933,7.32025,6.45792
-accelerometer: 6295251054,-0.459911,7.47356,6.95616
-accelerometer: 6295270921,-0.440748,7.51188,6.76453
-irProximity:6295277225,0.298039
-accelerometer: 6295291063,-0.364096,7.18611,6.13215
-accelerometer: 6295311083,-0.0958148,7.56937,6.45792
-accelerometer: 6295330705,0.114978,7.32025,6.78369
-accelerometer: 6295350939,-0.019163,7.18611,6.22797
-accelerometer: 6295370744,-0.5174,7.01365,5.92136
-irProximity:6295378910,0.301961
-accelerometer: 6295390947,-0.114978,7.01365,6.63039
-accelerometer: 6295410936,-0.134141,7.03281,6.59206
-accelerometer: 6295430895,0.0574889,7.01365,6.66871
-accelerometer: 6295451067,0.364096,7.18611,6.80285
-accelerometer: 6295470934,0.651541,6.70704,6.74537
-irProximity:6295480533,0.298039
-accelerometer: 6295490953,-0.0574889,7.37774,6.97532
-accelerometer: 6295510942,0.0574889,7.05197,6.51541
-accelerometer: 6295530901,-0.287445,7.18611,6.68788
-accelerometer: 6295550890,0.019163,6.99448,6.84118
-accelerometer: 6295570757,0.019163,7.41607,6.937
-irProximity:6295582218,0.301961
-accelerometer: 6295590898,0.0766519,7.0903,6.80285
-accelerometer: 6295611070,0.364096,7.39691,6.55374
-accelerometer: 6295631151,0.402422,7.16695,6.34294
-accelerometer: 6295650957,0.32577,7.20528,6.5729
-accelerometer: 6295670915,0.364096,6.99448,6.97532
-irProximity:6295683841,0.298039
-accelerometer: 6295690965,-0.019163,6.97532,6.55374
-accelerometer: 6295710893,-0.268282,7.26277,6.18964
-accelerometer: 6295730943,-0.440748,6.937,6.28545
-accelerometer: 6295750932,-0.19163,7.2436,6.53457
-accelerometer: 6295771074,-0.0574889,7.22444,6.61122
-accelerometer: 6295791185,0,7.30109,6.24713
-accelerometer: 6295810960,-0.0383259,7.01365,6.53457
-accelerometer: 6295830949,-0.0958148,6.97532,6.70704
-accelerometer: 6295850908,-0.0958148,7.12862,6.41959
-accelerometer: 6295870897,-0.019163,7.16695,6.78369
-accelerometer: 6295890947,0.114978,7.22444,6.74537
-accelerometer: 6295910906,0.019163,7.39691,6.53457
-accelerometer: 6295931078,-0.32577,7.12862,6.15131
-accelerometer: 6295951128,-0.364096,7.12862,5.95968
-accelerometer: 6295970964,-0.344933,7.35858,6.24713
-accelerometer: 6295990679,-0.172467,7.26277,6.64955
-accelerometer: 6296010698,-0.249119,7.22444,6.86034
-accelerometer: 6296030687,-0.0383259,6.78369,6.87951
-accelerometer: 6296050707,-0.344933,7.07114,6.937
-accelerometer: 6296070635,-0.153304,6.63039,6.61122
-accelerometer: 6296090776,-0.268282,6.89867,6.91783
-accelerometer: 6296110857,-0.440748,7.12862,6.43876
-accelerometer: 6296130907,-0.306608,7.37774,6.2088
-accelerometer: 6296150835,0.0574889,6.99448,6.87951
-accelerometer: 6296170976,-0.153304,7.43523,6.70704
-accelerometer: 6296191759,-0.114978,7.43523,6.40043
-accelerometer: 6296211595,-0.0958148,7.01365,6.40043
-accelerometer: 6296231706,-0.0958148,7.10946,6.49625
-accelerometer: 6296251787,-0.0574889,7.01365,6.78369
-accelerometer: 6296271532,0.0574889,6.68788,6.937
-accelerometer: 6296292192,0.0766519,6.84118,6.89867
-accelerometer: 6296312029,0.114978,7.58854,7.03281
-accelerometer: 6296332018,-0.632378,6.80285,5.42312
-accelerometer: 6296350664,-1.07313,6.97532,5.99801
-accelerometer: 6296370531,-0.479074,7.03281,6.91783
-accelerometer: 6296390642,-0.0383259,6.63039,7.64602
-accelerometer: 6296411058,-0.114978,6.61122,7.18611
-accelerometer: 6296431139,0.019163,6.41959,7.18611
-accelerometer: 6296450914,0.268282,6.64955,7.18611
-accelerometer: 6296470903,-0.153304,6.80285,7.07114
-accelerometer: 6296490801,0.0574889,6.84118,6.89867
-accelerometer: 6296510912,-0.172467,6.76453,6.61122
-accelerometer: 6296530901,-0.0383259,6.74537,6.84118
-accelerometer: 6296550890,-0.114978,6.49625,7.05197
-accelerometer: 6296571062,-0.421585,6.68788,6.95616
-accelerometer: 6296590990,-0.229956,6.64955,7.03281
-accelerometer: 6296610948,-0.114978,6.5729,7.18611
-accelerometer: 6296630937,-0.210793,6.55374,7.12862
-accelerometer: 6296650865,-0.32577,6.59206,7.03281
-accelerometer: 6296670885,-0.0958148,6.53457,7.18611
-accelerometer: 6296690599,-0.249119,6.64955,7.16695
-accelerometer: 6296710924,-0.172467,6.5729,7.16695
-accelerometer: 6296731065,0.0766519,6.55374,7.28193
-accelerometer: 6296751146,-0.153304,7.05197,7.32025
-accelerometer: 6296770921,0.0383259,7.03281,6.86034
-accelerometer: 6296790788,-0.689867,7.28193,6.03634
-accelerometer: 6296810930,-0.632378,6.68788,6.70704
-accelerometer: 6296832842,-0.996474,6.09382,6.63039
-accelerometer: 6296851854,-0.689867,6.89867,7.14779
-accelerometer: 6296870744,-0.5174,6.97532,7.01365
-accelerometer: 6296891527,-0.019163,6.95616,7.33942
-accelerometer: 6296911760,0.153304,6.74537,6.99448
-accelerometer: 6296930986,-0.19163,7.0903,7.22444
-accelerometer: 6296952196,-0.32577,7.20528,6.15131
-accelerometer: 6296971361,-0.670704,6.63039,5.95968
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat
deleted file mode 100644
index 7f66e0b7..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_turnover.dat
+++ /dev/null
@@ -1,252 +0,0 @@
-accelerometer: 11443330713,-0.364096,0.728193,9.88809
-irProximity:11443345721,0.294118
-accelerometer: 11443351709,0.249119,0.728193,10.0222
-orientation:11441670740,5
-accelerometer: 11443451807,-0.134141,0.670704,9.44734
-accelerometer: 11443470850,-0.0574889,1.05396,9.44734
-irProximity:11443472979,0.294118
-proximity:11443485430,0
-accelerometer: 11443490747,-0.0958148,0.785682,9.29404
-accelerometer: 11443510950,-0.0958148,0.938986,9.35153
-accelerometer: 11443530969,0,1.0348,9.60065
-accelerometer: 11443550958,-0.0958148,0.824008,9.58148
-accelerometer: 11443570764,-0.0574889,0.977311,9.40902
-accelerometer: 11443590906,0.172467,1.09229,9.6773
-accelerometer: 11443610803,0.32577,0.728193,9.86893
-accelerometer: 11443630914,0.0574889,1.1881,9.48567
-accelerometer: 11443650964,0.0383259,0.938986,9.58148
-accelerometer: 11443670923,-0.019163,1.13062,9.44734
-accelerometer: 11443690942,0.19163,1.16894,9.58148
-accelerometer: 11443710993,0.134141,1.36057,9.54316
-accelerometer: 11443730951,0.421585,1.47555,9.38986
-accelerometer: 11443750971,0.344933,1.47555,9.21739
-accelerometer: 11443770929,0.114978,1.24559,9.56232
-accelerometer: 11443790674,0.0383259,1.14978,9.38986
-accelerometer: 11443810816,0.153304,1.41806,9.48567
-accelerometer: 11443830805,0.134141,1.34141,9.44734
-accelerometer: 11443850824,0.0766519,1.3989,9.58148
-accelerometer: 11443870813,-0.0574889,1.1881,9.48567
-accelerometer: 11443890802,0.210793,1.34141,9.63897
-accelerometer: 11443910852,0.0574889,1.24559,9.524
-accelerometer: 11443930811,0.0574889,1.22643,9.60065
-accelerometer: 11443950922,0.114978,1.37973,9.6773
-accelerometer: 11443970941,0.210793,1.59053,9.6773
-accelerometer: 11443990808,0.114978,1.45639,9.58148
-accelerometer: 11444010919,0.0383259,1.43722,9.44734
-accelerometer: 11444030969,0.32577,1.78216,9.524
-accelerometer: 11444050958,0.0958148,1.66718,9.46651
-accelerometer: 11444070947,0.249119,1.49471,9.524
-accelerometer: 11444090936,0.172467,0.996474,9.63897
-accelerometer: 11444110986,0.0574889,1.43722,9.69646
-accelerometer: 11444130975,0.134141,0.996474,9.50483
-accelerometer: 11444150964,0.19163,1.1881,9.06409
-accelerometer: 11444171014,0.479074,0.613215,9.08325
-accelerometer: 11444190912,0.344933,1.74383,9.86893
-accelerometer: 11444210962,-0.114978,2.4337,10.0989
-accelerometer: 11444230920,0.229956,1.95462,9.44734
-accelerometer: 11444250971,-0.172467,1.76299,9.02576
-accelerometer: 11444270929,-0.5174,1.41806,9.19823
-accelerometer: 11444290888,-0.881497,1.5522,9.35153
-accelerometer: 11444310999,-0.498237,1.11145,9.17906
-accelerometer: 11444330988,0.210793,1.30308,10.4055
-accelerometer: 11444350946,0.0766519,1.07313,10.578
-accelerometer: 11444370966,-0.19163,1.24559,10.1372
-accelerometer: 11444390894,-0.479074,1.7055,8.94911
-accelerometer: 11444410913,-0.785682,1.57136,9.21739
-accelerometer: 11444430750,-0.344933,0.938986,9.21739
-accelerometer: 11444450861,-0.287445,1.16894,9.21739
-accelerometer: 11444470819,-0.498237,1.37973,9.37069
-irProximity:11444487597,0.290196
-accelerometer: 11444490991,-0.555726,1.51387,9.92642
-accelerometer: 11444510980,-1.01564,1.07313,9.46651
-accelerometer: 11444530939,-0.90066,0.421585,9.524
-accelerometer: 11444550928,-1.13062,0.402422,9.58148
-accelerometer: 11444570947,-1.26476,0.5174,9.69646
-accelerometer: 11444590936,-1.28392,0.536563,9.524
-accelerometer: 11444610986,-0.938986,1.26476,10.0222
-accelerometer: 11444630884,-1.1881,0.383259,9.8306
-accelerometer: 11444650751,-1.01564,0.919823,9.71563
-accelerometer: 11444670770,-0.843171,1.22643,9.84977
-accelerometer: 11444690881,-0.613215,1.64802,9.84977
-accelerometer: 11444710962,-0.536563,1.30308,9.79228
-accelerometer: 11444730920,-0.747356,0.843171,9.524
-accelerometer: 11444750971,-0.479074,1.36057,9.75395
-accelerometer: 11444770929,-0.306608,0.938986,14.698
-accelerometer: 11444790796,-0.114978,0.919823,10.0606
-accelerometer: 11444810816,-0.32577,0.977311,9.75395
-accelerometer: 11444830835,-0.19163,1.30308,9.73479
-accelerometer: 11444850763,0.229956,2.0696,9.79228
-accelerometer: 11444870844,0.613215,2.45286,10.463
-irProximity:11444890490,0.294118
-accelerometer: 11444890894,0.479074,3.06608,11.0379
-accelerometer: 11444910791,1.49471,3.69845,11.057
-accelerometer: 11444930780,0.440748,2.68282,11.3062
-accelerometer: 11444950891,0.843171,3.08524,10.5205
-accelerometer: 11444970941,0.90066,2.93193,9.50483
-irProximity:11444991106,0.290196
-accelerometer: 11444990656,2.20374,3.87092,7.761
-accelerometer: 11445010828,3.48766,3.89008,6.32378
-accelerometer: 11445030939,3.9859,3.56431,4.15836
-accelerometer: 11445050958,4.54162,4.00506,2.9511
-accelerometer: 11445070917,5.59559,4.67576,1.66718
-accelerometer: 11445090814,5.65308,4.02422,0.766519
-irProximity:11445092760,0.294118
-orientation:11445090814,4
-accelerometer: 11445110956,4.31167,2.89361,-1.9163
-accelerometer: 11445130975,2.93193,2.28039,-4.25418
-accelerometer: 11445150995,3.06608,1.41806,-5.42312
-orientation:11445150995,6
-accelerometer: 11445170984,2.81696,0.364096,-7.14779
-accelerometer: 11445190820,3.29603,-0.344933,-7.53105
-irProximity:11445193621,0.4
-accelerometer: 11445210962,3.14273,-0.574889,-9.3132
-accelerometer: 11445230951,6.15131,4.25418,-13.4141
-accelerometer: 11445251001,2.10793,-0.440748,-15.3879
-proximity:11445262567,1
-accelerometer: 11445271570,2.01211,0.249119,-10.9995
-accelerometer: 11445290857,0.574889,0.824008,-10.4247
-irProximity:11445294543,0.705882
-accelerometer: 11445310816,1.49471,0.344933,-9.81144
-accelerometer: 11445330805,2.2229,0.574889,-10.0606
-accelerometer: 11445350763,1.99295,-0.0574889,-9.69646
-accelerometer: 11445370935,1.30308,-4.79074,-9.33237
-accelerometer: 11445390955,0.919823,0.421585,-9.79228
-accelerometer: 11445410944,0.938986,0.229956,-10.1372
-accelerometer: 11445430994,0.555726,0.114978,-10.2139
-accelerometer: 11445450983,1.22643,0.344933,-9.90726
-accelerometer: 11445470850,0.881497,0.0958148,-10.1947
-accelerometer: 11445490869,0.728193,0.19163,-10.2522
-irProximity:11445495501,0.721569
-accelerometer: 11445510980,0.785682,0.32577,-9.65814
-accelerometer: 11445530969,0.728193,0.306608,-9.04492
-accelerometer: 11445550653,0.938986,0.402422,-9.33237
-accelerometer: 11445570764,0.728193,0.134141,-9.14074
-accelerometer: 11445590936,0.90066,0.287445,-9.37069
-accelerometer: 11445610956,1.07313,0.268282,-9.3132
-accelerometer: 11445630975,1.01564,0.19163,-9.54316
-accelerometer: 11445650964,0.938986,0.114978,-9.524
-accelerometer: 11445670770,0.862334,0.0958148,-9.69646
-accelerometer: 11445690759,0.862334,0.153304,-9.69646
-irProximity:11445696306,0.72549
-accelerometer: 11445710809,1.36057,-4.77158,-9.69646
-accelerometer: 11445730920,0.862334,0.134141,-9.50483
-accelerometer: 11445750940,0.689867,0.0383259,-9.50483
-accelerometer: 11445771143,1.11145,-4.90572,-9.6773
-accelerometer: 11445790765,0.881497,-0.0383259,-9.73479
-accelerometer: 11445810754,0.728193,0.0383259,-9.58148
-accelerometer: 11445830835,0.996474,0.19163,-9.56232
-accelerometer: 11445850794,0.90066,0.0574889,-9.63897
-accelerometer: 11445870844,1.1881,0.134141,-9.54316
-accelerometer: 11445890650,1.13062,0.229956,-9.35153
-irProximity:11445897234,0.721569
-accelerometer: 11445910852,1.09229,0.0766519,-9.23655
-accelerometer: 11445930933,0.747356,0.172467,-9.14074
-accelerometer: 11445950922,0.689867,0.440748,-9.60065
-accelerometer: 11445970941,0.862334,0.479074,-9.54316
-accelerometer: 11445990961,1.01564,0.172467,-9.69646
-accelerometer: 11446010736,0.881497,0.172467,-10.0414
-accelerometer: 11446030817,0.996474,0.114978,-10.233
-accelerometer: 11446050958,1.72467,0.172467,-9.88809
-accelerometer: 11446070978,2.16542,0.766519,-9.44734
-accelerometer: 11446090936,2.64449,0.344933,-9.12157
-irProximity:11446098192,0.686275
-accelerometer: 11446110895,3.21938,0.383259,-8.69999
-accelerometer: 11446130914,4.61828,1.16894,-8.31673
-accelerometer: 11446150903,5.6914,1.43722,-7.30109
-accelerometer: 11446171045,6.36211,2.41453,-6.11299
-accelerometer: 11446190942,7.33942,3.08524,-4.12004
-orientation:11446190942,4
-accelerometer: 11446210962,8.18259,3.87092,-1.76299
-accelerometer: 11446230951,9.23655,4.31167,-0.881497
-accelerometer: 11446251001,9.44734,5.05902,0.459911
-accelerometer: 11446270960,8.75748,4.61828,2.7403
-accelerometer: 11446290796,7.58854,3.69845,4.44581
-irProximity:11446299120,0.298039
-accelerometer: 11446310938,5.48061,2.85528,6.34294
-accelerometer: 11446330835,4.00506,2.10793,8.06761
-orientation:11446330835,5
-proximity:11446341150,0
-accelerometer: 11446350916,1.97379,2.18458,9.27488
-accelerometer: 11446370935,1.30308,1.1881,9.54316
-accelerometer: 11446390802,0.804845,1.26476,9.90726
-accelerometer: 11446410913,0.651541,1.62885,10.4247
-accelerometer: 11446430933,0.0958148,1.76299,10.0031
-accelerometer: 11446450891,-0.268282,1.49471,9.92642
-accelerometer: 11446470789,-0.249119,1.09229,10.1372
-accelerometer: 11446490747,-0.919823,1.30308,9.71563
-irProximity:11446500933,0.294118
-accelerometer: 11446510950,-1.89713,1.3989,9.33237
-accelerometer: 11446530969,-1.80132,0.824008,9.75395
-accelerometer: 11446550958,-1.3989,-0.0574889,9.75395
-accelerometer: 11446570947,-0.90066,-0.498237,9.23655
-accelerometer: 11446590967,-0.824008,-0.134141,8.43171
-accelerometer: 11446610895,-1.34141,-0.229956,9.21739
-accelerometer: 11446630914,-0.536563,-0.249119,9.17906
-accelerometer: 11446650934,-0.881497,-0.402422,9.23655
-accelerometer: 11446670770,-0.996474,-0.689867,8.92994
-accelerometer: 11446691065,-1.0348,-0.862334,9.02576
-irProximity:11446702532,0.290196
-accelerometer: 11446710993,-0.90066,-0.881497,10.2714
-accelerometer: 11446730951,-0.574889,-0.958148,10.4821
-accelerometer: 11446750940,-0.996474,-1.3989,9.37069
-accelerometer: 11446770960,-1.26476,-1.43722,9.1599
-accelerometer: 11446790796,-0.996474,-1.3989,9.38986
-accelerometer: 11446810816,-0.306608,-1.14978,9.60065
-accelerometer: 11446830835,0.172467,-0.824008,10.0031
-accelerometer: 11446850824,0.172467,-0.919823,9.75395
-accelerometer: 11446870844,-0.0958148,-1.47555,9.17906
-accelerometer: 11446890802,0.19163,-1.36057,9.33237
-accelerometer: 11446910791,0.651541,-1.16894,9.73479
-accelerometer: 11446930963,0.938986,-1.13062,10.233
-accelerometer: 11446950952,0.804845,-1.43722,9.79228
-accelerometer: 11446970972,0.383259,-1.14978,9.38986
-accelerometer: 11446990808,0.670704,-0.977311,10.0414
-accelerometer: 11447010828,1.11145,-0.766519,9.81144
-accelerometer: 11447030939,1.16894,-0.747356,14.4489
-accelerometer: 11447050928,0.670704,-0.440748,9.8306
-accelerometer: 11447070947,0.70903,-0.498237,9.88809
-accelerometer: 11447090967,0.498237,-0.785682,9.50483
-accelerometer: 11447110925,0.440748,-0.651541,9.27488
-accelerometer: 11447130975,0.383259,-0.766519,9.6773
-accelerometer: 11447150934,0.114978,-0.5174,9.60065
-accelerometer: 11447170923,0.210793,-0.70903,9.42818
-accelerometer: 11447190942,0.0766519,-0.785682,8.98743
-accelerometer: 11447210901,0.172467,-0.594052,9.79228
-accelerometer: 11447230951,0.268282,-0.804845,9.61981
-accelerometer: 11447250940,0,-0.938986,9.48567
-accelerometer: 11447270929,0.0574889,-0.938986,9.58148
-accelerometer: 11447290918,0,-0.555726,9.86893
-irProximity:11447306658,0.294118
-accelerometer: 11447310968,0.153304,-0.843171,9.61981
-accelerometer: 11447330927,-0.153304,-0.766519,9.58148
-accelerometer: 11447350733,-0.0574889,-0.977311,9.8306
-accelerometer: 11447370935,-0.0958148,-0.747356,9.58148
-accelerometer: 11447390924,0.134141,-0.383259,9.71563
-irProximity:11447407457,0.290196
-accelerometer: 11447410974,-0.019163,-0.383259,9.63897
-accelerometer: 11447430902,-0.0383259,-0.728193,9.46651
-accelerometer: 11447450891,-0.0958148,-0.804845,9.50483
-accelerometer: 11447470758,-0.0383259,-0.70903,9.35153
-accelerometer: 11447490961,-0.306608,-0.555726,9.23655
-accelerometer: 11447510919,-0.172467,-0.632378,9.23655
-accelerometer: 11447531000,-0.134141,-0.594052,9.37069
-accelerometer: 11447550958,-0.306608,-0.785682,9.38986
-accelerometer: 11447570978,-0.0958148,-0.766519,9.48567
-accelerometer: 11447590997,-0.249119,-0.785682,9.38986
-accelerometer: 11447610925,0,-0.70903,9.6773
-accelerometer: 11447630914,0.0958148,-0.651541,9.50483
-accelerometer: 11447650964,-0.0766519,-0.958148,9.33237
-accelerometer: 11447670953,0.0766519,-0.747356,9.77311
-accelerometer: 11447690942,0.114978,-0.747356,9.90726
-accelerometer: 11447711054,0,-0.804845,9.73479
-accelerometer: 11447730920,-0.287445,-1.01564,9.42818
-accelerometer: 11447750940,-0.498237,-0.651541,9.19823
-accelerometer: 11447773554,-0.459911,-0.344933,9.60065
-accelerometer: 11447790857,-0.210793,-0.32577,9.6773
-accelerometer: 11447810816,-0.479074,-0.766519,9.98391
-accelerometer: 11447830805,-0.249119,-0.670704,10.0989
-accelerometer: 11447850763,-0.421585,-0.5174,9.61981
-accelerometer: 11447870813,-0.651541,-0.383259,9.12157
-accelerometer: 11447890772,-0.287445,-0.229956,9.23655
-accelerometer: 11447910974,-0.172467,-0.670704,9.3132
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat
deleted file mode 100644
index cde7bb72..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twist.dat
+++ /dev/null
@@ -1,361 +0,0 @@
-irProximity:11952268937,0.294118
-orientation:11949151148,5
-irProximity:11952369798,0.290196
-accelerometer: 11952370691,0.383259,2.45286,9.23655
-accelerometer: 11952390833,0.383259,2.56784,9.06409
-accelerometer: 11952410913,0.670704,2.62533,8.81497
-accelerometer: 11952430872,0.670704,2.81696,8.92994
-accelerometer: 11952450891,0.594052,2.64449,9.37069
-proximity:11949132684,0
-accelerometer: 11952475122,0.459911,2.31872,9.54316
-irProximity:11952477403,0.290196
-accelerometer: 11952490930,0.651541,2.49119,9.75395
-accelerometer: 11952510950,0.613215,2.70198,9.69646
-accelerometer: 11952530939,0.306608,2.45286,9.54316
-accelerometer: 11952550958,0.32577,2.18458,9.33237
-accelerometer: 11952570795,0,2.24207,8.92994
-accelerometer: 11952590936,0.0574889,2.31872,9.06409
-accelerometer: 11952610956,0.383259,2.24207,9.33237
-accelerometer: 11952631036,0.364096,2.39537,9.50483
-accelerometer: 11952650934,0.229956,2.49119,9.38986
-accelerometer: 11952670801,0.0574889,2.587,9.40902
-accelerometer: 11952690942,0.114978,2.35705,9.29404
-accelerometer: 11952710962,0.19163,1.97379,9.61981
-accelerometer: 11952730951,-0.0383259,1.59053,9.27488
-accelerometer: 11952750971,0.249119,2.08876,9.27488
-accelerometer: 11952770837,0.268282,2.35705,9.27488
-accelerometer: 11952790735,0.651541,2.29956,9.524
-accelerometer: 11952810816,0.32577,2.52951,9.14074
-accelerometer: 11952830774,0.459911,2.20374,9.06409
-accelerometer: 11952850763,0.728193,2.49119,9.48567
-accelerometer: 11952870813,0.613215,2.77863,9.46651
-accelerometer: 11952890802,0.747356,2.47202,9.42818
-accelerometer: 11952910822,1.1881,2.08876,9.1599
-accelerometer: 11952930963,1.41806,1.51387,8.91078
-accelerometer: 11952950983,0.862334,1.57136,8.47003
-accelerometer: 11952970972,0.536563,1.51387,8.73831
-accelerometer: 11952990808,0.70903,1.68634,8.98743
-accelerometer: 11953010828,0.70903,1.87797,9.3132
-accelerometer: 11953030969,0.249119,3.35352,9.79228
-accelerometer: 11953050958,0.594052,3.4685,10.0031
-accelerometer: 11953070947,0.670704,2.10793,9.63897
-accelerometer: 11953090936,0.862334,1.37973,9.58148
-accelerometer: 11953110956,0.632378,1.41806,9.84977
-accelerometer: 11953130975,0.574889,1.11145,9.61981
-accelerometer: 11953150995,0.0958148,0.479074,9.1599
-accelerometer: 11953170953,0.229956,1.01564,8.1251
-accelerometer: 11953190912,0.938986,1.57136,7.66519
-accelerometer: 11953210962,1.51387,1.97379,8.1251
-accelerometer: 11953231012,1.24559,1.83965,7.91431
-accelerometer: 11953250971,0.728193,1.01564,7.43523
-accelerometer: 11953270960,0.651541,0.824008,8.02928
-accelerometer: 11953290918,0.90066,1.11145,8.98743
-accelerometer: 11953310999,1.85881,0.306608,9.58148
-accelerometer: 11953330957,2.05044,-1.45639,11.1528
-accelerometer: 11953350977,1.07313,-1.78216,11.4211
-accelerometer: 11953370966,1.20727,-2.93193,11.0379
-accelerometer: 11953390894,-0.172467,-2.12709,11.7086
-accelerometer: 11953410913,-0.785682,-2.52951,11.1337
-accelerometer: 11953430902,-0.728193,-2.52951,10.3863
-accelerometer: 11953450922,-0.919823,-2.52951,10.1947
-accelerometer: 11953470789,-0.210793,-3.21938,9.46651
-accelerometer: 11953490717,-0.440748,-2.29956,9.33237
-accelerometer: 11953510889,-0.594052,-2.16542,9.46651
-accelerometer: 11953530969,-0.383259,-1.95462,9.08325
-accelerometer: 11953550958,-0.594052,-1.62885,9.29404
-accelerometer: 11953570947,-0.421585,-1.43722,9.35153
-accelerometer: 11953590936,-0.364096,-1.05396,8.7958
-accelerometer: 11953610925,0.0574889,-1.0348,8.83413
-accelerometer: 11953630945,0.383259,-1.05396,8.89162
-accelerometer: 11953650934,0.249119,-1.36057,9.08325
-accelerometer: 11953670923,0.287445,-0.996474,9.04492
-accelerometer: 11953690912,1.22643,-0.881497,9.08325
-accelerometer: 11953710931,1.1881,-0.996474,9.27488
-accelerometer: 11953730920,0.766519,-1.11145,8.91078
-accelerometer: 11953750971,2.10793,-0.594052,8.20175
-accelerometer: 11953770868,2.20374,-0.766519,8.08677
-accelerometer: 11953790796,1.74383,-0.747356,6.82202
-accelerometer: 11953810846,3.39185,-0.402422,5.92136
-accelerometer: 11953830805,3.79427,1.13062,4.67576
-accelerometer: 11953850794,8.2784,1.09229,4.21585
-accelerometer: 11953870813,10.2714,2.20374,1.80132
-accelerometer: 11953890772,12.7434,2.56784,-0.996474
-accelerometer: 11953911340,12.3601,2.4337,-2.39537
-orientation:11953911340,4
-accelerometer: 11953930994,12.3026,2.33788,-1.95462
-accelerometer: 11953950983,12.1493,1.26476,0.0574889
-accelerometer: 11953970972,10.118,-0.268282,-0.862334
-irProximity:11953989915,0.298039
-accelerometer: 11953990839,8.6425,0.440748,-3.96673
-accelerometer: 11954010980,9.35153,1.22643,-5.63391
-accelerometer: 11954030969,9.71563,1.47555,-6.64955
-accelerometer: 11954050989,9.3132,1.36057,-6.99448
-accelerometer: 11954070978,8.35505,0.843171,-5.97885
-irProximity:11954090623,0.294118
-accelerometer: 11954090875,8.20175,0.670704,-6.09382
-accelerometer: 11954110956,8.50836,1.37973,-6.5729
-accelerometer: 11954130975,9.10241,1.66718,-6.66871
-accelerometer: 11954150995,9.04492,1.80132,-6.26629
-accelerometer: 11954171167,8.71915,0.594052,-5.44228
-accelerometer: 11954191095,9.23655,1.14978,-3.71762
-accelerometer: 11954211023,9.96474,1.59053,-3.20022
-accelerometer: 11954230982,9.98391,1.07313,-3.23854
-accelerometer: 11954251001,10.578,2.05044,-1.60969
-accelerometer: 11954270960,11.9385,2.29956,0.268282
-accelerometer: 11954290643,12.1493,1.60969,0.459911
-irProximity:11954291917,0.301961
-accelerometer: 11954311029,11.4595,0.747356,0
-accelerometer: 11954330988,10.6546,1.53304,1.53304
-accelerometer: 11954350946,9.94558,1.85881,2.51035
-accelerometer: 11954370752,8.52752,0.249119,3.43017
-accelerometer: 11954390619,5.09735,1.22643,4.90572
-irProximity:11954392350,0.294118
-accelerometer: 11954410913,1.74383,0.421585,6.43876
-accelerometer: 11954430902,-0.0383259,-0.90066,6.64955
-orientation:11954430902,5
-accelerometer: 11954450983,-0.958148,-1.34141,7.87598
-accelerometer: 11954470758,-0.766519,-0.804845,8.29757
-accelerometer: 11954490747,-0.90066,-0.249119,9.19823
-irProximity:11954493302,0.290196
-accelerometer: 11954510950,-0.958148,0.0958148,9.58148
-accelerometer: 11954530969,-1.34141,0.172467,9.90726
-accelerometer: 11954550989,-1.43722,-0.0766519,10.348
-accelerometer: 11954570947,-1.11145,0.210793,10.6354
-accelerometer: 11954590814,-0.766519,0.153304,10.1947
-accelerometer: 11954611353,-1.0348,-0.19163,9.25571
-accelerometer: 11954631006,-0.574889,-0.019163,9.06409
-accelerometer: 11954650934,-0.249119,-0.479074,8.2784
-accelerometer: 11954670953,-0.172467,-0.172467,9.29404
-accelerometer: 11954690820,-0.32577,0.134141,9.35153
-accelerometer: 11954710962,-0.402422,-4.80991,8.7958
-accelerometer: 11954730951,-0.210793,0.210793,9.524
-accelerometer: 11954750971,-0.172467,0.172467,9.44734
-accelerometer: 11954770868,-0.134141,0.0958148,9.50483
-accelerometer: 11954790765,-0.287445,0.134141,9.60065
-accelerometer: 11954810846,-0.383259,-0.0574889,9.86893
-accelerometer: 11954830774,-0.0383259,-0.19163,10.0414
-accelerometer: 11954850794,-0.229956,-0.19163,9.63897
-accelerometer: 11954870874,-0.364096,0.0766519,9.50483
-accelerometer: 11954890833,-0.114978,0.153304,9.56232
-accelerometer: 11954910822,-0.402422,0.0574889,9.71563
-accelerometer: 11954930963,-0.19163,-0.306608,9.81144
-accelerometer: 11954950922,-0.344933,-4.90572,9.54316
-accelerometer: 11954970972,-0.0383259,-0.019163,9.79228
-accelerometer: 11954990778,-0.114978,0.019163,9.65814
-accelerometer: 11955010858,-0.287445,-0.153304,9.40902
-accelerometer: 11955030969,-0.402422,0.019163,9.56232
-accelerometer: 11955050989,-0.32577,-0.019163,9.524
-accelerometer: 11955070917,-0.0766519,-4.86739,9.48567
-accelerometer: 11955090784,-0.249119,0.019163,9.60065
-accelerometer: 11955110925,-0.402422,0.114978,9.42818
-accelerometer: 11955130945,-0.536563,0.0383259,9.50483
-accelerometer: 11955150964,-0.5174,-0.019163,9.524
-accelerometer: 11955170953,-0.479074,-0.153304,9.46651
-accelerometer: 11955190790,-0.364096,-0.0574889,9.38986
-accelerometer: 11955210931,-0.0574889,0.0383259,9.6773
-accelerometer: 11955230951,-0.249119,-0.114978,9.63897
-accelerometer: 11955250971,-0.344933,-4.82907,9.524
-accelerometer: 11955270960,-0.306608,-0.153304,9.37069
-accelerometer: 11955290765,-0.364096,-0.019163,9.44734
-accelerometer: 11955310938,-0.402422,0.0766519,9.58148
-accelerometer: 11955330988,-0.440748,4.84823,9.50483
-accelerometer: 11955350916,-0.421585,-0.210793,9.54316
-accelerometer: 11955370966,-0.689867,-0.153304,9.50483
-accelerometer: 11955390802,-0.594052,-0.019163,9.44734
-accelerometer: 11955410883,-0.344933,-0.019163,9.38986
-accelerometer: 11955430902,-0.440748,-0.0958148,9.54316
-accelerometer: 11955450891,-0.498237,-0.0574889,9.46651
-accelerometer: 11955470758,-0.479074,-0.172467,9.65814
-accelerometer: 11955490778,-0.498237,-0.0958148,9.58148
-accelerometer: 11955510858,-0.402422,-0.019163,9.54316
-accelerometer: 11955530969,-0.670704,4.79074,9.25571
-accelerometer: 11955550928,-0.459911,0.019163,9.58148
-accelerometer: 11955570947,-0.364096,-0.0383259,9.25571
-accelerometer: 11955590936,-0.287445,-0.114978,9.60065
-accelerometer: 11955610895,-0.498237,-0.0574889,9.56232
-accelerometer: 11955630945,-0.5174,-0.0958148,9.56232
-accelerometer: 11955650903,-0.402422,-0.114978,9.524
-accelerometer: 11955670801,-0.364096,-0.019163,9.56232
-accelerometer: 11955690973,-0.19163,-0.19163,9.69646
-accelerometer: 11955710931,-0.306608,-0.0958148,9.60065
-accelerometer: 11955730951,-0.5174,-0.019163,9.48567
-accelerometer: 11955751001,-0.229956,-0.0958148,9.50483
-accelerometer: 11955770837,-0.440748,-0.210793,9.48567
-accelerometer: 11955790765,-0.402422,-4.79074,9.54316
-accelerometer: 11955810816,-0.19163,-0.153304,9.38986
-accelerometer: 11955830805,-0.498237,-0.268282,9.35153
-accelerometer: 11955850824,-0.536563,-0.19163,9.35153
-accelerometer: 11955870813,-0.5174,-0.0958148,9.58148
-accelerometer: 11955890772,-0.287445,-0.32577,9.48567
-accelerometer: 11955910761,-0.613215,-0.172467,9.19823
-accelerometer: 11955930963,-0.364096,-0.440748,9.38986
-accelerometer: 11955950952,-0.5174,-0.268282,9.58148
-accelerometer: 11955970972,-0.555726,-0.134141,9.60065
-accelerometer: 11955990839,-0.555726,-0.249119,9.40902
-accelerometer: 11956010767,-0.268282,-0.32577,9.56232
-accelerometer: 11956030939,-0.479074,-0.172467,9.42818
-accelerometer: 11956050958,-0.555726,-0.0958148,9.42818
-accelerometer: 11956070947,-0.249119,-0.344933,9.42818
-accelerometer: 11956090936,-0.479074,-0.19163,9.65814
-accelerometer: 11956110773,-0.344933,-0.134141,9.33237
-accelerometer: 11956130853,-0.440748,-0.114978,9.44734
-accelerometer: 11956150964,-0.402422,-0.32577,9.71563
-accelerometer: 11956170923,-0.574889,-0.459911,9.44734
-accelerometer: 11956190973,-0.402422,-0.0958148,9.73479
-accelerometer: 11956210931,-0.5174,4.75242,9.40902
-accelerometer: 11956230951,-0.498237,-0.153304,9.38986
-accelerometer: 11956251001,-0.402422,-0.287445,9.46651
-accelerometer: 11956270929,-0.32577,-0.287445,9.50483
-accelerometer: 11956290918,-0.402422,-0.19163,9.60065
-accelerometer: 11956310907,-0.364096,-0.019163,9.58148
-accelerometer: 11956330927,-0.536563,-0.114978,9.50483
-accelerometer: 11956350977,-0.32577,-0.172467,9.61981
-accelerometer: 11956370935,-0.536563,-0.32577,9.524
-accelerometer: 11956390955,-0.421585,-0.019163,9.38986
-accelerometer: 11956410883,-0.594052,-0.210793,9.37069
-accelerometer: 11956430933,-0.594052,-0.229956,9.54316
-accelerometer: 11956450891,-0.5174,-0.268282,9.58148
-accelerometer: 11956470789,-0.613215,-0.268282,9.38986
-accelerometer: 11956490930,-0.344933,-0.287445,9.524
-accelerometer: 11956510889,-0.498237,-0.153304,9.50483
-accelerometer: 11956530969,-0.459911,-0.287445,9.60065
-accelerometer: 11956550958,-0.689867,-0.306608,9.44734
-accelerometer: 11956570947,-0.536563,-0.210793,9.524
-accelerometer: 11956590967,-0.594052,-0.114978,9.3132
-accelerometer: 11956610895,-0.459911,0.0574889,9.35153
-accelerometer: 11956630975,-0.5174,4.77158,9.19823
-accelerometer: 11956650934,-0.172467,-0.0574889,8.2784
-accelerometer: 11956670953,0.0766519,-0.153304,8.20175
-accelerometer: 11956690973,0.268282,0.32577,8.4892
-accelerometer: 11956711054,0.689867,-0.0766519,8.4892
-accelerometer: 11956730920,1.80132,0.268282,8.16343
-accelerometer: 11956750910,4.67576,1.09229,8.02928
-accelerometer: 11956770715,7.43523,1.22643,6.99448
-accelerometer: 11956790674,8.2784,1.59053,4.90572
-accelerometer: 11956810541,9.14074,1.30308,1.57136
-accelerometer: 11956830499,8.62334,1.43722,-1.16894
-accelerometer: 11956850671,8.68083,2.28039,-2.87445
-orientation:11956850671,4
-accelerometer: 11956870691,9.46651,0.766519,-2.83612
-accelerometer: 11956890680,11.5744,1.53304,-2.39537
-irProximity:11956911820,0.294118
-accelerometer: 11956910913,12.3601,2.41453,-2.18458
-accelerometer: 11956930689,11.3445,1.57136,-3.94757
-accelerometer: 11956950678,8.77664,0.459911,-6.30462
-accelerometer: 11956970697,8.10594,0.862334,-7.07114
-accelerometer: 11956990686,9.42818,1.68634,-6.34294
-accelerometer: 11957010584,9.73479,1.59053,-5.19316
-accelerometer: 11957030786,10.0606,0.689867,-5.15484
-accelerometer: 11957050775,9.21739,0.229956,-5.46145
-accelerometer: 11957070764,9.84977,1.32224,-4.61828
-accelerometer: 11957090784,11.4786,2.51035,-2.20374
-accelerometer: 11957110742,12.0152,2.28039,-0.574889
-irProximity:11957113084,0.313726
-accelerometer: 11957130853,10.4055,1.41806,0.766519
-accelerometer: 11957150964,10.8654,1.9163,1.80132
-accelerometer: 11957170984,10.5205,2.12709,2.41453
-accelerometer: 11957190942,9.94558,1.97379,2.56784
-accelerometer: 11957210809,8.60417,1.34141,2.51035
-irProximity:11957213944,0.294118
-accelerometer: 11957230951,6.82202,1.43722,3.54515
-accelerometer: 11957250971,4.06255,1.41806,4.79074
-accelerometer: 11957270990,2.03127,0.689867,6.28545
-accelerometer: 11957290979,0.938986,0,7.33942
-orientation:11957290979,5
-accelerometer: 11957310846,0.268282,-4.88656,8.24008
-irProximity:11957314866,0.290196
-accelerometer: 11957330957,0.670704,-0.651541,8.56585
-accelerometer: 11957350946,0.536563,-0.229956,10.6163
-accelerometer: 11957370966,0.0574889,-0.153304,10.4821
-accelerometer: 11957390955,-0.344933,-0.0766519,9.96474
-accelerometer: 11957410822,-0.632378,-0.249119,9.58148
-accelerometer: 11957430902,-1.43722,-0.0958148,9.8306
-accelerometer: 11957450922,-1.3989,-0.421585,10.0414
-accelerometer: 11957470850,-1.24559,-0.344933,10.2714
-accelerometer: 11957490869,-1.43722,-0.536563,9.63897
-accelerometer: 11957510736,-1.26476,-0.402422,9.90726
-accelerometer: 11957530939,-1.0348,-0.536563,9.58148
-accelerometer: 11957550958,-1.13062,-0.555726,9.19823
-accelerometer: 11957570947,-1.09229,-0.459911,9.524
-accelerometer: 11957590997,-0.90066,-0.383259,9.25571
-accelerometer: 11957610834,-0.689867,-0.134141,9.08325
-accelerometer: 11957630945,-0.632378,0,9.25571
-accelerometer: 11957650964,-0.958148,-0.249119,9.19823
-accelerometer: 11957670923,-1.05396,-0.364096,9.56232
-accelerometer: 11957690942,-0.90066,-0.364096,9.69646
-accelerometer: 11957710779,-0.90066,-0.268282,9.42818
-accelerometer: 11957730920,-1.09229,-0.402422,9.23655
-accelerometer: 11957751001,-0.843171,-0.249119,9.12157
-accelerometer: 11957770807,-0.862334,-0.0383259,9.44734
-accelerometer: 11957790796,-1.11145,0.134141,9.73479
-accelerometer: 11957810816,-0.90066,-0.0766519,9.33237
-accelerometer: 11957830835,-0.919823,-0.479074,9.3132
-accelerometer: 11957850794,-0.747356,-4.84823,8.54668
-accelerometer: 11957870844,-0.938986,0.153304,9.23655
-accelerometer: 11957890802,-0.689867,-0.134141,9.06409
-accelerometer: 11957910822,-0.594052,-0.306608,9.54316
-accelerometer: 11957930933,-0.728193,-0.134141,9.6773
-accelerometer: 11957950922,-0.651541,-0.0766519,9.60065
-accelerometer: 11957970972,-0.383259,-0.0574889,9.25571
-accelerometer: 11957990747,-0.249119,0.364096,10.1947
-accelerometer: 11958010736,-0.287445,0.287445,10.5013
-accelerometer: 11958030908,-0.0766519,0.498237,10.3672
-accelerometer: 11958050958,0.0383259,0.479074,10.348
-accelerometer: 11958070947,-0.268282,0.555726,9.94558
-accelerometer: 11958090967,-0.383259,0.268282,14.7172
-accelerometer: 11958110956,-0.210793,-0.0766519,9.96474
-accelerometer: 11958130914,0.153304,0,10.3288
-accelerometer: 11958150934,0.459911,0.440748,11.1145
-accelerometer: 11958171106,0.440748,0.019163,10.9612
-accelerometer: 11958190973,0.402422,-0.555726,9.65814
-accelerometer: 11958210931,-0.0766519,0.364096,8.62334
-accelerometer: 11958230890,0.114978,0.747356,8.62334
-accelerometer: 11958250940,-0.364096,0.0383259,9.56232
-accelerometer: 11958270929,0.344933,-0.536563,10.3863
-accelerometer: 11958290949,0.0766519,-1.05396,10.118
-accelerometer: 11958310968,0.555726,-1.34141,9.33237
-accelerometer: 11958330927,0.785682,-0.632378,9.12157
-accelerometer: 11958351007,0.670704,-0.32577,9.1599
-accelerometer: 11958370966,0.785682,-0.536563,9.02576
-accelerometer: 11958390924,1.1881,-0.306608,8.87245
-accelerometer: 11958410944,0.5174,0.421585,10.0222
-accelerometer: 11958430872,0.613215,0.689867,9.75395
-accelerometer: 11958450922,0.766519,-0.0958148,9.524
-accelerometer: 11958470819,0.958148,0.632378,9.65814
-accelerometer: 11958490900,0.249119,0.651541,9.54316
-accelerometer: 11958510919,0.287445,0.843171,9.42818
-accelerometer: 11958530939,0.555726,0.440748,8.98743
-accelerometer: 11958550958,0.0766519,0.344933,9.06409
-accelerometer: 11958570947,0.229956,0.70903,8.58501
-accelerometer: 11958590967,0.153304,0.287445,9.58148
-accelerometer: 11958610803,0.0766519,0.594052,10.118
-accelerometer: 11958630945,0.344933,0.728193,9.92642
-accelerometer: 11958650934,0.134141,0.498237,9.84977
-accelerometer: 11958670953,0.344933,0.344933,9.524
-accelerometer: 11958690942,0.32577,0.479074,9.58148
-accelerometer: 11958710931,0.421585,0.689867,9.73479
-accelerometer: 11958730890,0.249119,0.555726,9.54316
-accelerometer: 11958751001,0.0766519,0.536563,9.48567
-accelerometer: 11958770837,0.153304,0.498237,9.48567
-accelerometer: 11958790765,-0.0958148,0.344933,9.77311
-accelerometer: 11958810816,0.344933,0.0766519,9.48567
-accelerometer: 11958830805,-0.0574889,0.32577,9.42818
-accelerometer: 11958850824,-0.153304,0.498237,9.40902
-accelerometer: 11958870783,0.229956,0.32577,9.40902
-accelerometer: 11958890772,0.0383259,0.440748,9.46651
-accelerometer: 11958910822,0.0383259,0.479074,9.65814
-accelerometer: 11958930902,0.153304,0.134141,9.71563
-accelerometer: 11958950983,0.268282,0.459911,9.75395
-accelerometer: 11958970972,0.383259,0.402422,9.94558
-accelerometer: 11958990778,0.210793,0.0766519,9.3132
-accelerometer: 11959010889,0.0958148,0.172467,9.69646
-accelerometer: 11959030756,0.019163,0.210793,8.94911
-accelerometer: 11959050867,-0.459911,0.344933,9.02576
-accelerometer: 11959071771,0.134141,0.210793,9.71563
-accelerometer: 11959090967,0,1.43722,9.61981
-accelerometer: 11959111292,0.249119,0.153304,10.0031
-accelerometer: 11959131006,0.134141,0.824008,9.71563
-accelerometer: 11959150964,-0.0766519,0.766519,9.29404
-accelerometer: 11959170923,-0.019163,0.114978,9.42818
-accelerometer: 11959190912,0.0766519,-0.019163,9.65814
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
deleted file mode 100644
index 909e3e1a..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistLeft.dat
+++ /dev/null
@@ -1,151 +0,0 @@
-accelerometer: 4892293507,-0.0574889,-0.344933,9.37069
-orientation:4888720692,5
-accelerometer: 4892330952,-0.153304,-0.32577,9.46651
-accelerometer: 4892350941,-0.210793,0,9.61981
-accelerometer: 4892371785,-0.0766519,-0.153304,9.524
-irProximity:4892378722,0.290196
-accelerometer: 4892390553,-0.153304,-0.5174,9.50483
-proximity:4892401000,0
-accelerometer: 4892411000,0.0383259,-0.210793,9.84977
-accelerometer: 4892430928,0.114978,0.0383259,9.86893
-accelerometer: 4892450917,-0.0958148,-0.0766519,9.60065
-accelerometer: 4892470753,-0.0574889,-0.0383259,9.88809
-accelerometer: 4892490925,0.344933,-0.172467,9.90726
-accelerometer: 4892511006,0.172467,-0.249119,9.54316
-accelerometer: 4892531025,0.114978,0.0958148,9.69646
-accelerometer: 4892550953,-4.82907,0.114978,9.92642
-accelerometer: 4892570820,-0.0958148,-0.306608,10.0414
-accelerometer: 4892590931,-0.0958148,-0.306608,9.71563
-accelerometer: 4892610951,-0.0958148,-0.383259,9.65814
-accelerometer: 4892630940,-0.32577,-0.498237,9.61981
-accelerometer: 4892650929,-0.383259,-0.153304,9.54316
-accelerometer: 4892670765,-0.459911,0.0766519,9.86893
-accelerometer: 4892690907,-0.32577,-0.268282,9.8306
-accelerometer: 4892710927,-0.440748,-0.114978,9.44734
-accelerometer: 4892730946,-0.670704,-0.114978,9.71563
-accelerometer: 4892750966,-0.498237,-0.383259,9.90726
-accelerometer: 4892770955,-0.440748,-0.402422,9.524
-accelerometer: 4892790974,-0.689867,-0.172467,9.35153
-accelerometer: 4892810963,-0.670704,-0.32577,9.3132
-accelerometer: 4892830922,-0.651541,-0.440748,9.3132
-accelerometer: 4892850941,-0.785682,-0.268282,9.23655
-accelerometer: 4892870930,-0.843171,-0.421585,9.23655
-accelerometer: 4892890889,-0.5174,-0.210793,9.44734
-accelerometer: 4892910939,-0.613215,-0.632378,9.33237
-accelerometer: 4892930928,-0.651541,-0.268282,9.71563
-accelerometer: 4892950947,-0.651541,-0.421585,9.96474
-accelerometer: 4892970936,-0.344933,-0.613215,9.96474
-accelerometer: 4892990773,-0.440748,-0.574889,9.46651
-accelerometer: 4893011067,-0.498237,-0.536563,9.84977
-accelerometer: 4893031087,-0.5174,-0.421585,9.54316
-accelerometer: 4893050892,-0.536563,-0.459911,9.56232
-accelerometer: 4893070942,-0.670704,-0.536563,9.40902
-accelerometer: 4893091054,-0.574889,-0.459911,9.37069
-accelerometer: 4893110920,-0.440748,-0.594052,9.46651
-accelerometer: 4893130940,-0.670704,-0.344933,9.54316
-accelerometer: 4893150929,-0.344933,-0.440748,9.23655
-accelerometer: 4893170918,-0.019163,-0.536563,8.83413
-accelerometer: 4893191060,0.114978,-0.344933,8.75748
-accelerometer: 4893210927,1.11145,-0.019163,7.99096
-accelerometer: 4893230946,3.23854,1.0348,8.01012
-accelerometer: 4893250935,5.34647,1.57136,8.35505
-accelerometer: 4893271504,7.05197,1.78216,7.03281
-accelerometer: 4893290974,8.91078,2.91277,5.40396
-orientation:4893290974,4
-accelerometer: 4893310689,10.5971,2.79779,2.79779
-accelerometer: 4893331013,11.0379,2.0696,1.14978
-accelerometer: 4893350880,10.0031,2.51035,0.843171
-accelerometer: 4893370900,8.10594,0.421585,1.13062
-irProximity:4893386626,0.294118
-accelerometer: 4893390950,6.51541,0.977311,0
-accelerometer: 4893410908,7.41607,0.689867,-4.36916
-accelerometer: 4893430897,8.4892,1.3989,-8.29757
-accelerometer: 4893450886,9.06409,1.49471,-8.60417
-accelerometer: 4893470753,8.22091,0.862334,-7.12862
-irProximity:4893487426,0.290196
-accelerometer: 4893490956,7.37774,0.306608,-6.76453
-accelerometer: 4893510945,8.1251,0.843171,-5.55726
-accelerometer: 4893530934,9.84977,0.90066,-3.69845
-accelerometer: 4893550953,11.402,0.651541,-1.87797
-accelerometer: 4893570973,12.6859,0.70903,-0.938986
-accelerometer: 4893590931,12.9925,0.651541,1.24559
-accelerometer: 4893610951,12.6476,1.60969,2.79779
-accelerometer: 4893631032,11.8044,1.16894,4.08171
-accelerometer: 4893650929,11.1337,1.60969,5.32731
-accelerometer: 4893670949,9.0066,0.728193,5.74889
-irProximity:4893688934,0.294118
-accelerometer: 4893690877,5.90219,0.70903,5.42312
-accelerometer: 4893710896,2.12709,0.383259,4.84823
-accelerometer: 4893730885,-0.766519,0.689867,5.71057
-accelerometer: 4893750996,-1.80132,-0.0958148,7.49272
-orientation:4893750996,5
-accelerometer: 4893770955,-1.85881,-0.5174,9.29404
-irProximity:4893789733,0.290196
-accelerometer: 4893790974,-2.12709,-0.114978,9.14074
-accelerometer: 4893810933,-2.37621,-4.88656,8.39338
-accelerometer: 4893830952,-2.20374,-0.134141,8.4892
-accelerometer: 4893850972,-1.57136,-0.421585,9.79228
-accelerometer: 4893870991,-1.80132,-0.421585,9.96474
-accelerometer: 4893890889,-1.82048,-0.210793,9.50483
-accelerometer: 4893910969,-1.53304,-0.114978,9.50483
-accelerometer: 4893930928,-1.53304,-0.19163,9.63897
-accelerometer: 4893950917,-1.59053,-0.210793,9.69646
-accelerometer: 4893970936,-1.5522,0.0574889,9.84977
-accelerometer: 4893991017,-1.37973,0.0766519,9.86893
-accelerometer: 4894010823,-1.37973,-4.71409,9.60065
-accelerometer: 4894030934,-1.26476,-0.153304,9.54316
-accelerometer: 4894050984,-1.09229,-0.0574889,9.48567
-accelerometer: 4894070973,-0.90066,0.0958148,9.48567
-accelerometer: 4894091115,-0.728193,-0.229956,9.42818
-accelerometer: 4894110951,-0.574889,-0.364096,9.54316
-accelerometer: 4894130971,-0.824008,-0.0766519,9.44734
-accelerometer: 4894150929,-0.249119,0.0383259,9.98391
-accelerometer: 4894170918,-0.479074,-0.383259,9.58148
-accelerometer: 4894190693,-0.344933,-0.0958148,9.61981
-accelerometer: 4894210896,-0.383259,0.0574889,9.63897
-accelerometer: 4894230946,-0.402422,-0.229956,9.69646
-accelerometer: 4894250935,-0.344933,-0.383259,9.46651
-accelerometer: 4894270955,-0.268282,-0.019163,9.65814
-accelerometer: 4894290852,-0.134141,-0.32577,9.81144
-accelerometer: 4894310994,0.153304,-0.306608,9.524
-accelerometer: 4894330769,0.0383259,-0.19163,9.40902
-accelerometer: 4894351002,-0.153304,-0.0766519,9.60065
-accelerometer: 4894370991,0.229956,-0.440748,10.0031
-accelerometer: 4894390889,-0.0574889,-0.229956,9.6773
-accelerometer: 4894410908,-0.172467,-0.249119,9.65814
-accelerometer: 4894430958,-0.229956,-0.229956,9.63897
-accelerometer: 4894450886,-0.0958148,-0.402422,9.37069
-accelerometer: 4894470753,-0.134141,-0.421585,9.60065
-accelerometer: 4894490925,-0.0766519,-0.613215,9.48567
-accelerometer: 4894510975,-0.0766519,-0.383259,9.6773
-accelerometer: 4894530812,-0.268282,0.0383259,9.71563
-accelerometer: 4894550953,-0.364096,4.82907,9.524
-accelerometer: 4894570973,-0.0766519,-0.574889,9.56232
-accelerometer: 4894590779,-0.306608,-0.555726,9.38986
-accelerometer: 4894610890,-0.613215,-0.287445,9.54316
-accelerometer: 4894630940,-0.498237,-0.0766519,9.40902
-accelerometer: 4894650960,-0.383259,-0.229956,9.58148
-accelerometer: 4894670918,-0.210793,-0.364096,9.58148
-accelerometer: 4894690816,-0.287445,-0.383259,9.65814
-accelerometer: 4894710896,-0.364096,-0.287445,9.61981
-accelerometer: 4894730916,-0.344933,-0.421585,9.48567
-accelerometer: 4894750966,-0.479074,-0.287445,9.35153
-accelerometer: 4894770955,-0.402422,-0.383259,9.63897
-accelerometer: 4894790822,-0.383259,-0.268282,9.63897
-accelerometer: 4894810963,-0.689867,-0.32577,9.10241
-accelerometer: 4894830922,-0.555726,-0.306608,9.17906
-accelerometer: 4894850941,-0.70903,-0.287445,9.48567
-accelerometer: 4894873494,-0.574889,-0.440748,9.46651
-accelerometer: 4894890950,-0.479074,-0.383259,9.58148
-accelerometer: 4894910786,-0.613215,-0.364096,9.6773
-accelerometer: 4894930775,-0.498237,-0.536563,9.69646
-accelerometer: 4894950795,-0.5174,-0.440748,9.75395
-accelerometer: 4894970814,-0.498237,-0.613215,9.71563
-accelerometer: 4894990803,-0.651541,-0.689867,9.65814
-accelerometer: 4895010823,-0.383259,-0.670704,9.98391
-accelerometer: 4895030812,-0.210793,-0.651541,10.1564
-accelerometer: 4895050801,-0.306608,-0.555726,10.2522
-accelerometer: 4895071004,-0.306608,-0.5174,10.0414
-accelerometer: 4895090840,-0.479074,-0.306608,9.54316
-accelerometer: 4895110859,-0.594052,-0.402422,8.20175
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat
deleted file mode 100644
index 2e863fcb..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_twistRight.dat
+++ /dev/null
@@ -1,43 +0,0 @@
-irProximity:16491519325,0.286275
-proximity:16453336069,0
-orientation:0,5
-accelerometer: 1335457748904,-1.1881,0.670704,9.77311
-accelerometer: 1335457749003,-1.30308,0.306608,9.60065
-accelerometer: 1335457749103,-1.82048,0.32577,9.3132
-accelerometer: 1335457749203,-1.43722,0.249119,9.71563
-accelerometer: 1335457749303,-1.13062,0.153304,9.73479
-irProximity:16492124000,0.282353
-accelerometer: 1335457749405,-1.9163,0.536563,9.6773
-irProximity:16492224647,0.286275
-accelerometer: 1335457749503,-1.9163,0.555726,9.54316
-accelerometer: 1335457749603,-1.62885,0.613215,9.88809
-accelerometer: 1335457749703,-2.75947,0.90066,10.7696
-irProximity:16492526405,0.282353
-accelerometer: 1335457749803,-5.92136,-1.3989,0.785682
-irProximity:16492626900,0.286275
-accelerometer: 1335457749903,-8.31673,2.28039,-1.05396
-accelerometer: 1335457750003,-11.3828,0.440748,-2.91277
-irProximity:16492828010,0.294118
-accelerometer: 1335457750103,-9.23655,2.01211,-1.51387
-irProximity:16492928535,0.290196
-accelerometer: 1335457750207,-8.60417,1.68634,-1.28392
-orientation:0,3
-irProximity:16493029121,0.286275
-accelerometer: 1335457750303,-2.49119,0.728193,4.57995
-accelerometer: 1335457750403,1.14978,-0.613215,13.5674
-accelerometer: 1335457750503,0.574889,0.229956,10.2714
-accelerometer: 1335457750604,0.804845,0.5174,10.2905
-orientation:0,5
-accelerometer: 1335457750703,0.0383259,-0.0958148,9.44734
-accelerometer: 1335457750803,0.651541,-0.306608,10.0606
-accelerometer: 1335457750903,-0.153304,-0.0383259,9.54316
-accelerometer: 1335457751003,0.344933,0.114978,9.79228
-accelerometer: 1335457751103,0.0958148,0,9.56232
-accelerometer: 1335457751203,0.019163,0,9.524
-accelerometer: 1335457751303,0.134141,-0.0383259,9.48567
-accelerometer: 1335457751403,0.114978,-0.0766519,9.56232
-accelerometer: 1335457751503,-0.153304,0.153304,9.63897
-accelerometer: 1335457751603,-0.210793,0.268282,9.84977
-accelerometer: 1335457751703,0.0383259,0.19163,10.0031
-accelerometer: 1335457751803,-0.210793,0.210793,9.48567
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat
deleted file mode 100644
index 8c8eba3a..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensordata_whip.dat
+++ /dev/null
@@ -1,148 +0,0 @@
-orientation:11043900509,5
-accelerometer: 11122850857,0.114978,1.53304,9.25571
-accelerometer: 11122870938,0.114978,1.45639,10.0031
-accelerometer: 11122890957,0.0766519,0.90066,9.90726
-irProximity:11122905708,0.286275
-proximity:11122909156,0
-accelerometer: 11122910641,-0.229956,0.862334,9.524
-accelerometer: 11122930935,0.440748,1.45639,9.63897
-accelerometer: 11122950955,-0.019163,1.72467,9.40902
-accelerometer: 11122970974,-0.172467,1.99295,9.54316
-accelerometer: 11122990811,-0.0383259,2.01211,9.35153
-accelerometer: 11123010830,0.0958148,1.68634,9.44734
-accelerometer: 11123030972,-0.0958148,1.30308,9.58148
-accelerometer: 11123050961,-0.306608,1.20727,8.81497
-accelerometer: 11123070706,-0.287445,2.18458,8.73831
-accelerometer: 11123091000,-0.459911,4.6566,9.12157
-accelerometer: 11123110745,-0.747356,5.21233,9.86893
-accelerometer: 11123130978,-0.268282,2.0696,10.4438
-accelerometer: 11123150784,-0.383259,2.60616,9.08325
-accelerometer: 11123170987,-0.498237,3.31519,8.56585
-accelerometer: 11123190945,0,2.97026,9.29404
-accelerometer: 11123211148,-0.555726,2.7403,8.91078
-accelerometer: 11123230801,-0.5174,2.47202,9.10241
-accelerometer: 11123250943,-0.747356,2.75947,9.17906
-accelerometer: 11123270962,-0.632378,2.29956,9.19823
-accelerometer: 11123290921,-0.70903,2.29956,9.19823
-accelerometer: 11123311032,-0.785682,2.56784,9.0066
-accelerometer: 11123330960,-0.402422,2.66365,9.40902
-accelerometer: 11123350918,-0.344933,2.7403,8.81497
-accelerometer: 11123370938,-0.287445,2.98942,8.45087
-accelerometer: 11123390927,-0.383259,2.72114,9.02576
-accelerometer: 11123410641,-0.268282,2.68282,9.44734
-accelerometer: 11123430966,-0.268282,2.45286,9.27488
-accelerometer: 11123450955,-0.19163,2.68282,9.33237
-accelerometer: 11123470974,-0.134141,2.49119,9.3132
-accelerometer: 11123490964,-0.32577,2.49119,9.21739
-accelerometer: 11123510647,-0.459911,2.7403,9.25571
-accelerometer: 11123530942,-0.0383259,2.60616,9.21739
-accelerometer: 11123550961,0.114978,2.31872,9.21739
-accelerometer: 11123570736,0.172467,2.75947,8.75748
-accelerometer: 11123590756,0.0958148,2.98942,8.33589
-accelerometer: 11123610653,0.210793,2.85528,8.62334
-accelerometer: 11123630978,0.32577,3.02775,7.58854
-accelerometer: 11123650967,0.019163,3.2577,6.87951
-accelerometer: 11123670956,0.632378,3.7751,6.40043
-accelerometer: 11123690976,0.229956,3.54515,8.25924
-accelerometer: 11123710843,0.172467,3.02775,11.3062
-accelerometer: 11123730954,0.402422,2.08876,15.3687
-accelerometer: 11123751034,-0.172467,0.459911,21.2326
-accelerometer: 11123771023,-1.20727,-0.670704,25.6592
-accelerometer: 11123791897,-3.2577,-1.05396,27.633
-accelerometer: 11123810574,-2.79779,-0.364096,25.3143
-accelerometer: 11123830807,-0.938986,0.402422,16.8442
-accelerometer: 11123850796,-0.114978,1.45639,9.98391
-accelerometer: 11123870816,0.383259,0.824008,4.63744
-accelerometer: 11123890744,0.114978,-0.32577,-0.479074
-accelerometer: 11123910794,0.555726,-0.153304,-4.33083
-irProximity:11123916053,0.290196
-accelerometer: 11123930966,0.364096,-2.10793,-8.87245
-accelerometer: 11123950924,-1.24559,-3.35352,-22.0757
-accelerometer: 11123971005,-2.587,-9.92642,-39.2266
-accelerometer: 11123990780,-5.65308,-18.339,-39.2266
-accelerometer: 11124010861,-3.7751,-24.5286,-39.2266
-irProximity:11124017005,0.294118
-accelerometer: 11124030972,2.98942,-24.8927,-16.6909
-accelerometer: 11124050992,21.6925,-29.7793,21.7691
-accelerometer: 11124071072,18.1473,-38.3834,39.2458
-accelerometer: 11124090970,-3.67929,-38.0385,39.2458
-accelerometer: 11124110989,-5.30814,-19.6229,39.2458
-irProximity:11124117896,0.290196
-accelerometer: 11124130765,-3.41101,-2.03127,31.753
-accelerometer: 11124150998,0.32577,1.34141,9.524
-accelerometer: 11124170651,2.52951,2.47202,0.0574889
-accelerometer: 11124190762,4.15836,3.33436,-7.07114
-accelerometer: 11124210965,3.23854,1.97379,-9.54316
-irProximity:11124218879,0.286275
-accelerometer: 11124230984,3.18105,2.24207,-4.54162
-accelerometer: 11124250973,3.2577,1.49471,1.87797
-accelerometer: 11124270810,1.66718,1.62885,9.81144
-accelerometer: 11124290799,-0.364096,1.11145,15.1579
-accelerometer: 11124310818,-1.64802,1.11145,15.1771
-accelerometer: 11124330777,-2.03127,1.0348,13.3374
-accelerometer: 11124350979,-1.68634,1.20727,10.6929
-accelerometer: 11124370968,-0.613215,1.62885,9.35153
-accelerometer: 11124390896,0.153304,2.03127,8.4892
-accelerometer: 11124410794,0.402422,1.74383,7.4544
-accelerometer: 11124430874,0.364096,1.9163,7.9718
-accelerometer: 11124450955,0.670704,1.76299,8.96827
-accelerometer: 11124470974,0.440748,1.24559,8.29757
-accelerometer: 11124490964,0.498237,1.41806,8.47003
-accelerometer: 11124510800,0.766519,1.99295,8.85329
-accelerometer: 11124530972,0.785682,2.08876,9.88809
-accelerometer: 11124550961,0.670704,1.99295,10.233
-accelerometer: 11124570950,0.344933,1.74383,10.2714
-accelerometer: 11124590970,0.574889,1.45639,9.88809
-accelerometer: 11124610776,0.0958148,1.59053,9.44734
-accelerometer: 11124630917,0.019163,1.72467,9.37069
-accelerometer: 11124650937,-0.134141,1.60969,9.88809
-accelerometer: 11124670987,-0.32577,1.74383,9.8306
-accelerometer: 11124690945,-0.172467,1.82048,9.56232
-accelerometer: 11124710965,0.0958148,1.47555,9.33237
-accelerometer: 11124730954,-0.0766519,1.24559,9.19823
-accelerometer: 11124750973,0.0766519,1.62885,9.37069
-accelerometer: 11124770932,0.0766519,1.5522,8.94911
-accelerometer: 11124790951,0.249119,1.97379,9.33237
-accelerometer: 11124810910,0.268282,1.64802,9.44734
-accelerometer: 11124830868,0.287445,1.76299,9.23655
-accelerometer: 11124850949,0.229956,1.64802,8.71915
-accelerometer: 11124870938,0.421585,1.72467,9.40902
-accelerometer: 11124890927,0.32577,1.5522,9.06409
-accelerometer: 11124910946,0.344933,1.80132,9.08325
-accelerometer: 11124930935,0.306608,1.66718,9.21739
-accelerometer: 11124950985,0.402422,1.93546,9.1599
-accelerometer: 11124970975,0.32577,1.99295,9.06409
-accelerometer: 11124990811,0.153304,1.76299,9.33237
-accelerometer: 11125010922,0.268282,1.7055,9.56232
-accelerometer: 11125030911,0.594052,1.62885,9.06409
-accelerometer: 11125050961,0.306608,1.93546,9.17906
-accelerometer: 11125070889,0.344933,1.78216,9.17906
-accelerometer: 11125090970,-0.153304,1.62885,9.3132
-accelerometer: 11125110928,0.0574889,1.57136,9.25571
-accelerometer: 11125130887,0.229956,1.45639,9.524
-accelerometer: 11125150998,0.19163,1.59053,9.524
-accelerometer: 11125170956,0.249119,1.66718,9.63897
-accelerometer: 11125190976,0.019163,1.43722,9.69646
-accelerometer: 11125210995,0.114978,1.74383,9.56232
-accelerometer: 11125230923,0.249119,1.68634,9.37069
-accelerometer: 11125250943,0.306608,1.72467,9.3132
-accelerometer: 11125270962,0.306608,1.5522,9.88809
-accelerometer: 11125290982,0.114978,1.37973,9.71563
-accelerometer: 11125310971,0.114978,1.5522,9.50483
-accelerometer: 11125330899,0.0574889,1.5522,9.69646
-accelerometer: 11125350949,-0.153304,1.74383,9.27488
-accelerometer: 11125372281,0.019163,1.85881,8.94911
-accelerometer: 11125390866,-0.287445,1.89713,8.81497
-accelerometer: 11125410794,-0.19163,1.43722,9.40902
-accelerometer: 11125430996,-0.153304,1.11145,10.0606
-accelerometer: 11125450802,-0.0766519,1.36057,10.0989
-accelerometer: 11125470913,0.0766519,1.20727,9.58148
-accelerometer: 11125490933,-0.114978,1.34141,9.69646
-accelerometer: 11125510830,0.19163,1.47555,9.94558
-accelerometer: 11125531033,0.153304,1.51387,9.63897
-accelerometer: 11125550961,-0.0766519,1.76299,9.71563
-accelerometer: 11125570920,0.249119,1.45639,9.71563
-accelerometer: 11125591000,-0.153304,1.43722,9.56232
-accelerometer: 11125610989,-0.766519,1.83965,8.96827
-accelerometer: 11125630948,-0.479074,1.30308,9.37069
-
diff --git a/tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat b/tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat
deleted file mode 100644
index ccdcb1c8..00000000
--- a/tests/auto/qsensorgestures_gestures/mock_data/sensprdata_shakeRight.dat
+++ /dev/null
@@ -1,42 +0,0 @@
-irProximity:22645635549,0.286275
-proximity:22630498159,0
-orientation:0,5
-accelerometer: 1335463903054,0.306608,1.01564,9.54316
-accelerometer: 1335463903153,0.19163,0.90066,9.61981
-accelerometer: 1335463903253,0.210793,1.30308,9.69646
-accelerometer: 1335463903353,-0.306608,0.632378,9.6773
-accelerometer: 1335463903453,-0.402422,0.919823,9.524
-accelerometer: 1335463903553,0.229956,0.919823,9.61981
-accelerometer: 1335463903653,-0.114978,0.90066,9.38986
-accelerometer: 1335463903753,-0.249119,0.747356,9.61981
-accelerometer: 1335463903854,0.689867,1.16894,9.44734
-accelerometer: 1335463903953,16.8442,0.268282,11.7277
-accelerometer: 1335463904053,-22.1332,6.34294,6.95616
-accelerometer: 1335463904153,10.8846,-20.2744,10.2522
-accelerometer: 1335463904253,39.2074,-5.74889,8.14426
-accelerometer: 1335463904353,-39.2458,-12.6667,10.5971
-irProximity:22647146962,0.282353
-accelerometer: 1335463904454,39.2266,-8.04845,31.8105
-irProximity:22647248006,0.286275
-accelerometer: 1335463904553,2.91277,-20.0061,4.63744
-accelerometer: 1335463904653,-39.2458,-15.1579,8.85329
-accelerometer: 1335463904753,39.2266,-3.9859,19.2971
-accelerometer: 1335463904853,-16.0202,-2.64449,9.40902
-irProximity:22647652303,0.282353
-accelerometer: 1335463904953,-3.31519,3.94757,8.47003
-irProximity:22647753346,0.286275
-accelerometer: 1335463905053,0.134141,2.62533,8.81497
-accelerometer: 1335463905153,1.07313,2.41453,9.73479
-accelerometer: 1335463905253,0.862334,2.24207,9.84977
-accelerometer: 1335463905353,0.843171,2.29956,9.63897
-accelerometer: 1335463905453,0.766519,2.2229,9.29404
-accelerometer: 1335463905553,1.60969,1.99295,9.19823
-accelerometer: 1335463905653,1.13062,1.72467,9.58148
-accelerometer: 1335463905753,1.26476,1.66718,9.38986
-accelerometer: 1335463905853,0.843171,1.60969,9.33237
-accelerometer: 1335463905953,0.689867,1.43722,9.50483
-accelerometer: 1335463906053,0.0958148,1.59053,9.56232
-accelerometer: 1335463906153,0,1.22643,9.81144
-irProximity:22648964070,0.282353
-accelerometer: 1335463906253,0.421585,1.85881,9.40902
-
diff --git a/tests/auto/qsensorgestures_gestures/mockbackends.h b/tests/auto/qsensorgestures_gestures/mockbackends.h
deleted file mode 100644
index 474a7ef7..00000000
--- a/tests/auto/qsensorgestures_gestures/mockbackends.h
+++ /dev/null
@@ -1,104 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MOCKBACKENDS_H
-#define MOCKBACKENDS_H
-
-#include "mockcommon.h"
-
-#include <qsensorplugin.h>
-#include <qsensorbackend.h>
-#include <qsensormanager.h>
-
-#include <QAccelerometer>
-#include <QOrientationSensor>
-#include <QIRProximitySensor>
-#include <QProximitySensor>
-
-#include <QFile>
-#include <QDebug>
-#include <QTest>
-
-
-class mockSensorPlugin : public QObject,
- public QSensorPluginInterface,
- public QSensorBackendFactory
-{
- Q_OBJECT
- // Q_PLUGIN_METADATA(IID "com.qt-project.Qt.QSensorPluginInterface/1.0" FILE "plugin.json")
- Q_INTERFACES(QSensorPluginInterface)
-public:
- QString m_filename;
-
- void registerSensors() override
- {
- qDebug() << "loaded the mock plugin";
-
- QSensorManager::registerBackend("QAccelerometer", mockaccelerometer::id, this);
- QSensorManager::registerBackend("QIRProximitySensor", mockirproximitysensor::id, this);
- QSensorManager::registerBackend("QOrientationSensor", mockorientationsensor::id, this);
- QSensorManager::registerBackend("QTapSensor", mocktapsensor::id, this);
- QSensorManager::registerBackend("QProximitySensor", mockproximitysensor::id, this);
- }
-
- void unregisterSensors()
- {
- QSensorManager::unregisterBackend("QAccelerometer", mockaccelerometer::id);
- QSensorManager::unregisterBackend("QIRProximitySensor", mockirproximitysensor::id);
- QSensorManager::unregisterBackend("QOrientationSensor", mockorientationsensor::id);
- QSensorManager::unregisterBackend("QTapSensor", mocktapsensor::id);
- QSensorManager::unregisterBackend("QProximitySensor", mockproximitysensor::id);
- }
-
-
- QSensorBackend *createBackend(QSensor *sensor) override
- {
- if (sensor->identifier() == mockaccelerometer::id) {
- return new mockaccelerometer(sensor);
- }
-
- if (sensor->identifier() == mockorientationsensor::id) {
- return new mockorientationsensor(sensor);
- }
-
- if (sensor->identifier() == mockirproximitysensor::id) {
- return new mockirproximitysensor(sensor);
- }
- if (sensor->identifier() == mocktapsensor::id) {
- return new mocktapsensor(sensor);
- }
- if (sensor->identifier() == mockproximitysensor::id) {
- return new mockproximitysensor(sensor);
- }
-
- qWarning() << "Can't create backend" << sensor->identifier();
- return 0;
- }
-};
-
-#endif
diff --git a/tests/auto/qsensorgestures_gestures/mockcommon.cpp b/tests/auto/qsensorgestures_gestures/mockcommon.cpp
deleted file mode 100644
index e068a460..00000000
--- a/tests/auto/qsensorgestures_gestures/mockcommon.cpp
+++ /dev/null
@@ -1,242 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QTimer>
-#include <QDebug>
-#include <QCoreApplication>
-#include "mockcommon.h"
-
-Q_GLOBAL_STATIC(mockcommonPrivate, mockcommonPrv)
-
-mockcommonPrivate *mockcommonPrivate::instance()
-{
- return mockcommonPrv();
-}
-
-mockcommonPrivate::mockcommonPrivate()
- : QObject(),prevts(50), firstRun(0)
-{
- readTimer = new QTimer(this);
- readTimer->setSingleShot(true);
- connect(readTimer,SIGNAL(timeout()),this,SLOT(timerout()));
-}
-
-void mockcommonPrivate::timerout()
-{
- while (pFile.isOpen() && !pFile.atEnd()) {
- QString line = pFile.readLine();
- if (!line.isNull()) {
- if (parseData(line)) {
- readTimer->start();
- break;
- }
- }
- }
-}
-
-bool mockcommonPrivate::setFile(const QString &filename)
-{
- if (filename.isEmpty())
- return false;
-
- if (pFile.isOpen()) {
- pFile.close();
- }
- oldAccelTs = 0;
- firstRun = true;
- pFile.setFileName(QCoreApplication::instance()->applicationDirPath() + "/" + filename);
- bool ok = pFile.open(QIODevice::ReadOnly);
- if (!ok) {
- pFile.setFileName(SRCDIR "/" + filename);
- ok = pFile.open(QIODevice::ReadOnly);
- }
- return ok;
-}
-
-bool mockcommonPrivate::parseData(const QString &line)
-{
- bool ok = false;
- QString sensorToken = line.section(QLatin1String(":"),0, 0).trimmed();
- QString data = line.section(QLatin1String(":"),1, 1).trimmed();
-
- if (sensorToken == QLatin1String("accelerometer")) {
- if (!firstRun) {
-
- Q_EMIT accelData(data);
- if (prevts == 0 || prevts > 90000 )
- prevts = 20000; // use 20 Hz
- if (prevts > 90000 ) // original slam timestamps are wrong
- prevts = 100000; //use 100 Hz
- readTimer->setInterval((int)prevts/1000);
- } else {
- firstRun = false;
- }
- quint64 ts = data.section(QLatin1String(","), 0,0).toULongLong();
- ok = true;
- qreal difference;
- if (oldAccelTs == 0) {
- oldAccelTs = ts;
- }
- difference = ts - oldAccelTs;
-
- if (difference < 1
- || difference == ts) {
- int hertz = 50;
- readTimer->setInterval((1.0/hertz)*1000);
- } else {
- if (firstRun)
- readTimer->setInterval((int)difference/1000);
- }
- oldAccelTs = ts;
- prevts = difference;
-
- } else if (sensorToken == QLatin1String("irProximity")) {
- Q_EMIT irProxyData(data);
- } else if (sensorToken == QLatin1String("orientation")) {
- Q_EMIT orientData(data);
- } else if (sensorToken == QLatin1String("tap")) {
- Q_EMIT tapData(data); //just send this it takes only one to be detected
- } else if (sensorToken == QLatin1String("proximity")) {
- Q_EMIT proxyData(data);
- }
- return ok;
-}
-
-
-mockcommon::mockcommon(QSensor *sensor)
- : QSensorBackend(sensor), timer(0)
-{
- mockcommonPrv()->readTimer->setInterval(0);
-}
-
-void mockcommon::start()
-{
- if (!mockcommonPrv()->readTimer->isActive()) {
- mockcommonPrv()->readTimer->start();
- }
-}
-
-void mockcommon::stop()
-{
- if (mockcommonPrv()->readTimer->isActive()) {
- mockcommonPrv()->readTimer->stop();
- }
-}
-
-char const * const mockaccelerometer::id("mock.accelerometer");
-
-mockaccelerometer::mockaccelerometer(QSensor *sensor)
- : mockcommon(sensor)
-{
- setReading<QAccelerometerReading>(&m_reading);
- addDataRate(50, 50); // 50
-
- connect(mockcommonPrv(),SIGNAL(accelData(QString)),this,SLOT(parseAccelData(QString)));
-}
-
-void mockaccelerometer::parseAccelData(const QString &data)
-{
- quint64 ts = data.section(QLatin1String(","), 0,0).toULongLong();
- m_reading.setTimestamp(ts);
- m_reading.setX(data.section(QLatin1String(","), 1,1).toDouble());
- m_reading.setY(data.section(QLatin1String(","), 2,2).toDouble());
- m_reading.setZ(data.section(QLatin1String(","), 3,3).toDouble());
- newReadingAvailable();
-}
-
-char const * const mockorientationsensor::id("mock.orientation");
-
-mockorientationsensor::mockorientationsensor(QSensor *sensor)
- : mockcommon(sensor)
-{
- setReading<QOrientationReading>(&m_reading);
- addDataRate(50, 50); // 50Hz
- connect(mockcommonPrv(),SIGNAL(orientData(QString)),this,SLOT(parseOrientData(QString)));
-}
-
-void mockorientationsensor::parseOrientData(const QString &data)
-{
- m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
- m_reading.setOrientation(static_cast<QOrientationReading::Orientation>(data.section(QLatin1String(","), 1,1).toInt()));
-
- newReadingAvailable();
-}
-
-char const * const mockirproximitysensor::id("mock.irproximity");
-
-mockirproximitysensor::mockirproximitysensor(QSensor *sensor)
- : mockcommon(sensor)
-{
- setReading<QIRProximityReading>(&m_reading);
- addDataRate(50, 50); // 50Hz
- connect(mockcommonPrv(),SIGNAL(irProxyData(QString)),this,SLOT(parseIrProxyData(QString)));
-}
-
-void mockirproximitysensor::parseIrProxyData(const QString &data)
-{
- m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
- m_reading.setReflectance(data.section(QLatin1String(","), 1,1).toDouble());
-
- newReadingAvailable();
-}
-
-char const * const mocktapsensor::id("mock.tap");
-
-mocktapsensor::mocktapsensor(QSensor *sensor)
- : mockcommon(sensor)
-{
- setReading<QTapReading>(&m_reading);
- addDataRate(50, 50); // 50Hz
- connect(mockcommonPrv(),SIGNAL(tapData(QString)),this,SLOT(parseTapData(QString)));
-}
-
-void mocktapsensor::parseTapData(const QString &data)
-{
- m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
- m_reading.setDoubleTap((data.section(QLatin1String(","), 1,1).toInt() == 1));
-
- newReadingAvailable();
-}
-
-char const * const mockproximitysensor::id("mock.proximity");
-
-mockproximitysensor::mockproximitysensor(QSensor *sensor)
- : mockcommon(sensor)
-{
- setReading<QProximityReading>(&m_reading);
- addDataRate(50, 50); // 50Hz
- connect(mockcommonPrv(),SIGNAL(proxyData(QString)),this,SLOT(parseProxyData(QString)));
-}
-
-void mockproximitysensor::parseProxyData(const QString &data)
-{
- m_reading.setTimestamp(data.section(QLatin1String(","), 0,0).toULongLong());
- m_reading.setClose((data.section(QLatin1String(","), 1,1).toInt() == 1));
-
- newReadingAvailable();
-}
diff --git a/tests/auto/qsensorgestures_gestures/mockcommon.h b/tests/auto/qsensorgestures_gestures/mockcommon.h
deleted file mode 100644
index cbb36f25..00000000
--- a/tests/auto/qsensorgestures_gestures/mockcommon.h
+++ /dev/null
@@ -1,181 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef MOCKCOMMON_H
-#define MOCKCOMMON_H
-
-#include <qsensorbackend.h>
-
-#include <QSensor>
-#include <QTimer>
-#include <QAccelerometer>
-#include <QOrientationSensor>
-#include <QIRProximitySensor>
-#include <QProximitySensor>
-#include <QTapSensor>
-
-#include <QFile>
-#include <QTextStream>
-
-class mockcommonPrivate : public QObject
-{
- Q_OBJECT
-public:
-
- mockcommonPrivate();
-
- static mockcommonPrivate *instance();
-
- bool setFile(const QString &);
- bool parseData(const QString &line);
- QTimer *readTimer;
-
-public slots:
- void timerout();
-
-Q_SIGNALS:
- void accelData(const QString &data);
- void irProxyData(const QString &data);
- void orientData(const QString &data);
- void tapData(const QString &data);
- void proxyData(const QString &data);
-
-private:
- QFile pFile;
- qreal oldAccelTs;
- qreal prevts;
- bool firstRun;
-};
-
-class mockcommon : public QSensorBackend
-{
- Q_OBJECT
-public:
- mockcommon(QSensor *sensor);
-
- void start() override;
- void stop() override;
- static char const * const id;
-
-Q_SIGNALS:
- void parseAccelData(const QString &data);
- void parseIrProxyDatata(const QString &data);
- void parseOrientData(const QString &data);
- void parseTapData(const QString &data);
- void parseProxyData(const QString &data);
-
-private:
- int m_timerid;
- friend class mockcommonPrivate;
- QTimer *timer;
- QSensor *parentSensor;
-
-};
-
-class mockaccelerometer : public mockcommon
-{
- Q_OBJECT
-
-public:
- static char const * const id;
-
- mockaccelerometer(QSensor *sensor);
-
-public slots:
- void parseAccelData(const QString &data);
-
-private:
- QAccelerometerReading m_reading;
- qreal lastTimestamp;
-};
-
-class mockorientationsensor : public mockcommon
-{
- Q_OBJECT
-
-public:
- static char const * const id;
-
- mockorientationsensor(QSensor *sensor);
-public slots:
-
- void parseOrientData(const QString &data);
-
-private:
- QOrientationReading m_reading;
-};
-
-class mockirproximitysensor : public mockcommon
-{
- Q_OBJECT
-
-public:
- static char const * const id;
-
- mockirproximitysensor(QSensor *sensor);
-public slots:
-
- void parseIrProxyData(const QString &data);
-
-private:
- QIRProximityReading m_reading;
-};
-
-class mocktapsensor : public mockcommon
-{
- Q_OBJECT
-
-public:
- static char const * const id;
-
- mocktapsensor(QSensor *sensor);
-public slots:
-
- void parseTapData(const QString &data);
-
-private:
- QTapReading m_reading;
-};
-
-
-class mockproximitysensor : public mockcommon
-{
- Q_OBJECT
-
-public:
- static char const * const id;
-
- mockproximitysensor(QSensor *sensor);
-public slots:
-
- void parseProxyData(const QString &data);
-
-private:
- QProximityReading m_reading;
-};
-#endif // MOCKCOMMON_H
diff --git a/tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro b/tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro
deleted file mode 100644
index f2259d48..00000000
--- a/tests/auto/qsensorgestures_gestures/qsensorgestures_gestures.pro
+++ /dev/null
@@ -1,21 +0,0 @@
-TEMPLATE = app
-TARGET = tst_sensorgestures_gestures
-CONFIG += testcase
-
-QT += core testlib sensors-private
-QT -= gui
-
-CONFIG += console
-CONFIG -= app_bundle
-
-
-SOURCES += tst_sensorgestures_gestures.cpp \
- mockcommon.cpp
-
-DEFINES += SRCDIR=\\\"$$PWD/\\\"
-
-HEADERS += \
- mockcommon.h \
- mockbackends.h
-
-TESTDATA += mock_data dataset2_mock_data
diff --git a/tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp b/tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp
deleted file mode 100644
index 69dcce9e..00000000
--- a/tests/auto/qsensorgestures_gestures/tst_sensorgestures_gestures.cpp
+++ /dev/null
@@ -1,449 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QString>
-#include <QtTest>
-#include <QtSensors/QSensorGestureManager>
-#include <QtSensors/QSensorGesture>
-#include <QFile>
-
-#include "mockbackends.h"
-
-class tst_sensorgestures_gestures : public QObject
-{
- Q_OBJECT
-
-public:
- tst_sensorgestures_gestures();
-
-private Q_SLOTS:
- void initTestCase();
-
- void testTiltedTwist();
- void testNotPickup();
-
- void testNotHover2();
- void testNotHover();
- void testNotWhip();
-
- void testSingleGestures();
- void testSingleGestures_data();
-
- void testSingleDataset2Gestures();
- void testSingleDataset2Gestures_data();
-
- void testTwist();
- void testTwist_data();
-
- void testShake2();
- void testShake2_data();
-
- void testShake();
-
- void testAllGestures();
- void testAllGestures_data();
-
-
-protected:
- mockSensorPlugin plugin;
-
-};
-
-tst_sensorgestures_gestures::tst_sensorgestures_gestures()
-{
-}
-
-void tst_sensorgestures_gestures::initTestCase()
-{
- qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
- plugin.registerSensors();
-}
-
-void tst_sensorgestures_gestures::testSingleGestures()
-{
- QFETCH(QString, gestureId);
- QFETCH(QStringList, gestureSignals);
-
- QString name = "mock_data/sensordata_" + gestureId + ".dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
- QString gestStr = QLatin1String("QtSensors.") + gestureId;
-
- QVERIFY(idList.contains(gestStr));
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
- QVERIFY(gesture.data()->validIds().contains(gestStr));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- auto toStringList = [](const QList<QList<QVariant>> list) {
- QStringList result;
- for (const QList<QVariant> &item: list) {
- if (!item.isEmpty())
- result << item.first().toString();
- }
- return result;
- };
-
- QTRY_COMPARE_WITH_TIMEOUT(toStringList(spy_gesture), gestureSignals, 7000);
-}
-
-void tst_sensorgestures_gestures::testSingleGestures_data()
-{
- QTest::addColumn<QString>("gestureId");
- QTest::addColumn<QStringList>("gestureSignals");
- QTest::newRow("cover") << "cover" << QStringList({ "cover"});
- QTest::newRow("doubletap") << "doubletap" << QStringList({ "doubletap" });
- QTest::newRow("hover") << "hover" << QStringList({ "hover" });
- QTest::newRow("pickup") << "pickup" << QStringList({ "pickup" });
- QTest::newRow("shake2") << "shake2" << QStringList({ "shakeRight" });
- QTest::newRow("slam") << "slam" << QStringList({ "slam" });
- QTest::newRow("turnover") << "turnover" << QStringList({ "turnover" });
- QTest::newRow("twist") << "twist" << QStringList({ "twistLeft", "twistLeft", "twistRight" });
- QTest::newRow("whip") << "whip" << QStringList({ "whip" });
-}
-
-void tst_sensorgestures_gestures::testSingleDataset2Gestures()
-{
- QFETCH(QString, gestureId);
-
- QString name = "dataset2_mock_data/sensordata_" + gestureId + ".dat";
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QString gestStr = QLatin1String("QtSensors.") + gestureId;
-
- QVERIFY(idList.contains(gestStr));
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
- QVERIFY(gesture.data()->validIds().contains(gestStr));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
-}
-
-void tst_sensorgestures_gestures::testSingleDataset2Gestures_data()
-{
- QTest::addColumn<QString>("gestureId");
- QTest::newRow("cover") << "cover";
- QTest::newRow("doubletap") << "doubletap";
- QTest::newRow("hover") << "hover";
- QTest::newRow("pickup") << "pickup";
- QTest::newRow("shake2") << "shake2"; //multi?
- QTest::newRow("slam") << "slam";
- QTest::newRow("turnover") << "turnover";
- QTest::newRow("twist") << "twist"; //multi?
- QTest::newRow("whip") << "whip";
-}
-
-void tst_sensorgestures_gestures::testTwist()
-{
- QFETCH(QString, gestureSignal);
-
- QString name = "mock_data/sensordata_" + gestureSignal + ".dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QString gestStr = QLatin1String("QtSensors.twist");
-
- QVERIFY(idList.contains(gestStr));
-
- QScopedPointer<QSensorGesture> gesture2(new QSensorGesture(QStringList() << gestStr));
- QVERIFY(gesture2.data()->validIds().contains(gestStr));
-
- QSignalSpy spy_gesture(gesture2.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture2.data()->startDetection();
- QCOMPARE(gesture2->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
-
- QList<QVariant> arguments = spy_gesture.takeFirst();
- QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
-}
-
-void tst_sensorgestures_gestures::testTwist_data()
-{
- QTest::addColumn<QString>("gestureSignal");
- QTest::newRow("twistLeft") << "twistLeft";
- QTest::newRow("twistRight") << "twistRight";
-}
-
-void tst_sensorgestures_gestures::testShake2()
-{
- QFETCH(QString, gestureSignal);
-
- QString name = "mock_data/sensordata_" + gestureSignal + ".dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QString gestStr = QLatin1String("QtSensors.shake2");
-
- QVERIFY(idList.contains(gestStr));
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
- QVERIFY(gesture.data()->validIds().contains(gestStr));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
- QList<QVariant> arguments = spy_gesture.takeFirst();
- QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
-
- gesture.data()->stopDetection();
-}
-
-void tst_sensorgestures_gestures::testShake2_data()
-{
- QTest::addColumn<QString>("gestureSignal");
- QTest::newRow("shakeLeft") << "shakeLeft";
- QTest::newRow("shakeRight") << "shakeRight";
- QTest::newRow("shakeUp") << "shakeUp";
- QTest::newRow("shakeDown") << "shakeDown";
-}
-
-void tst_sensorgestures_gestures::testShake()
-{
- QString gestureSignal = "shake";
-
- QString name = "mock_data/sensordata_shake2.dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QString gestStr = QLatin1String("QtSensors.shake");
-
- QVERIFY(idList.contains(gestStr));
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(QStringList() << gestStr));
- QVERIFY(gesture.data()->validIds().contains(gestStr));
-
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
- QList<QVariant> arguments = spy_gesture.takeFirst();
-
- QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
- gesture.data()->stopDetection();
-}
-
-
-void tst_sensorgestures_gestures::testAllGestures_data()
-{
- testSingleGestures_data();
-}
-
-void tst_sensorgestures_gestures::testAllGestures()
-{
- QFETCH(QString, gestureId);
-
- QString name = "dataset2_mock_data/sensordata_" + gestureId + ".dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QStringList gestStringList;
-
- gestStringList << "QtSensors.cover"
- << "QtSensors.doubletap"
- << "QtSensors.hover"
- << "QtSensors.pickup"
- << "QtSensors.shake2"
- << "QtSensors.slam"
- << "QtSensors.turnover"
- << "QtSensors.twist"
- << "QtSensors.whip";
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
-
- QCOMPARE(gesture->invalidIds().count(),0);
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
-
- gesture.data()->stopDetection();
-
- QList<QVariant> arguments = spy_gesture.takeFirst();
- QString gestureSignal;
- if (gestureId.right(1) == QLatin1String("2")) {
- gestureSignal = "shakeLeft";
- } else if (gestureId.contains("twist")) {
- gestureSignal = "twistLeft";
- } else {
- gestureSignal = gestureId;
- }
-
- QCOMPARE(arguments.at(0).toString(), QString(gestureSignal));
-}
-
-void tst_sensorgestures_gestures::testNotHover()
-{
- QString name = "mock_data/sensordata_nothover.dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QStringList gestStringList;
-
- gestStringList << "QtSensors.hover";
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
-
- QCOMPARE(gesture->invalidIds().count(),0);
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),0, 2000);
-
-}
-
-void tst_sensorgestures_gestures::testNotWhip()
-{
-
- QString name = "mock_data/sensordata_notwhip.dat";
-
- QSensorGestureManager manager;
- QStringList idList = manager.gestureIds();
-
- QStringList gestStringList;
-
- gestStringList << "QtSensors.whip";
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
-
- QCOMPARE(gesture->invalidIds().count(),0);
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),0, 2000);
-
-}
-
-void tst_sensorgestures_gestures::testNotHover2()
-{
-// test slam when coming to close to head
- QString name = "dataset2_mock_data/sensordata_nothover2.dat";
-
- QStringList gestStringList;
-
- gestStringList << "QtSensors.hover";
- gestStringList << "QtSensors.slam";
-
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
-
- QCOMPARE(gesture->invalidIds().count(),0);
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 2000);
-
- QList<QVariant> arguments = spy_gesture.takeFirst();
- QCOMPARE(arguments.at(0).toString(), QLatin1String("slam"));
-}
-
-void tst_sensorgestures_gestures::testTiltedTwist()
-{
- QString name = "mock_data/sensordata_tiltedtwist.dat";
-
- QStringList gestStringList;
-
- gestStringList << "QtSensors.twist";
- QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
-
- QCOMPARE(gesture->invalidIds().count(),0);
- QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
- QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
- gesture.data()->startDetection();
- QCOMPARE(gesture->isActive(),true);
-
- QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
-
- QList<QVariant> arguments = spy_gesture.takeFirst();
- QCOMPARE(arguments.at(0).toString(), QLatin1String("twistLeft"));
-}
-
-void tst_sensorgestures_gestures::testNotPickup()
-{
-// QString name = "mock_data/sensordata_notpickup.dat";
-
-// QStringList gestStringList;
-// gestStringList << "QtSensors.pickup" << "QtSensors.twist";
-
-// QScopedPointer<QSensorGesture> gesture(new QSensorGesture(gestStringList));
-
-// QCOMPARE(gesture->invalidIds().count(),0);
-// QSignalSpy spy_gesture(gesture.data(), SIGNAL(detected(QString)));
-
-// QCOMPARE(mockcommonPrivate::instance()->setFile(name), true);
-// gesture.data()->startDetection();
-// QCOMPARE(gesture->isActive(),true);
-
-// QTRY_COMPARE_WITH_TIMEOUT(spy_gesture.count(),1, 7000);
-
-// QList<QVariant> arguments = spy_gesture.takeFirst();
-// QCOMPARE(arguments.at(0).toString(), QLatin1String("twistLeft"));
-}
-
-
-
-QTEST_MAIN(tst_sensorgestures_gestures)
-
-#include "tst_sensorgestures_gestures.moc"
diff --git a/tests/auto/qtsensors5/qtsensors5.pro b/tests/auto/qtsensors5/qtsensors5.pro
deleted file mode 100644
index 45c2b68e..00000000
--- a/tests/auto/qtsensors5/qtsensors5.pro
+++ /dev/null
@@ -1,6 +0,0 @@
-TEMPLATE=app
-TARGET=tst_qtsensors5
-!no_system_tests:CONFIG += testcase
-QT = core testlib gui qml
-SOURCES += tst_qtsensors5.cpp
-
diff --git a/tests/auto/qtsensors5/tst_qtsensors5.cpp b/tests/auto/qtsensors5/tst_qtsensors5.cpp
deleted file mode 100644
index 01ed6140..00000000
--- a/tests/auto/qtsensors5/tst_qtsensors5.cpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QQmlEngine>
-#include <QQmlComponent>
-
-class tst_QtSensors : public QObject
-{
- Q_OBJECT
-public:
- tst_QtSensors(QObject *parent = 0)
- : QObject(parent)
- {
- }
-
-private slots:
- void initTestCase()
- {
- }
-
- void cleanupTestCase()
- {
- }
-};
-
-QTEST_MAIN(tst_QtSensors)
-
-#include "tst_qtsensors5.moc"
diff --git a/tests/auto/sensors2qmlapi/qtemplategestureplugin.cpp b/tests/auto/sensors2qmlapi/qtemplategestureplugin.cpp
deleted file mode 100644
index fc90696c..00000000
--- a/tests/auto/sensors2qmlapi/qtemplategestureplugin.cpp
+++ /dev/null
@@ -1,65 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtPlugin>
-#include <QStringList>
-#include <QObject>
-
-#include "qtemplategestureplugin.h"
-#include <qsensorgestureplugininterface.h>
-#include <qsensorgesturemanager.h>
-#include "qtemplaterecognizer.h"
-
-
-QTemplateGesturePlugin::QTemplateGesturePlugin()
-{
-}
-
-QTemplateGesturePlugin::~QTemplateGesturePlugin()
-{
-}
-
-QStringList QTemplateGesturePlugin::supportedIds() const
-{
- QStringList list;
- list << "QtSensors.template" << "QtSensors.template1";
- return list;
-}
-
-
-QList <QSensorGestureRecognizer *> QTemplateGesturePlugin::createRecognizers()
-{
- QList <QSensorGestureRecognizer *> recognizers;
-
- QSensorGestureRecognizer *sRec = new QTemplateGestureRecognizer(this);
- recognizers.append(sRec);
- sRec = new QTemplateGestureRecognizer1(this);
- recognizers.append(sRec);
-
- return recognizers;
-}
diff --git a/tests/auto/sensors2qmlapi/qtemplategestureplugin.h b/tests/auto/sensors2qmlapi/qtemplategestureplugin.h
deleted file mode 100644
index 94f6aaea..00000000
--- a/tests/auto/sensors2qmlapi/qtemplategestureplugin.h
+++ /dev/null
@@ -1,53 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTEMPLATEGESTUREPLUGIN_H
-#define QTEMPLATEGESTUREPLUGIN_H
-
-#include <QObject>
-#include <QStringList>
-
-#include <qsensorgestureplugininterface.h>
-
-class QTemplateGesturePlugin : public QObject, public QSensorGesturePluginInterface
-{
- Q_OBJECT
- //Q_PLUGIN_METADATA(IID "org.qt-project.QSensorGesturePluginInterface" FILE "plugin.json")
- Q_INTERFACES(QSensorGesturePluginInterface)
-public:
- explicit QTemplateGesturePlugin();
- ~QTemplateGesturePlugin();
-
- QList<QSensorGestureRecognizer *> createRecognizers() override;
-
- QStringList gestureSignals() const;
- QStringList supportedIds() const override;
- QString name() const override { return "TemplateGestures"; }
-};
-
-#endif // QTEMPLATEGESTUREPLUGIN_H
diff --git a/tests/auto/sensors2qmlapi/qtemplaterecognizer.cpp b/tests/auto/sensors2qmlapi/qtemplaterecognizer.cpp
deleted file mode 100644
index caf53d9c..00000000
--- a/tests/auto/sensors2qmlapi/qtemplaterecognizer.cpp
+++ /dev/null
@@ -1,123 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QDebug>
-#include <QTimer>
-
-#include "qtemplaterecognizer.h"
-
-QTemplateGestureRecognizer::QTemplateGestureRecognizer(QObject *parent)
- : QSensorGestureRecognizer(parent)
-{
-}
-
-QTemplateGestureRecognizer::~QTemplateGestureRecognizer()
-{
-
-}
-
-void QTemplateGestureRecognizer::create()
-{
- connect(&_timer,SIGNAL(timeout()),this,SLOT(timeout()));
- _timer.setInterval(1000);
-}
-
-bool QTemplateGestureRecognizer::start()
-{
- Q_EMIT detected(id());
- _timer.start();
- return _timer.isActive();
-}
-
-bool QTemplateGestureRecognizer::stop()
-{
- _timer.stop();
- return true;
-}
-
-
-bool QTemplateGestureRecognizer::isActive()
-{
- return _timer.isActive();
-}
-
-QString QTemplateGestureRecognizer::id() const
-{
- return QString("QtSensors.template");
-}
-
-void QTemplateGestureRecognizer::timeout()
-{
- Q_EMIT detected(id());
-}
-
-
-QTemplateGestureRecognizer1::QTemplateGestureRecognizer1(QObject *parent)
- : QSensorGestureRecognizer(parent)
-{
-}
-
-QTemplateGestureRecognizer1::~QTemplateGestureRecognizer1()
-{
-
-}
-
-void QTemplateGestureRecognizer1::create()
-{
- connect(&_timer,SIGNAL(timeout()),this,SLOT(timeout()));
- _timer.setInterval(500);
-}
-
-bool QTemplateGestureRecognizer1::start()
-{
- Q_EMIT detected(id());
- _timer.start();
- return _timer.isActive();
-}
-
-bool QTemplateGestureRecognizer1::stop()
-{
- _timer.stop();
- return true;
-}
-
-
-bool QTemplateGestureRecognizer1::isActive()
-{
- return _timer.isActive();
-}
-
-QString QTemplateGestureRecognizer1::id() const
-{
- return QString("QtSensors.template1");
-}
-
-void QTemplateGestureRecognizer1::timeout()
-{
- Q_EMIT detected(id());
-}
diff --git a/tests/auto/sensors2qmlapi/qtemplaterecognizer.h b/tests/auto/sensors2qmlapi/qtemplaterecognizer.h
deleted file mode 100644
index 10e5bc33..00000000
--- a/tests/auto/sensors2qmlapi/qtemplaterecognizer.h
+++ /dev/null
@@ -1,80 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef QTEMPLATERECOGNIZER_H
-#define QTEMPLATERECOGNIZER_H
-
-#include <QDebug>
-#include <QtCore/QTimer>
-#include <qsensorgesturerecognizer.h>
-
-class QTemplateGestureRecognizer : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
-
- QTemplateGestureRecognizer(QObject *parent = 0);
- ~QTemplateGestureRecognizer();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-private slots:
- void timeout();
-
-private:
- QTimer _timer;
-};
-
-class QTemplateGestureRecognizer1 : public QSensorGestureRecognizer
-{
- Q_OBJECT
-public:
-
- QTemplateGestureRecognizer1(QObject *parent = 0);
- ~QTemplateGestureRecognizer1();
-
- void create() override;
-
- QString id() const override;
- bool start() override;
- bool stop() override;
- bool isActive() override;
-
-private slots:
- void timeout();
-
-private:
- QTimer _timer;
-};
-
-#endif // QTEMPLATERECOGNIZER_H
diff --git a/tests/auto/sensors2qmlapi/sensors2qmlapi.pro b/tests/auto/sensors2qmlapi/sensors2qmlapi.pro
deleted file mode 100644
index 3d5e2377..00000000
--- a/tests/auto/sensors2qmlapi/sensors2qmlapi.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TEMPLATE = app
-TARGET = tst_sensors2qmlapi
-
-CONFIG += testcase
-QT = core testlib sensors-private qml
-
-SOURCES += tst_sensors2qmlapi.cpp \
- ./../../../src/imports/sensors/qmlsensorgesture.cpp \
- qtemplategestureplugin.cpp \
- qtemplaterecognizer.cpp
-
-HEADERS += \
- ./../../../src/imports/sensors/qmlsensorgesture.h \
- qtemplategestureplugin.h \
- qtemplaterecognizer.h
-
diff --git a/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp b/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp
deleted file mode 100644
index d0074146..00000000
--- a/tests/auto/sensors2qmlapi/tst_sensors2qmlapi.cpp
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include <QtTest/QtTest>
-#include <QtTest/QSignalSpy>
-#include <QtCore/QDebug>
-#include "../../../src/imports/sensors/qmlsensorgesture.h"
-#include "qtemplategestureplugin.h"
-#include "qtemplaterecognizer.h"
-#include <qsensorgesturemanager.h>
-#include "qsensormanager.h"
-
-QT_USE_NAMESPACE
-
-QT_BEGIN_NAMESPACE
-
-class tst_Sensors2QMLAPI : public QObject
-{
- Q_OBJECT
-
-private slots:
- void initTestCase();
- void testGesture();
-};
-
-void tst_Sensors2QMLAPI::initTestCase()
-{
- qputenv("QT_SENSORS_LOAD_PLUGINS", "0"); // Do not load plugins
-}
-
-void tst_Sensors2QMLAPI::testGesture()
-{
- QTemplateGesturePlugin* plugin = new QTemplateGesturePlugin();
- QList <QSensorGestureRecognizer *> recognizers = plugin->createRecognizers();
- QSensorGestureManager manager;
-
- QmlSensorGesture* gs = new QmlSensorGesture(this);
- gs->componentComplete();
- QSignalSpy spy_availableGesturesChanged(gs, SIGNAL(availableGesturesChanged()));
- QSignalSpy spy_detected(gs, SIGNAL(detected(QString)));
- QSignalSpy spy_gesturesChanged(gs, SIGNAL(gesturesChanged()));
- QSignalSpy spy_validGesturesChanged(gs, SIGNAL(validGesturesChanged()));
- QSignalSpy spy_invalidGesturesChanged(gs, SIGNAL(invalidGesturesChanged()));
- QSignalSpy spy_enabledChanged(gs, SIGNAL(enabledChanged()));
-
- //This flag is needed if you run this unit test with an alread installed template plugin
- bool registered = false;
- for (int i = 0; i < recognizers.count(); i++){
- registered = manager.registerSensorGestureRecognizer(recognizers[i]);
- }
- if (registered) {
- QCOMPARE(spy_availableGesturesChanged.count(), 2);
- }
-
- //check creation of a not known plugin
- QCOMPARE(spy_invalidGesturesChanged.count(), 0);
- QCOMPARE(spy_gesturesChanged.count(), 0);
- gs->setGestures(QStringList() << "lollipop");
- QCOMPARE(spy_gesturesChanged.count(), 1);
- QCOMPARE(spy_invalidGesturesChanged.count(), 1);
-
- //check creation of a known plugin
- QCOMPARE(spy_validGesturesChanged.count(), 0);
- QCOMPARE(spy_gesturesChanged.count(), 1);
- spy_invalidGesturesChanged.clear();
- spy_validGesturesChanged.clear();
- gs->setGestures(QStringList() << "QtSensors.template");
- QCOMPARE(spy_gesturesChanged.count(), 2);
- QCOMPARE(spy_invalidGesturesChanged.count(), 1);
- QCOMPARE(spy_validGesturesChanged.count(), 1);
-
- //enable "QtSensors.template"
- QCOMPARE(spy_enabledChanged.count(), 0);
- QCOMPARE(spy_detected.count(), 0);
- gs->setEnabled(true);
- QCOMPARE(spy_enabledChanged.count(), 1);
- QCOMPARE(spy_detected.count(), 1);
-
- //set gesture during running sensor should not emit gesture changed
- spy_gesturesChanged.clear();
- gs->setGestures(QStringList() << "QtSensors.template2");
- QCOMPARE(spy_gesturesChanged.count(), 0);
-
- gs->setEnabled(false);
-
- QmlSensorGesture* gs1 = new QmlSensorGesture(this);
- QSignalSpy spy1_detected(gs1, SIGNAL(detected(QString)));
- QSignalSpy spy1_gesturesChanged(gs1, SIGNAL(gesturesChanged()));
- QSignalSpy spy1_validGesturesChanged(gs1, SIGNAL(validGesturesChanged()));
- QSignalSpy spy1_invalidGesturesChanged(gs1, SIGNAL(invalidGesturesChanged()));
- QSignalSpy spy1_enabledChanged(gs1, SIGNAL(enabledChanged()));
- gs1->componentComplete();
-
- //set enable = true without gesture should
- gs1->setEnabled(true);
- QCOMPARE(spy1_enabledChanged.count(), 1);
- gs1->setEnabled(false);
- spy1_enabledChanged.clear();
-
- //reding gestures check if we get back an empty string list
- QStringList gestures = gs1->gestures();
- QCOMPARE(gestures.count(), 0);
- QStringList validgestures = gs1->validGestures();
- QCOMPARE(validgestures.count(), 0);
- QStringList invalidgestures = gs1->invalidGestures();
- QCOMPARE(invalidgestures.count(), 0);
-
- //check types "QtSensors.template" "QtSensors.template1" "lollipop"
- //expect valid 2 not available 1
- gestures << "QtSensors.template" << "QtSensors.template1" << "lollipop";
- gs1->setGestures(gestures);
- gestures = gs1->gestures();
- QCOMPARE(gestures.count(), 3);
- QCOMPARE(spy1_validGesturesChanged.count(), 1);
- QCOMPARE(spy1_invalidGesturesChanged.count(), 1);
- QCOMPARE(spy1_gesturesChanged.count(), 1);
- //set same gesture again should not emit gesture changed
- gs1->setGestures(gestures);
- QCOMPARE(spy1_gesturesChanged.count(), 1);
-
- spy1_gesturesChanged.clear();
- gestures.clear();
- gs1->setGestures(gestures);
- QCOMPARE(spy1_gesturesChanged.count(), 1);
-
- //enable "QtSensors.template" and "QtSensors.template1"
- gestures << "QtSensors.template" << "QtSensors.template1";
- gs1->setEnabled(false);
- gs1->setGestures(gestures);
- spy1_enabledChanged.clear();
- spy1_detected.clear();
- gs1->setEnabled(true);
- QCOMPARE(spy1_enabledChanged.count(), 1);
- QCOMPARE(spy1_detected.count(), 2);
- gs1->setEnabled(false);
-
- //check sensor shouldn't run until the componentComplete gets called
- QmlSensorGesture* gs2 = new QmlSensorGesture(this);
- QSignalSpy spy2_detected(gs2, SIGNAL(detected(QString)));
- gs2->setGestures(QStringList() << "QtSensors.template");
- gs2->setEnabled(true);
- QCOMPARE(spy2_detected.count(), 0);
- gs2->componentComplete();
- QCOMPARE(spy2_detected.count(), 1);
-}
-
-QT_END_NAMESPACE
-
-QTEST_MAIN(tst_Sensors2QMLAPI)
-#include "tst_sensors2qmlapi.moc"
diff --git a/tests/manual/CMakeLists.txt b/tests/manual/CMakeLists.txt
new file mode 100644
index 00000000..8686f854
--- /dev/null
+++ b/tests/manual/CMakeLists.txt
@@ -0,0 +1,10 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+if(TARGET Qt::Widgets)
+ add_subdirectory(sensor_explorer_widgets)
+endif()
+if (TARGET Qt::Quick)
+ add_subdirectory(sensorclerk)
+ add_subdirectory(sensor_explorer_qml)
+endif()
diff --git a/tests/manual/sensor_explorer/explorer.h b/tests/manual/sensor_explorer/explorer.h
deleted file mode 100644
index 7e7acccd..00000000
--- a/tests/manual/sensor_explorer/explorer.h
+++ /dev/null
@@ -1,72 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#ifndef EXPLORER_H
-#define EXPLORER_H
-
-#include <QMainWindow>
-#include <ui_explorer.h>
-#include <qsensor.h>
-
-
-class Explorer : public QMainWindow, public QSensorFilter
-{
- Q_OBJECT
-public:
- Explorer(QWidget *parent = 0);
- ~Explorer();
-
- bool filter(QSensorReading *reading);
-
-private slots:
- void loadSensors();
- void on_sensors_currentItemChanged();
- void on_sensorprops_itemChanged(QTableWidgetItem *item);
- void on_start_clicked();
- void on_stop_clicked();
- void sensor_changed();
- void adjustSizes();
- void loadSensorProperties();
-
-private:
- void showEvent(QShowEvent *event);
- void resizeEvent(QResizeEvent *event);
-
- void clearReading();
- void loadReading();
- void clearSensorProperties();
- void adjustTableColumns(QTableWidget *table);
- void resizeSensors();
-
- Ui::Explorer ui;
- QSensor *m_sensor;
- bool ignoreItemChanged;
-};
-
-#endif
-
diff --git a/tests/manual/sensor_explorer/main.cpp b/tests/manual/sensor_explorer/main.cpp
deleted file mode 100644
index 4b5dca92..00000000
--- a/tests/manual/sensor_explorer/main.cpp
+++ /dev/null
@@ -1,38 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-#include "explorer.h"
-
-int main(int argc, char **argv)
-{
- QApplication app(argc, argv);
- Explorer explorer;
- explorer.show();
- return app.exec();
-}
-
diff --git a/tests/manual/sensor_explorer/sensor_explorer.pro b/tests/manual/sensor_explorer/sensor_explorer.pro
deleted file mode 100644
index 353c49e0..00000000
--- a/tests/manual/sensor_explorer/sensor_explorer.pro
+++ /dev/null
@@ -1,16 +0,0 @@
-TEMPLATE=app
-TARGET=sensor_explorer
-
-QT = widgets sensors
-
-FORMS=\
- explorer.ui
-
-HEADERS=\
- explorer.h
-
-SOURCES=\
- explorer.cpp\
- main.cpp
-
-
diff --git a/tests/manual/sensor_explorer_qml/CMakeLists.txt b/tests/manual/sensor_explorer_qml/CMakeLists.txt
new file mode 100644
index 00000000..e68fce62
--- /dev/null
+++ b/tests/manual/sensor_explorer_qml/CMakeLists.txt
@@ -0,0 +1,32 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+cmake_minimum_required(VERSION 3.16)
+project(tst_manual_sensor_explorer_qml LANGUAGES CXX)
+
+set(CMAKE_AUTOMOC ON)
+
+find_package(Qt6 REQUIRED COMPONENTS Qml Quick Sensors)
+
+qt_add_executable(tst_manual_sensor_explorer_qml
+ main.cpp
+ sensormodels.cpp sensormodels.h
+)
+
+set_target_properties(tst_manual_sensor_explorer_qml PROPERTIES
+ WIN32_EXECUTABLE TRUE
+ MACOSX_BUNDLE TRUE
+)
+
+target_link_libraries(tst_manual_sensor_explorer_qml PUBLIC
+ Qt::Qml
+ Qt::Quick
+ Qt::Sensors
+)
+
+qt_add_qml_module(tst_manual_sensor_explorer_qml
+ URI SensorModels
+ VERSION 1.0
+ QML_FILES sensor_explorer.qml
+ NO_RESOURCE_TARGET_PATH
+)
diff --git a/tests/manual/sensor_explorer_qml/main.cpp b/tests/manual/sensor_explorer_qml/main.cpp
new file mode 100644
index 00000000..604a6d36
--- /dev/null
+++ b/tests/manual/sensor_explorer_qml/main.cpp
@@ -0,0 +1,20 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include <QtQml>
+#include <QtQuick/QQuickWindow>
+#include <QtGui/QGuiApplication>
+
+int main(int argc, char *argv[])
+{
+ QGuiApplication app(argc, argv);
+ QQmlApplicationEngine engine(QUrl("qrc:///sensor_explorer.qml"));
+ QObject *topLevel = engine.rootObjects().value(0);
+ QQuickWindow *window = qobject_cast<QQuickWindow *>(topLevel);
+ if (!window) {
+ qWarning("Error: Your root item has to be a Window.");
+ return -1;
+ }
+ window->show();
+ return app.exec();
+}
diff --git a/examples/sensors/sensor_explorer/qml.qrc b/tests/manual/sensor_explorer_qml/qml.qrc
index df6160ae..df6160ae 100644
--- a/examples/sensors/sensor_explorer/qml.qrc
+++ b/tests/manual/sensor_explorer_qml/qml.qrc
diff --git a/tests/manual/sensor_explorer_qml/sensor_explorer.qml b/tests/manual/sensor_explorer_qml/sensor_explorer.qml
new file mode 100644
index 00000000..e80fb0a4
--- /dev/null
+++ b/tests/manual/sensor_explorer_qml/sensor_explorer.qml
@@ -0,0 +1,119 @@
+// Copyright (C) 2021 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+import QtQuick
+import QtQuick.Window
+import QtQuick.Controls
+import QtQuick.Layouts
+
+import SensorModels
+
+Window {
+ id: window
+ width: 400
+ height: 600
+
+ AvailableSensorsModel {
+ id: availableSensorsModel
+ }
+
+ ColumnLayout {
+
+ GroupBox {
+ id: availableSensorsModelGroup
+ title: qsTr("Available Sensors")
+ Layout.preferredWidth: window.width - 4 // 4 = 2x2 margins
+ Layout.preferredHeight: window.height * 0.4
+ Layout.margins: 2
+
+ ListView {
+ id: sensorsView
+ anchors.fill: parent
+ currentIndex: -1 // no initial selection
+ spacing: 1
+ clip: true
+ model: availableSensorsModel
+ delegate: Item {
+ id: sensorRow
+ width: sensorsView.width
+ height: 30
+ property color rowColor: {
+ if (sensorsView.currentIndex == index)
+ return "lightsteelblue" // highlight
+ return (index % 2 == 0) ? "#CCCCCC" : "#AAAAAA"
+ }
+ RowLayout {
+ spacing: 1
+ anchors.fill: parent
+ Rectangle {
+ color: sensorRow.rowColor
+ Layout.preferredWidth: sensorRow.width * 0.8
+ Layout.preferredHeight: sensorRow.height
+ Text {
+ anchors.centerIn: parent
+ text: display.type + "::" + display.identifier
+ }
+ }
+ Rectangle {
+ color: sensorRow.rowColor
+ Layout.preferredWidth: sensorRow.width * 0.2
+ Layout.preferredHeight: sensorRow.height
+ Text {
+ anchors.centerIn: parent
+ text: display.active ? qsTr("Active") : qsTr("Inactive")
+ }
+ }
+ }
+ MouseArea {
+ anchors.fill: parent
+ onClicked: sensorsView.currentIndex = index
+ }
+ }
+ }
+ }
+
+ SensorPropertyModel {
+ id: propertyModel
+ sensor: availableSensorsModel.get(sensorsView.currentIndex)
+ }
+
+ Button {
+ id: activateButton
+ Layout.preferredHeight: 30
+ Layout.alignment: Qt.AlignCenter
+ enabled: propertyModel.sensor
+ text: !propertyModel.sensor ? qsTr("Select sensor")
+ : (propertyModel.sensor.active ? qsTr("Deactivate sensor")
+ : qsTr("Activate sensor"))
+ onClicked: propertyModel.sensor.active = !propertyModel.sensor.active
+ }
+
+ GroupBox {
+ title: qsTr("Selected sensor's properties")
+ Layout.preferredWidth: window.width - 4 // 4 = 2x2 margins
+ Layout.preferredHeight: window.height * 0.55 - activateButton.height
+ Layout.margins: 2
+ enabled: sensorsView.currentIndex != -1
+
+ TableView {
+ id: propertyView
+ anchors.fill: parent
+ model: propertyModel
+ columnSpacing: 1
+ rowSpacing: 1
+ boundsMovement: Flickable.StopAtBounds
+ clip: true
+
+ delegate: Rectangle {
+ implicitHeight: 30
+ implicitWidth: propertyView.width * 0.5
+ color: (model.row % 2 == 0) ? "#CCCCCC" : "#AAAAAA"
+ Text {
+ anchors.centerIn: parent
+ text: display
+ }
+ }
+ }
+ }
+ }
+}
diff --git a/tests/manual/sensor_explorer_qml/sensormodels.cpp b/tests/manual/sensor_explorer_qml/sensormodels.cpp
new file mode 100644
index 00000000..36de4412
--- /dev/null
+++ b/tests/manual/sensor_explorer_qml/sensormodels.cpp
@@ -0,0 +1,185 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include "sensormodels.h"
+#include "qsensor.h"
+#include "qorientationsensor.h"
+#include <QtCore/QDebug>
+#include <qsensor.h>
+#include <QMetaObject>
+#include <QMetaProperty>
+
+QT_BEGIN_NAMESPACE
+
+QByteArray rangelistToByteArray(const qrangelist& list)
+{
+ QStringList ranges;
+ for (const qrange &r : list) {
+ if (r.first == r.second)
+ ranges << QString("%1 Hz").arg(r.first);
+ else
+ ranges << QString("%1-%2 Hz").arg(r.first).arg(r.second);
+ }
+ if (ranges.size() > 0)
+ return ranges.join(", ").toLatin1();
+ return "-";
+}
+
+QByteArray outputrangelistToByteArray(const qoutputrangelist& list)
+{
+ QStringList ranges;
+ for (const qoutputrange &r : list) {
+ ranges << QString("(%1, %2) += %3").arg(r.minimum).arg(r.maximum).arg(r.accuracy);
+ }
+ if (ranges.size() > 0)
+ return ranges.join(", ").toLatin1();
+ return "-";
+}
+
+AvailableSensorsModel::AvailableSensorsModel(QObject* parent) : QAbstractListModel(parent)
+{
+ // Some valuetypes do not convert nicely to presentable strings, add converters for them
+ QMetaType::registerConverter<qrangelist, QByteArray>(rangelistToByteArray);
+ QMetaType::registerConverter<qoutputrangelist, QByteArray>(outputrangelistToByteArray);
+
+ // Populate the available sensors list
+ loadSensors();
+}
+
+/*
+ Load all available sensors and store them in a list.
+*/
+void AvailableSensorsModel::loadSensors()
+{
+ beginResetModel();
+ m_availableSensors.clear();
+
+ for (const QByteArray &type : QSensor::sensorTypes()) {
+ for (const QByteArray &identifier : QSensor::sensorsForType(type)) {
+ QSensor* sensor = new QSensor(type, this);
+ sensor->setIdentifier(identifier);
+ // Don't put in sensors we can't connect to
+ if (!sensor->connectToBackend())
+ continue;
+ m_availableSensors.append(sensor);
+ }
+ }
+ endResetModel();
+}
+
+int AvailableSensorsModel::rowCount(const QModelIndex&) const
+{
+ return m_availableSensors.size();
+}
+
+QVariant AvailableSensorsModel::data(const QModelIndex &index, int role) const
+{
+ if (role != Qt::DisplayRole)
+ return QVariant();
+ return QVariant::fromValue<QSensor*>(m_availableSensors.at(index.row()));
+}
+
+QSensor* AvailableSensorsModel::get(int index) const
+{
+ if (index < 0 || index >= m_availableSensors.size())
+ return nullptr;
+ return m_availableSensors[index];
+}
+
+// -- SensorPropertyModel
+
+static QSet<QByteArray> ignoredProperties = {"reading", "identifier", "active",
+ "connectedToBackend", "busy"};
+
+SensorPropertyModel::SensorPropertyModel(QObject* parent) : QAbstractTableModel(parent)
+{
+}
+
+int SensorPropertyModel::rowCount(const QModelIndex&) const
+{
+ if (!m_sensor)
+ return 0;
+ return m_values.size();
+}
+
+int SensorPropertyModel::columnCount(const QModelIndex&) const
+{
+ return 2; // 2 = property name + value columns
+}
+
+QVariant SensorPropertyModel::data(const QModelIndex &index, int role) const
+{
+ if (role != Qt::DisplayRole)
+ return QVariant();
+ return (index.column() == 0) ? std::get<0>(m_values.at(index.row()))
+ : std::get<1>(m_values.at(index.row()));
+}
+
+void SensorPropertyModel::setSensor(QSensor *sensor)
+{
+ if (m_sensor == sensor)
+ return;
+ if (m_sensor)
+ m_sensor->disconnect(this);
+ m_sensor = sensor;
+
+ beginResetModel();
+ m_values.clear();
+ if (m_sensor) {
+ // Use metobject to read the available properties. This allows the model to support all
+ // available sensors without knowing their properties in advance / compile-time.
+
+ // 1. Read properties of the 'reading' object if available
+ int firstProperty = QSensorReading::staticMetaObject.propertyOffset();
+ QSensorReading *reading = m_sensor->reading();
+ if (reading) {
+ const QMetaObject *mo = reading->metaObject();
+ for (int i = firstProperty; i < mo->propertyCount(); ++i) {
+ QByteArray name = mo->property(i).name();
+ m_values.append(std::tuple<QByteArray, QByteArray>
+ (name, reading->property(name).toByteArray()));
+ }
+ }
+
+ // 2. Read properties of the 'sensor' object
+ const QMetaObject *mo1 = m_sensor->metaObject();
+ firstProperty = QSensorReading::staticMetaObject.propertyOffset();
+ for (int i = firstProperty; i < mo1->propertyCount(); ++i) {
+ QByteArray name = mo1->property(i).name();
+ if (ignoredProperties.contains(name))
+ continue;
+ m_values.append(std::tuple<QByteArray, QByteArray>
+ (name, m_sensor->property(name).toByteArray()));
+ }
+ QObject::connect(m_sensor, &QSensor::readingChanged,
+ this, &SensorPropertyModel::onReadingChanged);
+ }
+ endResetModel();
+ emit sensorChanged();
+}
+
+QSensor* SensorPropertyModel::sensor() const
+{
+ return m_sensor;
+}
+
+void SensorPropertyModel::onReadingChanged()
+{
+ QSensorReading *reading = m_sensor->reading();
+ const QMetaObject *mo = reading->metaObject();
+ int firstProperty = QSensorReading::staticMetaObject.propertyOffset();
+
+ int valueMapIndex = 0;
+ for (int i = firstProperty; i < mo->propertyCount(); ++i) {
+ QByteArray name = mo->property(i).name();
+ // Update the value and signal the change. Note: here we rely that the "reading"
+ // properties are first on the m_values, and in same order as after the initial
+ // population. This should be true as we access the static metabobject (dynamic
+ // property changes shouldn't impact)
+ m_values[valueMapIndex++] = std::tuple<QByteArray, QByteArray>
+ (name, reading->property(name).toByteArray());
+ }
+ emit dataChanged(createIndex(0,1), createIndex(valueMapIndex,1), {Qt::DisplayRole});
+}
+
+QT_END_NAMESPACE
diff --git a/tests/manual/sensor_explorer_qml/sensormodels.h b/tests/manual/sensor_explorer_qml/sensormodels.h
new file mode 100644
index 00000000..4f16d6fd
--- /dev/null
+++ b/tests/manual/sensor_explorer_qml/sensormodels.h
@@ -0,0 +1,61 @@
+// Copyright (C) 2017 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef QSEONSOREXPLORER_H
+#define QSEONSOREXPLORER_H
+
+#include <QtSensors/qsensor.h>
+
+#include <QtQml/qqml.h>
+#include <QtCore/QAbstractListModel>
+#include <QtCore/QAbstractTableModel>
+
+QT_BEGIN_NAMESPACE
+
+class AvailableSensorsModel: public QAbstractListModel
+{
+ Q_OBJECT
+ QML_ELEMENT
+public:
+ explicit AvailableSensorsModel(QObject* parent = nullptr);
+ int rowCount(const QModelIndex & = QModelIndex()) const override;
+ QVariant data(const QModelIndex &index, int role) const override;
+ Q_INVOKABLE QSensor* get(int index) const;
+
+private:
+ void loadSensors();
+ QList<QSensor*> m_availableSensors;
+};
+
+class SensorPropertyModel: public QAbstractTableModel
+{
+ Q_OBJECT
+ Q_PROPERTY(QSensor* sensor READ sensor WRITE setSensor NOTIFY sensorChanged)
+ QML_ELEMENT
+
+public:
+ explicit SensorPropertyModel(QObject* parent = nullptr);
+
+ int rowCount(const QModelIndex & = QModelIndex()) const override;
+ int columnCount(const QModelIndex & = QModelIndex()) const override;
+ QVariant data(const QModelIndex &index, int role) const override;
+
+ void setSensor(QSensor* sensor);
+ QSensor* sensor() const;
+
+signals:
+ void sensorChanged();
+
+private slots:
+ void onReadingChanged();
+
+private:
+ QSensor* m_sensor = nullptr;
+ // m_values is used to cache sensor property values to avoid
+ // full metaobject iteration on every sensor reading change
+ QList<std::tuple<QByteArray, QByteArray>> m_values;
+};
+
+QT_END_NAMESPACE
+
+#endif // QSEONSOREXPLORER_H
diff --git a/tests/manual/sensor_explorer_widgets/CMakeLists.txt b/tests/manual/sensor_explorer_widgets/CMakeLists.txt
new file mode 100644
index 00000000..357eb02e
--- /dev/null
+++ b/tests/manual/sensor_explorer_widgets/CMakeLists.txt
@@ -0,0 +1,18 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## sensor_explorer Binary:
+#####################################################################
+
+qt_internal_add_manual_test(tst_manual_sensor_explorer_widgets
+ GUI
+ SOURCES
+ explorer.cpp explorer.h explorer.ui
+ main.cpp
+ LIBRARIES
+ Qt::Sensors
+ Qt::Widgets
+ ENABLE_AUTOGEN_TOOLS
+ uic
+)
diff --git a/tests/manual/sensor_explorer/explorer.cpp b/tests/manual/sensor_explorer_widgets/explorer.cpp
index d2a85f91..16a4582b 100644
--- a/tests/manual/sensor_explorer/explorer.cpp
+++ b/tests/manual/sensor_explorer_widgets/explorer.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include "explorer.h"
#include <QTimer>
@@ -62,9 +37,9 @@ void Explorer::loadSensors()
// Clear out anything that's in there now
ui.sensors->clear();
- foreach (const QByteArray &type, QSensor::sensorTypes()) {
+ for (const QByteArray &type : QSensor::sensorTypes()) {
qDebug() << "Found type" << type;
- foreach (const QByteArray &identifier, QSensor::sensorsForType(type)) {
+ for (const QByteArray &identifier : QSensor::sensorsForType(type)) {
qDebug() << "Found identifier" << identifier;
// Don't put in sensors we can't connect to
QSensor sensor(type);
@@ -158,6 +133,8 @@ void Explorer::loadReading()
{
// Probe the reading using Qt's meta-object facilities
QSensorReading *reading = m_sensor->reading();
+ if (!reading)
+ return;
const QMetaObject *mo = reading->metaObject();
int firstProperty = QSensorReading::staticMetaObject.propertyOffset();
@@ -173,9 +150,9 @@ void Explorer::loadReading()
index = new QTableWidgetItem(QVariant(row - 1).toString());
QTableWidgetItem *prop = new QTableWidgetItem(mo->property(i).name());
QString typeName = QLatin1String(mo->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
+ int delimiter = typeName.lastIndexOf("::");
+ if (delimiter != -1)
+ typeName = typeName.mid(delimiter + 2);
QTableWidgetItem *type = new QTableWidgetItem(typeName);
QTableWidgetItem *value = new QTableWidgetItem();
@@ -222,16 +199,16 @@ void Explorer::loadSensorProperties()
}
QTableWidgetItem *prop = new QTableWidgetItem(name);
QString typeName = QLatin1String(mo->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
+ int delimiter = typeName.lastIndexOf("::");
+ if (delimiter != -1)
+ typeName = typeName.mid(delimiter + 2);
QTableWidgetItem *type = new QTableWidgetItem(typeName);
QVariant v = mo->property(i).read(m_sensor);
QString val;
if (typeName == "qrangelist") {
qrangelist rl = v.value<qrangelist>();
QStringList out;
- foreach (const qrange &r, rl) {
+ for (const qrange &r : rl) {
if (r.first == r.second)
out << QString("%1 Hz").arg(r.first);
else
@@ -241,9 +218,8 @@ void Explorer::loadSensorProperties()
} else if (typeName == "qoutputrangelist") {
qoutputrangelist rl = v.value<qoutputrangelist>();
QStringList out;
- foreach (const qoutputrange &r, rl) {
+ for (const qoutputrange &r : rl)
out << QString("(%1, %2) += %3").arg(r.minimum).arg(r.maximum).arg(r.accuracy);
- }
val = out.join(", ");
} else {
val = v.toString();
@@ -371,9 +347,9 @@ bool Explorer::filter(QSensorReading *reading)
for (int i = firstProperty; i < mo->propertyCount(); ++i) {
int row = i - firstProperty;
QString typeName = QLatin1String(mo->property(i).typeName());
- int crap = typeName.lastIndexOf("::");
- if (crap != -1)
- typeName = typeName.mid(crap + 2);
+ int delimiter = typeName.lastIndexOf("::");
+ if (delimiter != -1)
+ typeName = typeName.mid(delimiter + 2);
QLatin1String name(mo->property(i).name());
QTableWidgetItem *value = ui.reading->item(row, 3);
QVariant val = mo->property(i).read(reading);
diff --git a/tests/manual/sensor_explorer_widgets/explorer.h b/tests/manual/sensor_explorer_widgets/explorer.h
new file mode 100644
index 00000000..05e200f3
--- /dev/null
+++ b/tests/manual/sensor_explorer_widgets/explorer.h
@@ -0,0 +1,47 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#ifndef EXPLORER_H
+#define EXPLORER_H
+
+#include <QMainWindow>
+#include <ui_explorer.h>
+#include <qsensor.h>
+
+
+class Explorer : public QMainWindow, public QSensorFilter
+{
+ Q_OBJECT
+public:
+ Explorer(QWidget *parent = 0);
+ ~Explorer();
+
+ bool filter(QSensorReading *reading) override;
+
+private slots:
+ void loadSensors();
+ void on_sensors_currentItemChanged();
+ void on_sensorprops_itemChanged(QTableWidgetItem *item);
+ void on_start_clicked();
+ void on_stop_clicked();
+ void sensor_changed();
+ void adjustSizes();
+ void loadSensorProperties();
+
+private:
+ void showEvent(QShowEvent *event) override;
+ void resizeEvent(QResizeEvent *event) override;
+
+ void clearReading();
+ void loadReading();
+ void clearSensorProperties();
+ void adjustTableColumns(QTableWidget *table);
+ void resizeSensors();
+
+ Ui::Explorer ui;
+ QSensor *m_sensor;
+ bool ignoreItemChanged;
+};
+
+#endif
+
diff --git a/tests/manual/sensor_explorer/explorer.ui b/tests/manual/sensor_explorer_widgets/explorer.ui
index 166e9c36..166e9c36 100644
--- a/tests/manual/sensor_explorer/explorer.ui
+++ b/tests/manual/sensor_explorer_widgets/explorer.ui
diff --git a/tests/manual/sensor_explorer_widgets/main.cpp b/tests/manual/sensor_explorer_widgets/main.cpp
new file mode 100644
index 00000000..005ec17d
--- /dev/null
+++ b/tests/manual/sensor_explorer_widgets/main.cpp
@@ -0,0 +1,13 @@
+// Copyright (C) 2016 The Qt Company Ltd.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+
+#include "explorer.h"
+
+int main(int argc, char **argv)
+{
+ QApplication app(argc, argv);
+ Explorer explorer;
+ explorer.show();
+ return app.exec();
+}
+
diff --git a/tests/manual/sensorclerk/CMakeLists.txt b/tests/manual/sensorclerk/CMakeLists.txt
new file mode 100644
index 00000000..18a487b3
--- /dev/null
+++ b/tests/manual/sensorclerk/CMakeLists.txt
@@ -0,0 +1,28 @@
+# Copyright (C) 2022 The Qt Company Ltd.
+# SPDX-License-Identifier: BSD-3-Clause
+
+#####################################################################
+## sensorclerk Binary:
+#####################################################################
+
+qt_internal_add_manual_test(tst_manual_sensor_clerk
+ GUI
+ SOURCES
+ collector.cpp collector.h
+ main.cpp
+ LIBRARIES
+ Qt::Gui
+ Qt::Quick
+ Qt::Sensors
+)
+
+set(qml_files
+ "qml/main.qml"
+)
+
+qt_internal_add_resource(tst_manual_sensor_clerk "qml_files"
+ PREFIX
+ "/"
+ FILES
+ ${qml_files}
+)
diff --git a/tests/manual/sensorclerk/collector.cpp b/tests/manual/sensorclerk/collector.cpp
index 98e1ccad..4ebc7203 100644
--- a/tests/manual/sensorclerk/collector.cpp
+++ b/tests/manual/sensorclerk/collector.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 Lorn Potter.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QtQml/qqml.h>
#include <QtCore/QFile>
@@ -135,7 +110,7 @@ void Collector::startCollecting()
{
if (dataFile.exists()) {
fileCounter++;
- for (int i = 0; i < fileCounter; i++) {
+ for (size_t i = 0; i < fileCounter; i++) {
if (!QFileInfo(QString(QDir::tempPath()+"/sensordump_%1.dat").arg(fileCounter)).exists())
dataFile.setFileName(QString(QDir::tempPath()+"/sensordump_%1.dat").arg(fileCounter));
break;
diff --git a/tests/manual/sensorclerk/collector.h b/tests/manual/sensorclerk/collector.h
index 855c5843..0f1098c9 100644
--- a/tests/manual/sensorclerk/collector.h
+++ b/tests/manual/sensorclerk/collector.h
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 Lorn Potter.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#ifndef COLLECTOR_H
#define COLLECTOR_H
@@ -68,7 +43,7 @@ private:
QFile dataFile;
bool isActive;
- int fileCounter;
+ size_t fileCounter;
Q_DISABLE_COPY(Collector)
};
diff --git a/tests/manual/sensorclerk/main.cpp b/tests/manual/sensorclerk/main.cpp
index 9265dcc8..468f1d88 100644
--- a/tests/manual/sensorclerk/main.cpp
+++ b/tests/manual/sensorclerk/main.cpp
@@ -1,30 +1,5 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
+// Copyright (C) 2017 Lorn Potter.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
#include <QGuiApplication>
#include <QtQuick/QQuickView>
@@ -40,7 +15,7 @@ int main( int argc, char** argv )
qmlRegisterType<Collector>("Collector", 1, 0, "Collector");
QQuickView view;
view.setResizeMode(QQuickView::SizeRootObjectToView);
- view.setSource( QUrl( "qml/main.qml" ) );
+ view.setSource(QUrl("qrc:qml/main.qml"));
view.show();
return app.exec();
}
diff --git a/tests/manual/sensorclerk/qml/Button.qml b/tests/manual/sensorclerk/qml/Button.qml
deleted file mode 100644
index 0889e07b..00000000
--- a/tests/manual/sensorclerk/qml/Button.qml
+++ /dev/null
@@ -1,117 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//Import the declarative plugins
-import QtQuick 2.0
-
-//Implementation of the Button control.
-Item {
- id: button
- width: 250
- height: 150
- property alias text: innerText.text;
- property color color: "white"
- property color hoverColor: "#aaaaaa"
- property color pressColor: "slategray"
- property int fontSize: 10
- property int borderWidth: 1
- property int borderRadius: 2
- scale: state === "Pressed" ? 0.96 : 1.0
- onEnabledChanged: state = ""
- signal clicked
-
- //define a scale animation
- Behavior on scale {
- NumberAnimation {
- duration: 100
- easing.type: Easing.InOutQuad
- }
- }
-
- //Rectangle to draw the button
- Rectangle {
- id: rectangleButton
- anchors.fill: parent
- radius: borderRadius
- color: button.enabled ? button.color : "grey"
- border.width: borderWidth
- border.color: "black"
-
- Text {
- id: innerText
- font.pointSize: fontSize
- anchors.centerIn: parent
- }
- }
-
- //change the color of the button in differen button states
- states: [
- State {
- name: "Hovering"
- PropertyChanges {
- target: rectangleButton
- color: hoverColor
- }
- },
- State {
- name: "Pressed"
- PropertyChanges {
- target: rectangleButton
- color: pressColor
- }
- }
- ]
-
- //define transmission for the states
- transitions: [
- Transition {
- from: ""; to: "Hovering"
- ColorAnimation { duration: 200 }
- },
- Transition {
- from: "*"; to: "Pressed"
- ColorAnimation { duration: 10 }
- }
- ]
-
- //Mouse area to react on click events
- MouseArea {
- hoverEnabled: true
- anchors.fill: button
- onEntered: { button.state='Hovering'}
- onExited: { button.state=''}
- onClicked: { button.clicked();}
- onPressed: { button.state="Pressed" }
- onReleased: {
- if (containsMouse)
- button.state="Hovering";
- else
- button.state="";
- }
- }
-}
diff --git a/tests/manual/sensorclerk/qml/main.qml b/tests/manual/sensorclerk/qml/main.qml
index e8b74ff2..0853599c 100644
--- a/tests/manual/sensorclerk/qml/main.qml
+++ b/tests/manual/sensorclerk/qml/main.qml
@@ -1,34 +1,9 @@
-/****************************************************************************
-**
-** Copyright (C) 2017 Lorn Potter.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-import QtQuick 2.0
-import Collector 1.0
-import QtSensors 5.0
+// Copyright (C) 2017 Lorn Potter.
+// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GPL-3.0-only
+import QtQuick
+import QtQuick.Controls
+import Collector
+import QtSensors
Rectangle {
Collector {
@@ -47,7 +22,7 @@ Rectangle {
property bool depressed: false
anchors.top: label.bottom
enabled: true;
- anchors.horizontalCenter: parent
+ anchors.horizontalCenter: parent.horizontalCenter
onClicked: {
if (!depressed) {
writer.startCollecting()
diff --git a/tests/manual/sensorclerk/sensorclerk.pro b/tests/manual/sensorclerk/sensorclerk.pro
deleted file mode 100644
index 61eeef15..00000000
--- a/tests/manual/sensorclerk/sensorclerk.pro
+++ /dev/null
@@ -1,11 +0,0 @@
-TEMPLATE = app
-
-QT += quick sensors
-
-SOURCES += main.cpp \
- collector.cpp
-
-HEADERS += collector.h
-
-OTHER_FILES += qml/main.qml \
- qml/Button.qml
diff --git a/tests/systemtests/sys_SensorElements/sys_declarative-sensor-elements.qtt b/tests/systemtests/sys_SensorElements/sys_declarative-sensor-elements.qtt
deleted file mode 100644
index 3d8c74c5..00000000
--- a/tests/systemtests/sys_SensorElements/sys_declarative-sensor-elements.qtt
+++ /dev/null
@@ -1,300 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the QtSensors module of the Qt Toolkit.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-
-//include("Device.qtx")
-//include("extrafunctions.qtt")
-
-//TESTED_COMPONENT=src/sensors
-
-testcase = {
-
-/*
-init: function() {
- qtuitest.checkActiveWindow = false;
- qtuitest.autoTerminate = false;
- wait(500);
- unlock();
- wait(500);
-},
-
-
-cleanup: function() {
- print("Cleanup test function");
- unlock();
- wait(500);
- Gesture.swipe(Screen.leftCenter(), Screen.rightCenter()); //close applicatin
- wait(500);
-},
-*/
-
-// As a QML Application developer I need information about the position of the device (rotation angles from X and Y Axis)
- Device_Rotational_Position: function()
- {
- // Test meta data
- testTitle = "device position (rotation angles from X and Y Axis)";
- testBinary = "QML QtSensors";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_qmlqtsensors";
- testGoal = "Verify that the values of the X and Y axis are returned from the application and match those of the actual phone";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Press the *Start* button for the accelerometer | The button now displays *running* and numeric values are displayed for X and Y Rotation |
- | Hold the device with the screen facing up in portrait | Verfy the x, y rotation values are approximatly 0,0 |
- | Rotate the device toward you along the x axis | Verify that the x rotation values increase from zero as the device is rotated and the y values remain at approximatly 0 |
- | Return the device to the screen facing up in portrait position | Verfy the x, y rotation values are approximatly 0,0 |
- | Rotate the device away from you along the x axis | Verify that the x rotation values decrease from zero (become negitive) as the device is rotated and the y values remain at approximatly 0 |
- | Return the device to the screen facing up in portrait position | Verfy the x, y rotation values are approximatly 0,0 |
- | Rotate the device to the right along the y axis | Verify that the y rotation values increase from zero as the device is rotated and the x values remain at approximatly 0 |
- | Return the device to the screen facing up in portrait position | Verfy the x, y rotation values are approximatly 0,0 |
- | Rotate the device to the left along the y axis | Verify that the y rotation values decrease from zero (become negitive) as the device is rotated and the x values remain at approximatly 0 |
- "));
- },
-
-// As a QML Application developer I want to calibrate the current device position
- Calibrate_Current_Device_Position: function()
- {
- // Test meta data
- testTitle = "Accelerometer Calibration";
- testBinary = "QML QtSensors";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_qmlqtsensors"
- testGoal = "Verify that the application can be set to read an X and Y value of zero for the current phone position";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Press the *Start* button for the accelerometer | The button now displays *running* and numeric values are displayed for X and Y Rotation |
- | Hold the device with the screen facing up in portrait | Verfy the x, y rotation values are approximatly 0,0 |
- | Rotate the device toward you along the x axis until the device is at 90 degrees| Verify that the x rotation values show approximatly 90 degrees and the y values remain at approximatly 0 |
- | While holding the device in this position select the calibrate button | Verify that the x, y values now show approximatly 0,0 |
- | Return the device to the face up position | Verify that the accelerometer x, y rotation shows approximatly -90,0 |
- | While holding the device in this position select the calibrate button | Verify that the x, y values now show approximatly 0,0 |
- | Rotate the device toward the right along the y axis until the device is at 90 degrees| Verify that the x rotation values remain at approximatly 0 degrees and the y value show approximatly 90 degrees |
- | While holding the device in this position select the calibrate button | Verify that the x, y values now show approximatly 0,0 |
- | Return the device to the face up position | Verify that the accelerometer x, y rotation shows approximatly 0,-90 |
- | Select the calibrate button | Verify that the x, y values now show approximatly 0,0 |
- "));
- },
-
- // As a QML Application developer I want to find the device orientation
- Show_Device_Orientation: function()
- {
- // Test meta data
- testTitle = "Phone Orientation";
- testBinary = "sensor explorer";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_sensor_explorer"
- testGoal = "Verify that the application can show the orientation of the phone";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Select orientation from the sensor list and press start | *Orientation* is highlighted and orientation type shows the current orientation |
- | Orient the device with the screen facing up | Verify that the orientation type shows *FaceUp* |
- | Orient the device with the left side facing up | Verify that the orientation type shows *LeftUp* |
- | Orient the device with the top down | Verify that the orientation type shows *TopDown* |
- | Orient the device with the face down | Verify that the orientation type shows *FaceDown* |
- | Orient the device with the right side facing up | Verify that the orientation type shows *FaceUp* |
- | Orient the device with the top facing up | Verify that the orientation type shows *TopUp* |
- "));
- },
-
-// As a QML Application developer I would like to have one QML element per sensor type
-// MTMW-427 QML System Test - Using only Proximity sensor does not start the sensor hardware
- Display_All_Sensor_Types: function()
- {
- // Test meta data
- testTitle = "List Sensor Types";
- testBinary = "sensor explorer";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_sensor_explorer"
- testGoal = "Verify that all sensor types are shown by the application";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Ensure that none of the sensors are in a *running* state | Press any buttons that display *Running* to place that sensor in a *Stopped* state |
- | Each sensor button will display *start* or *Stopped*, press the accelerometer *Start* button | Verify that the accelerometer button displays *running* and operates as expected |
- | Press the accelerometer button again to stop the accelerometer | Verify the button reads *Stopped* and the X, Y Rotation values do not repond to movement |
- | Press the Ambient Light *Start* button | Verify that the Ambient Light sensor button displays *running* and operates as expected |
- | Press the Ambient Light button again to stop the Ambient Light sensor | Verify the button reads *Stopped* and the Ambient Light sensor does not respond when a shadow falls on it |
- | Press the Proximity sensor *Start* button | Verify that the Proximity sensor button displays *running* and operates as expected |
- | Press the Proximity sensor button again to stop the Proximity sensor | Verify the button reads *Stopped* and the Proximity sensor does not respond when when your palm is brought within 1 cm of the Proximity sensor |
- | Press all sensor buttons again to start all sensors | Verify all buttons read *Running* and all sensors operate as expected |
- "));
- },
-
-// As a QML Application developer I would like to receive the rotation angles in Radian or Degree
- Display_Angles_Radian_Degrees: function()
- {
- // Test meta data
- testTitle = "Rotation Units";
- testBinary = "QML QtSensors";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_qmlqtsensors"
- testGoal = "Verify that the read values for the X and Y axis can be displayed in radians or degrees";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Press the *Start* button for the accelerometer | The button now displays *running* and numeric values are displayed for X and Y Rotation |
- | Hold the device in portrait face up horizontal | Verify the x, y rotation values display 0,0 |
- | While holding the device in this position press the button marked *degree* | Verify the button now reads *radian* and the x, y rotation values display approximatly 0,0 |
- | Still holding the device in portrait tilt the device at right angles toward you (screen facing you) | Verify the x, y rotation values display approximatly 1.57,0|
- | While holding the device in this position press the button marked *radian* | Verify the button now reads *radian* and the x, y rotation values display approximatly 90,0 |
- "));
- },
-
-// As a QML Application developer I would like to change my UI dependent of the ambient light
- Ambient_Light_Detection: function()
- {
- // Test meta data
- testTitle = "Ambient Light Sensor";
- testBinary = "QML QtSensors";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_qmlqtsensors";
- testGoal = "Verify that the ambient light values can be read";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "A bright light source such as a desk lamp";
-
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Press the *Start* button for the ambient light sensor | The button now displays *running* and a value is displayed for *Ambient Light* |
- | Place the device close under a bright light | Verify that the Ambient Light is reported as *Sunny* |
- | Move the device a bit futher away from the light source | Verify that the Ambient Light is reported as *Bright* |
- | Move the device even futher away from the light source | Verify that the Ambient Light is reported as *Light* |
- | Place the light sensor element under a partial shadow, i.e. by holding your hand above the device | Verify that the Ambient Light is reported as *Twilight*, note that the amount of shadow may need to be adjusted by moving your hand to achieve this |
- | Place your finger over the sensor element | Verify that the Ambient Light now reads as *Dark* |
- "));
- },
-
-// As a QML Application developer I would like to deactivate the touchscreen as soon the proximity of the user is close - no need for test app to lock screen, testing that the proximity is detected is sufficient
- Proximity_Detection: function()
- {
- // Test meta data
- testTitle = "Proximity";
- testBinary = "QML QtSensors";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_qmlqtsensors";
- testGoal = "Verify that close proximity can be detected";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Press the *Start* button for the *Proximity* | The button now displays *running* and a value is displayed for *Proximity* |
- | Confirm that nothing is close to the proximity detector | Verify that the Proximity reads *far* |
- | Bring your hand to within 1 cm of the proximity sensor | Verify that the Proximity now reads *near* |
- | Move your hand away from the proximity sensor | Verify that the Proximity now reads *far* |
- "));
- },
-
-// MTMW-426 Handle service errors gracefully
- Service_Errors: function()
- {
- // Test meta data
- testTitle = "Error Handling";
- testBinary = "QML QtSensors";
- testSource = "$QTDIR/qtsensors/examples/QtSensors/QtSensors_qmlqtsensors";
- testGoal = "Verify that service errors are handled so as to prevent baldr crashes if the sensor daemon stops unexpectedly";
- testPreconditions = "Nil.";
- testGroups = "BAT, 5.0";
- testRequirements = "";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testTitle + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Press start on the three sensors | Verify that the sensors are operating |
- | Log into the device using a console and enter the following commands: ps -A &#124; grep sensorq | Verify that the process ID number for sensorq is displayed |
- | Using the process ID from the previous step stop sensorq by typing kill processID at the console | |
- | Check the sensors on " + testBinary + " | Verify that the sensors are still operating |
- | Repeat the previous steps to find the process ID and kill sensorq a second time | Verify the sensors are still operating and sensorq still has a process ID |
- "));
- },
-}
diff --git a/tests/systemtests/sys_SensorGestures/sys_declarative-sensor-gestures.qtt b/tests/systemtests/sys_SensorGestures/sys_declarative-sensor-gestures.qtt
deleted file mode 100644
index 9c0c5435..00000000
--- a/tests/systemtests/sys_SensorGestures/sys_declarative-sensor-gestures.qtt
+++ /dev/null
@@ -1,175 +0,0 @@
-/****************************************************************************
-**
-** Copyright (C) 2016 The Qt Company Ltd.
-** Contact: https://www.qt.io/licensing/
-**
-** This file is part of the Qt Mobility Components.
-**
-** $QT_BEGIN_LICENSE:GPL-EXCEPT$
-** Commercial License Usage
-** Licensees holding valid commercial Qt licenses may use this file in
-** accordance with the commercial license agreement provided with the
-** Software or, alternatively, in accordance with the terms contained in
-** a written agreement between you and The Qt Company. For licensing terms
-** and conditions see https://www.qt.io/terms-conditions. For further
-** information use the contact form at https://www.qt.io/contact-us.
-**
-** GNU General Public License Usage
-** Alternatively, this file may be used under the terms of the GNU
-** General Public License version 3 as published by the Free Software
-** Foundation with exceptions as appearing in the file LICENSE.GPL3-EXCEPT
-** included in the packaging of this file. Please review the following
-** information to ensure the GNU General Public License requirements will
-** be met: https://www.gnu.org/licenses/gpl-3.0.html.
-**
-** $QT_END_LICENSE$
-**
-****************************************************************************/
-//include("product.qtx")
-//include("extrafunctions.qtt")
-
-//TESTED_COMPONENT=src/sensors/gestures
-
-testcase = {
-
-/*
-init: function() {
- qtuitest.checkActiveWindow = false;
- qtuitest.autoTerminate = false;
- wait(500);
- unlock();
- wait(500);
-},
-
-
-cleanup: function() {
- print("Cleanup test function");
- unlock();
- wait(500);
- Gesture.swipe(Screen.leftCenter(), Screen.rightCenter()); //close applicatin
- wait(500);
-},
-*/
-
-// As a QML Application developer I need to be able to list sensor gesture plugins
- List_Sensor_Gestures: function()
- {
- // Test meta data
- testApplication = "Gesture";
- testBinary = "Gesture"; // Running QML using qmlrunner will insert test app binary name when compiled
- testGoal = "Verify a list of all registered sensor gesture plugins";
- testPreconditions = "Nil.";
- testGroups = "5.0";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testApplication + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Observe the list of all gestures shown in the top menu | Verify that the expected gestures are displayed |
- "));
- },
-
-// As a QML Application developer I need to be able to select a sensor gesture plugin
- Select_Sensor_Gesture: function()
- {
- // Test meta data
- testApplication = "Gesture";
- testBinary = "Gesture";
- testGoal = "Verify selection of a sensor gesture plugin";
- testPreconditions = "Nil.";
- testGroups = "5.0";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testApplication + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Select the QtSensors.shake gesture from the gesture list | Verify the QtSensors.shake gesture becomes highlighted and the detection menu now has the title *QtSensors.shake* |
- "));
- },
-
-// As a QML Application developer I need to be able to trigger a sensor gesture plugins
- Trigger_Sensor_Gesture: function()
- {
- // Test meta data
- testApplication = "Gesture";
- testBinary = "Gesture";
- testGoal = "Verify that a sensor gesture is triggered";
- testPreconditions = "Nil.";
- testGroups = "5.0";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testApplication + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | Select the QtSensors.shake gesture from the gesture list and press *start* on the detection menu | Verify that *start* button now reads *stop* and is highlighted |
- | Shake the phone more than 3 times in the X axis | Verify that shake detections are registered |
- "));
- },
-
-// Sensor gestures are not triggered by false positives
- Sensor_Gesture_False_Positives: function()
- {
- // Test meta data
- testApplication = "ShakeIt!";
- testBinary = "ShakeIt!";
- testGoal = "Verify that a sensor gesture doesn't trigger falsely";
- testPreconditions = "Nil.";
- testGroups = "5.0";
-
- // Test steps
-// mouseClick(findByProperty("label", testBinary)); wait(500);
- prompt(twiki("---+++ " + testApplication + "<br><br>
- *Goal:* " + testGoal + "<br>
- *Pre-Requisites:* " + testPreconditions + "<br>
- *Tested Binary:* " + testBinary + "<br>
-
- | *Step* | *Verification* |
- | Launch " + testBinary + " | App launches normally |
- | | The display shows* Shake to rotate the triangles* and three tringles are below that |
- | Perform the *Shake* gesture | Verify that *Shake* is displayed and the triangles rotate |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Slam* gesture | Verify that *Slam* is displayed and the triangles move out from the center of the display |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Whip* gesture | Verify that the *Whip* is displayed |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Hover* gesture | Verify that the *hover* is displayed and the triangles move to the top of the display |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Cover* gesture | Verify that the *Cover* is displayed and the triangles go to the bottom of the display |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Twist Left* gesture | Verify that the *TwistLeft* is displayed and the triangles move to the left |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Twist Right* gesture | Verify that the *TwistRight* is displayed and the triangles move to the right |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Pickup* gesture | Verify that the *Pickup* is displayed |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Turnover* gesture | Verify that the turnover chime is played |
- | Turn over and wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- | Perform the *Double Tap* gesture | Verify that the *Double Tap* is displayed |
- | | Verify no other gestures register at the same time |
- | Wait for 3 seconds while observing the display | Verify the display now reads *Try another gesture* and the triangles return to the center of the display |
- "));
- },
-}
diff --git a/tests/tests.pro b/tests/tests.pro
deleted file mode 100644
index f9277000..00000000
--- a/tests/tests.pro
+++ /dev/null
@@ -1,3 +0,0 @@
-TEMPLATE = subdirs
-
-SUBDIRS += auto