blob: cb8994390984d41ee2120404f15c6df25201e691 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
|
/****************************************************************************
**
** Copyright (C) 2012 Nokia Corporation and/or its subsidiary(-ies).
** Contact: http://www.qt-project.org/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** GNU Free Documentation License
** 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.
**
** Other Usage
** Alternatively, this file may be used in accordance with the terms
** and conditions contained in a signed written agreement between you
** and Nokia.
**
**
**
**
**
** $QT_END_LICENSE$
**
****************************************************************************/
/*!
\page qtsensors-porting.html
\title Porting Applications from QtMobility Sensors to Qt Sensors
\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 must be changed in order to port applications to Qt Sensors.
\section1 QML
Compatibility for QML applications is provided by shipping the legacy \c QtMobility.sensors
QML import. QML applications should not require any changes to continue operating.
Applications using the legacy QML import may not be able to trivially port over
to the new QML import because the new QML import does not provide types for
every sensor like the legacy QML import does.
\table
\row
\li \l {Qt Sensors QML API}{QML API}
\li Information about the Qt Sensors QML API
\row
\li \l {QtMobility.sensors 1.x}{Legacy QML API}
\li Information about the legacy QtMobility.sensors QML API
\endtable
\section1 C++
\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 this to enable the Qt Sensors API.
\code
QT += sensors
\endcode
*/
|