summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorThomas McGuire <thomas.mcguire.qnx@kdab.com>2012-07-02 13:39:00 +0200
committerQt by Nokia <qt-info@nokia.com>2012-07-03 02:10:06 +0200
commitf7c3a6686ef77e95128f1dc4a03c7a8184a18231 (patch)
tree150ec0f8bac4e701cb913aed8cb2b27e43e7ad79 /src
parent1908f86c6d8cb28a81d02272dfd3443e827cf37c (diff)
QSensor: Use standard Qt dpointer pattern
Now it is possible to extend QSensor subclasses without breaking binary compatibility. In addition, de-inline the constructors and destructors of subclasses to make it possible to replace them without compatibility problems. Change-Id: I69de97002ade3e75f090761f852a5aca39c0f555 Reviewed-by: Marc Mutz <marc.mutz@kdab.com> Reviewed-by: Lincoln Ramsay <lincoln.ramsay@nokia.com> Reviewed-by: Lorn Potter <lorn.potter@nokia.com>
Diffstat (limited to 'src')
-rwxr-xr-xsrc/sensors/make_sensor.pl18
-rw-r--r--src/sensors/qaccelerometer.cpp11
-rw-r--r--src/sensors/qaccelerometer.h7
-rw-r--r--src/sensors/qambientlightsensor.cpp11
-rw-r--r--src/sensors/qambientlightsensor.h7
-rw-r--r--src/sensors/qcompass.cpp11
-rw-r--r--src/sensors/qcompass.h7
-rw-r--r--src/sensors/qgyroscope.cpp11
-rw-r--r--src/sensors/qgyroscope.h7
-rw-r--r--src/sensors/qirproximitysensor.cpp11
-rw-r--r--src/sensors/qirproximitysensor.h7
-rw-r--r--src/sensors/qlightsensor.cpp11
-rw-r--r--src/sensors/qlightsensor.h7
-rw-r--r--src/sensors/qmagnetometer.cpp11
-rw-r--r--src/sensors/qmagnetometer.h7
-rw-r--r--src/sensors/qorientationsensor.cpp11
-rw-r--r--src/sensors/qorientationsensor.h7
-rw-r--r--src/sensors/qproximitysensor.cpp11
-rw-r--r--src/sensors/qproximitysensor.h7
-rw-r--r--src/sensors/qrotationsensor.cpp11
-rw-r--r--src/sensors/qrotationsensor.h7
-rw-r--r--src/sensors/qsensor.cpp52
-rw-r--r--src/sensors/qsensor.h5
-rw-r--r--src/sensors/qsensor_p.h7
-rw-r--r--src/sensors/qtapsensor.cpp11
-rw-r--r--src/sensors/qtapsensor.h7
26 files changed, 195 insertions, 85 deletions
diff --git a/src/sensors/make_sensor.pl b/src/sensors/make_sensor.pl
index 325a04b1..b554f629 100755
--- a/src/sensors/make_sensor.pl
+++ b/src/sensors/make_sensor.pl
@@ -156,10 +156,13 @@ class Q_SENSORS_EXPORT '.$sensor.' : public QSensor
{
Q_OBJECT
public:
- explicit '.$sensor.'(QObject *parent = 0) : QSensor('.$sensor.'::type, parent) {}
- virtual ~'.$sensor.'() {}
+ explicit '.$sensor.'(QObject *parent = 0);
+ ~'.$sensor.'();
'.$reading.' *reading() const { return static_cast<'.$reading.'*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY('.$sensor.')
};
QT_END_NAMESPACE
@@ -259,16 +262,19 @@ char const * const '.$sensor.'::type("'.$sensor.'");
*/
/*!
- \fn '.$sensor.'::'.$sensor.'(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+'.$sensor.'::'.$sensor.'(QObject *parent)
+ : QSensor('.$sensor.'::type, parent)
+{
+}
/*!
- \fn '.$sensor.'::~'.$sensor.'()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+'.$sensor.'::~'.$sensor.'()
+{
+}
/*!
\fn '.$sensor.'::reading() const
diff --git a/src/sensors/qaccelerometer.cpp b/src/sensors/qaccelerometer.cpp
index 36a360fb..7ebaed7e 100644
--- a/src/sensors/qaccelerometer.cpp
+++ b/src/sensors/qaccelerometer.cpp
@@ -169,16 +169,19 @@ char const * const QAccelerometer::type("QAccelerometer");
*/
/*!
- \fn QAccelerometer::QAccelerometer(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QAccelerometer::QAccelerometer(QObject *parent)
+ : QSensor(QAccelerometer::type, parent)
+{
+}
/*!
- \fn QAccelerometer::~QAccelerometer()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QAccelerometer::~QAccelerometer()
+{
+}
/*!
\fn QAccelerometer::reading() const
diff --git a/src/sensors/qaccelerometer.h b/src/sensors/qaccelerometer.h
index 5f579d06..7235d0de 100644
--- a/src/sensors/qaccelerometer.h
+++ b/src/sensors/qaccelerometer.h
@@ -81,10 +81,13 @@ class Q_SENSORS_EXPORT QAccelerometer : public QSensor
{
Q_OBJECT
public:
- explicit QAccelerometer(QObject *parent = 0) : QSensor(QAccelerometer::type, parent) {}
- virtual ~QAccelerometer() {}
+ explicit QAccelerometer(QObject *parent = 0);
+ virtual ~QAccelerometer();
QAccelerometerReading *reading() const { return static_cast<QAccelerometerReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QAccelerometer)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qambientlightsensor.cpp b/src/sensors/qambientlightsensor.cpp
index ecd73689..8da2e6fa 100644
--- a/src/sensors/qambientlightsensor.cpp
+++ b/src/sensors/qambientlightsensor.cpp
@@ -145,16 +145,19 @@ char const * const QAmbientLightSensor::type("QAmbientLightSensor");
*/
/*!
- \fn QAmbientLightSensor::QAmbientLightSensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QAmbientLightSensor::QAmbientLightSensor(QObject *parent)
+ : QSensor(QAmbientLightSensor::type, parent)
+{
+}
/*!
- \fn QAmbientLightSensor::~QAmbientLightSensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QAmbientLightSensor::~QAmbientLightSensor()
+{
+}
/*!
\fn QAmbientLightSensor::reading() const
diff --git a/src/sensors/qambientlightsensor.h b/src/sensors/qambientlightsensor.h
index a86545b9..2a0c7900 100644
--- a/src/sensors/qambientlightsensor.h
+++ b/src/sensors/qambientlightsensor.h
@@ -83,10 +83,13 @@ class Q_SENSORS_EXPORT QAmbientLightSensor : public QSensor
{
Q_OBJECT
public:
- explicit QAmbientLightSensor(QObject *parent = 0) : QSensor(QAmbientLightSensor::type, parent) {}
- virtual ~QAmbientLightSensor() {}
+ explicit QAmbientLightSensor(QObject *parent = 0);
+ virtual ~QAmbientLightSensor();
QAmbientLightReading *reading() const { return static_cast<QAmbientLightReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QAmbientLightSensor)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qcompass.cpp b/src/sensors/qcompass.cpp
index c28c81a8..afc8e071 100644
--- a/src/sensors/qcompass.cpp
+++ b/src/sensors/qcompass.cpp
@@ -155,16 +155,19 @@ char const * const QCompass::type("QCompass");
*/
/*!
- \fn QCompass::QCompass(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QCompass::QCompass(QObject *parent)
+ : QSensor(QCompass::type, parent)
+{
+}
/*!
- \fn QCompass::~QCompass()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QCompass::~QCompass()
+{
+}
/*!
\fn QCompass::reading() const
diff --git a/src/sensors/qcompass.h b/src/sensors/qcompass.h
index 010b664d..d39a4a28 100644
--- a/src/sensors/qcompass.h
+++ b/src/sensors/qcompass.h
@@ -77,10 +77,13 @@ class Q_SENSORS_EXPORT QCompass : public QSensor
{
Q_OBJECT
public:
- explicit QCompass(QObject *parent = 0) : QSensor(QCompass::type, parent) {}
- virtual ~QCompass() {}
+ explicit QCompass(QObject *parent = 0);
+ virtual ~QCompass();
QCompassReading *reading() const { return static_cast<QCompassReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QCompass)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qgyroscope.cpp b/src/sensors/qgyroscope.cpp
index d67325cd..13c59d90 100644
--- a/src/sensors/qgyroscope.cpp
+++ b/src/sensors/qgyroscope.cpp
@@ -167,16 +167,19 @@ char const * const QGyroscope::type("QGyroscope");
*/
/*!
- \fn QGyroscope::QGyroscope(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QGyroscope::QGyroscope(QObject *parent)
+ : QSensor(QGyroscope::type, parent)
+{
+}
/*!
- \fn QGyroscope::~QGyroscope()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QGyroscope::~QGyroscope()
+{
+}
/*!
\fn QGyroscope::reading() const
diff --git a/src/sensors/qgyroscope.h b/src/sensors/qgyroscope.h
index f42352f0..ad2f5568 100644
--- a/src/sensors/qgyroscope.h
+++ b/src/sensors/qgyroscope.h
@@ -81,10 +81,13 @@ class Q_SENSORS_EXPORT QGyroscope : public QSensor
{
Q_OBJECT
public:
- explicit QGyroscope(QObject *parent = 0) : QSensor(QGyroscope::type, parent) {}
- virtual ~QGyroscope() {}
+ explicit QGyroscope(QObject *parent = 0);
+ virtual ~QGyroscope();
QGyroscopeReading *reading() const { return static_cast<QGyroscopeReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QGyroscope)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qirproximitysensor.cpp b/src/sensors/qirproximitysensor.cpp
index 2aedfafb..334774b2 100644
--- a/src/sensors/qirproximitysensor.cpp
+++ b/src/sensors/qirproximitysensor.cpp
@@ -127,16 +127,19 @@ char const * const QIRProximitySensor::type("QIRProximitySensor");
*/
/*!
- \fn QIRProximitySensor::QIRProximitySensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QIRProximitySensor::QIRProximitySensor(QObject *parent)
+ : QSensor(QIRProximitySensor::type, parent)
+{
+}
/*!
- \fn QIRProximitySensor::~QIRProximitySensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QIRProximitySensor::~QIRProximitySensor()
+{
+}
/*!
\fn QIRProximitySensor::reading() const
diff --git a/src/sensors/qirproximitysensor.h b/src/sensors/qirproximitysensor.h
index 093e5c79..68e6e205 100644
--- a/src/sensors/qirproximitysensor.h
+++ b/src/sensors/qirproximitysensor.h
@@ -73,10 +73,13 @@ class Q_SENSORS_EXPORT QIRProximitySensor : public QSensor
{
Q_OBJECT
public:
- explicit QIRProximitySensor(QObject *parent = 0) : QSensor(QIRProximitySensor::type, parent) {}
- virtual ~QIRProximitySensor() {}
+ explicit QIRProximitySensor(QObject *parent = 0);
+ virtual ~QIRProximitySensor();
QIRProximityReading *reading() const { return static_cast<QIRProximityReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QIRProximitySensor)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qlightsensor.cpp b/src/sensors/qlightsensor.cpp
index 959237fb..76b58da5 100644
--- a/src/sensors/qlightsensor.cpp
+++ b/src/sensors/qlightsensor.cpp
@@ -117,16 +117,19 @@ char const * const QLightSensor::type("QLightSensor");
*/
/*!
- \fn QLightSensor::QLightSensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QLightSensor::QLightSensor(QObject *parent)
+ : QSensor(QLightSensor::type, parent)
+{
+}
/*!
- \fn QLightSensor::~QLightSensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QLightSensor::~QLightSensor()
+{
+}
/*!
\fn QLightSensor::reading() const
diff --git a/src/sensors/qlightsensor.h b/src/sensors/qlightsensor.h
index f46b04c2..6c110fde 100644
--- a/src/sensors/qlightsensor.h
+++ b/src/sensors/qlightsensor.h
@@ -76,10 +76,13 @@ class Q_SENSORS_EXPORT QLightSensor : public QSensor
Q_PROPERTY(qreal fieldOfView)
#endif
public:
- explicit QLightSensor(QObject *parent = 0) : QSensor(QLightSensor::type, parent) {}
- virtual ~QLightSensor() {}
+ explicit QLightSensor(QObject *parent = 0);
+ virtual ~QLightSensor();
QLightReading *reading() const { return static_cast<QLightReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QLightSensor)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qmagnetometer.cpp b/src/sensors/qmagnetometer.cpp
index 1a7c21cb..20904ace 100644
--- a/src/sensors/qmagnetometer.cpp
+++ b/src/sensors/qmagnetometer.cpp
@@ -207,16 +207,19 @@ char const * const QMagnetometer::type("QMagnetometer");
*/
/*!
- \fn QMagnetometer::QMagnetometer(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QMagnetometer::QMagnetometer(QObject *parent)
+ : QSensor(QMagnetometer::type, parent)
+{
+}
/*!
- \fn QMagnetometer::~QMagnetometer()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QMagnetometer::~QMagnetometer()
+{
+}
/*!
\fn QMagnetometer::reading() const
diff --git a/src/sensors/qmagnetometer.h b/src/sensors/qmagnetometer.h
index 4df83a1f..de165587 100644
--- a/src/sensors/qmagnetometer.h
+++ b/src/sensors/qmagnetometer.h
@@ -88,10 +88,13 @@ class Q_SENSORS_EXPORT QMagnetometer : public QSensor
Q_PROPERTY(bool returnGeoValues)
#endif
public:
- explicit QMagnetometer(QObject *parent = 0) : QSensor(QMagnetometer::type, parent) {}
- virtual ~QMagnetometer() {}
+ explicit QMagnetometer(QObject *parent = 0);
+ virtual ~QMagnetometer();
QMagnetometerReading *reading() const { return static_cast<QMagnetometerReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QMagnetometer)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qorientationsensor.cpp b/src/sensors/qorientationsensor.cpp
index 66c493bf..14ad54de 100644
--- a/src/sensors/qorientationsensor.cpp
+++ b/src/sensors/qorientationsensor.cpp
@@ -168,16 +168,19 @@ char const * const QOrientationSensor::type("QOrientationSensor");
*/
/*!
- \fn QOrientationSensor::QOrientationSensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QOrientationSensor::QOrientationSensor(QObject *parent)
+ : QSensor(QOrientationSensor::type, parent)
+{
+}
/*!
- \fn QOrientationSensor::~QOrientationSensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QOrientationSensor::~QOrientationSensor()
+{
+}
/*!
\fn QOrientationSensor::reading() const
diff --git a/src/sensors/qorientationsensor.h b/src/sensors/qorientationsensor.h
index b3791e83..235fabb4 100644
--- a/src/sensors/qorientationsensor.h
+++ b/src/sensors/qorientationsensor.h
@@ -84,10 +84,13 @@ class Q_SENSORS_EXPORT QOrientationSensor : public QSensor
{
Q_OBJECT
public:
- explicit QOrientationSensor(QObject *parent = 0) : QSensor(QOrientationSensor::type, parent) {}
- virtual ~QOrientationSensor() {}
+ explicit QOrientationSensor(QObject *parent = 0);
+ virtual ~QOrientationSensor();
QOrientationReading *reading() const { return static_cast<QOrientationReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QOrientationSensor)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qproximitysensor.cpp b/src/sensors/qproximitysensor.cpp
index 20321df4..37a45671 100644
--- a/src/sensors/qproximitysensor.cpp
+++ b/src/sensors/qproximitysensor.cpp
@@ -124,16 +124,19 @@ char const * const QProximitySensor::type("QProximitySensor");
*/
/*!
- \fn QProximitySensor::QProximitySensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QProximitySensor::QProximitySensor(QObject *parent)
+ : QSensor(QProximitySensor::type, parent)
+{
+}
/*!
- \fn QProximitySensor::~QProximitySensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QProximitySensor::~QProximitySensor()
+{
+}
/*!
\fn QProximitySensor::reading() const
diff --git a/src/sensors/qproximitysensor.h b/src/sensors/qproximitysensor.h
index cd804351..534671cb 100644
--- a/src/sensors/qproximitysensor.h
+++ b/src/sensors/qproximitysensor.h
@@ -73,10 +73,13 @@ class Q_SENSORS_EXPORT QProximitySensor : public QSensor
{
Q_OBJECT
public:
- explicit QProximitySensor(QObject *parent = 0) : QSensor(QProximitySensor::type, parent) {}
- virtual ~QProximitySensor() {}
+ explicit QProximitySensor(QObject *parent = 0);
+ virtual ~QProximitySensor();
QProximityReading *reading() const { return static_cast<QProximityReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QProximitySensor)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qrotationsensor.cpp b/src/sensors/qrotationsensor.cpp
index b2d65e3f..6adbf6a2 100644
--- a/src/sensors/qrotationsensor.cpp
+++ b/src/sensors/qrotationsensor.cpp
@@ -205,16 +205,19 @@ char const * const QRotationSensor::type("QRotationSensor");
*/
/*!
- \fn QRotationSensor::QRotationSensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QRotationSensor::QRotationSensor(QObject *parent)
+ : QSensor(QRotationSensor::type, parent)
+{
+}
/*!
- \fn QRotationSensor::~QRotationSensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QRotationSensor::~QRotationSensor()
+{
+}
/*!
\fn QRotationSensor::reading() const
diff --git a/src/sensors/qrotationsensor.h b/src/sensors/qrotationsensor.h
index 784e3544..9e022803 100644
--- a/src/sensors/qrotationsensor.h
+++ b/src/sensors/qrotationsensor.h
@@ -84,10 +84,13 @@ class Q_SENSORS_EXPORT QRotationSensor : public QSensor
Q_PROPERTY(bool hasZ)
#endif
public:
- explicit QRotationSensor(QObject *parent = 0) : QSensor(QRotationSensor::type, parent) {}
- virtual ~QRotationSensor() {}
+ explicit QRotationSensor(QObject *parent = 0);
+ virtual ~QRotationSensor();
QRotationReading *reading() const { return static_cast<QRotationReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QRotationSensor)
};
QT_END_NAMESPACE
diff --git a/src/sensors/qsensor.cpp b/src/sensors/qsensor.cpp
index a0724ae8..2949e771 100644
--- a/src/sensors/qsensor.cpp
+++ b/src/sensors/qsensor.cpp
@@ -149,6 +149,13 @@ static int qoutputrangelist_id = qRegisterMetaType<qoutputrangelist>("qoutputran
// =====================================================================
+void QSensorPrivate::init(const QByteArray &sensorType)
+{
+ Q_Q(QSensor);
+ type = sensorType;
+ q->registerInstance(); // so the availableSensorsChanged() signal works
+}
+
/*!
\class QSensor
\ingroup sensors_main
@@ -175,11 +182,19 @@ static int qoutputrangelist_id = qRegisterMetaType<qoutputrangelist>("qoutputran
Construct the \a type sensor as a child of \a parent.
*/
QSensor::QSensor(const QByteArray &type, QObject *parent)
- : QObject(parent)
- , d(new QSensorPrivate)
+ : QObject(*new QSensorPrivate, parent)
{
- d->type = type;
- registerInstance(); // so the availableSensorsChanged() signal works
+ Q_D(QSensor);
+ d->init(type);
+}
+
+/*! \internal
+ */
+QSensor::QSensor(const QByteArray &type, QSensorPrivate &dd, QObject* parent)
+ : QObject(dd, parent)
+{
+ Q_D(QSensor);
+ d->init(type);
}
/*!
@@ -187,6 +202,7 @@ QSensor::QSensor(const QByteArray &type, QObject *parent)
*/
QSensor::~QSensor()
{
+ Q_D(QSensor);
stop();
Q_FOREACH (QSensorFilter *filter, d->filters)
filter->setSensor(0);
@@ -212,6 +228,7 @@ QSensor::~QSensor()
bool QSensor::isConnectedToBackend() const
{
+ Q_D(const QSensor);
return (d->backend != 0);
}
@@ -227,11 +244,13 @@ bool QSensor::isConnectedToBackend() const
QByteArray QSensor::identifier() const
{
+ Q_D(const QSensor);
return d->identifier;
}
void QSensor::setIdentifier(const QByteArray &identifier)
{
+ Q_D(QSensor);
if (isConnectedToBackend()) {
qWarning() << "ERROR: Cannot call QSensor::setIdentifier while connected to a backend!";
return;
@@ -246,6 +265,7 @@ void QSensor::setIdentifier(const QByteArray &identifier)
QByteArray QSensor::type() const
{
+ Q_D(const QSensor);
return d->type;
}
@@ -260,6 +280,7 @@ QByteArray QSensor::type() const
*/
bool QSensor::connectToBackend()
{
+ Q_D(QSensor);
if (isConnectedToBackend())
return true;
@@ -301,6 +322,7 @@ bool QSensor::connectToBackend()
bool QSensor::isBusy() const
{
+ Q_D(const QSensor);
return d->busy;
}
@@ -340,6 +362,7 @@ void QSensor::setActive(bool active)
bool QSensor::isActive() const
{
+ Q_D(const QSensor);
return d->active;
}
@@ -357,6 +380,7 @@ bool QSensor::isActive() const
*/
void QSensor::setAlwaysOn(bool alwaysOn)
{
+ Q_D(QSensor);
if (d->alwaysOn == alwaysOn) return;
d->alwaysOn = alwaysOn;
emit alwaysOnChanged();
@@ -364,6 +388,7 @@ void QSensor::setAlwaysOn(bool alwaysOn)
bool QSensor::isAlwaysOn() const
{
+ Q_D(const QSensor);
return d->alwaysOn;
}
@@ -389,6 +414,7 @@ bool QSensor::isAlwaysOn() const
qrangelist QSensor::availableDataRates() const
{
+ Q_D(const QSensor);
return d->availableDataRates;
}
@@ -420,11 +446,13 @@ qrangelist QSensor::availableDataRates() const
int QSensor::dataRate() const
{
+ Q_D(const QSensor);
return d->dataRate;
}
void QSensor::setDataRate(int rate)
{
+ Q_D(QSensor);
if (rate == 0 || !isConnectedToBackend()) {
d->dataRate = rate;
return;
@@ -475,6 +503,7 @@ void QSensor::setDataRate(int rate)
*/
bool QSensor::start()
{
+ Q_D(QSensor);
if (isActive())
return true;
if (!connectToBackend())
@@ -497,6 +526,7 @@ bool QSensor::start()
*/
void QSensor::stop()
{
+ Q_D(QSensor);
if (!isConnectedToBackend() || !isActive())
return;
d->active = false;
@@ -523,6 +553,7 @@ void QSensor::stop()
QSensorReading *QSensor::reading() const
{
+ Q_D(const QSensor);
return d->cache_reading;
}
@@ -536,6 +567,7 @@ QSensorReading *QSensor::reading() const
*/
void QSensor::addFilter(QSensorFilter *filter)
{
+ Q_D(QSensor);
if (!filter) {
qWarning() << "addFilter: passed a null filter!";
return;
@@ -551,6 +583,7 @@ void QSensor::addFilter(QSensorFilter *filter)
*/
void QSensor::removeFilter(QSensorFilter *filter)
{
+ Q_D(QSensor);
if (!filter) {
qWarning() << "removeFilter: passed a null filter!";
return;
@@ -566,15 +599,11 @@ void QSensor::removeFilter(QSensorFilter *filter)
*/
QList<QSensorFilter*> QSensor::filters() const
{
+ Q_D(const QSensor);
return d->filters;
}
/*!
- \fn QSensor::d_func() const
- \internal
-*/
-
-/*!
\fn QSensor::readingChanged()
This signal is emitted when a new sensor reading is received.
@@ -614,6 +643,7 @@ QList<QSensorFilter*> QSensor::filters() const
qoutputrangelist QSensor::outputRanges() const
{
+ Q_D(const QSensor);
return d->outputRanges;
}
@@ -637,11 +667,13 @@ qoutputrangelist QSensor::outputRanges() const
int QSensor::outputRange() const
{
+ Q_D(const QSensor);
return d->outputRange;
}
void QSensor::setOutputRange(int index)
{
+ Q_D(QSensor);
if (index == -1 || !isConnectedToBackend()) {
d->outputRange = index;
return;
@@ -663,6 +695,7 @@ void QSensor::setOutputRange(int index)
QString QSensor::description() const
{
+ Q_D(const QSensor);
return d->description;
}
@@ -675,6 +708,7 @@ QString QSensor::description() const
int QSensor::error() const
{
+ Q_D(const QSensor);
return d->error;
}
diff --git a/src/sensors/qsensor.h b/src/sensors/qsensor.h
index c0fdb978..80689267 100644
--- a/src/sensors/qsensor.h
+++ b/src/sensors/qsensor.h
@@ -158,14 +158,13 @@ Q_SIGNALS:
void alwaysOnChanged();
protected:
- // called by the back end
- QSensorPrivate *d_func() const { return d.data(); }
+ explicit QSensor(const QByteArray &type, QSensorPrivate &dd, QObject* parent = 0);
private:
void registerInstance();
- QScopedPointer<QSensorPrivate> d;
Q_DISABLE_COPY(QSensor)
+ Q_DECLARE_PRIVATE(QSensor)
};
class Q_SENSORS_EXPORT QSensorFilter
diff --git a/src/sensors/qsensor_p.h b/src/sensors/qsensor_p.h
index 5375b901..d5d8c424 100644
--- a/src/sensors/qsensor_p.h
+++ b/src/sensors/qsensor_p.h
@@ -55,13 +55,16 @@
#include "qsensor.h"
+#include "private/qobject_p.h"
+
QT_BEGIN_HEADER
QT_BEGIN_NAMESPACE
typedef QList<QSensorFilter*> QFilterList;
-class QSensorPrivate
+class QSensorPrivate : public QObjectPrivate
{
+ Q_DECLARE_PUBLIC(QSensor)
public:
QSensorPrivate()
: identifier()
@@ -79,6 +82,8 @@ public:
{
}
+ void init(const QByteArray &sensorType);
+
// meta-data
QByteArray identifier;
QByteArray type;
diff --git a/src/sensors/qtapsensor.cpp b/src/sensors/qtapsensor.cpp
index 8d57b8e9..60de8319 100644
--- a/src/sensors/qtapsensor.cpp
+++ b/src/sensors/qtapsensor.cpp
@@ -208,16 +208,19 @@ char const * const QTapSensor::type("QTapSensor");
*/
/*!
- \fn QTapSensor::QTapSensor(QObject *parent)
-
Construct the sensor as a child of \a parent.
*/
+QTapSensor::QTapSensor(QObject *parent)
+ : QSensor(QTapSensor::type, parent)
+{
+}
/*!
- \fn QTapSensor::~QTapSensor()
-
Destroy the sensor. Stops the sensor if it has not already been stopped.
*/
+QTapSensor::~QTapSensor()
+{
+}
/*!
\fn QTapSensor::reading() const
diff --git a/src/sensors/qtapsensor.h b/src/sensors/qtapsensor.h
index 22d0dd82..baf3e7d9 100644
--- a/src/sensors/qtapsensor.h
+++ b/src/sensors/qtapsensor.h
@@ -97,10 +97,13 @@ class Q_SENSORS_EXPORT QTapSensor : public QSensor
Q_PROPERTY(bool returnDoubleTapEvents)
#endif
public:
- explicit QTapSensor(QObject *parent = 0) : QSensor(QTapSensor::type, parent) {}
- virtual ~QTapSensor() {}
+ explicit QTapSensor(QObject *parent = 0);
+ virtual ~QTapSensor();
QTapReading *reading() const { return static_cast<QTapReading*>(QSensor::reading()); }
static char const * const type;
+
+private:
+ Q_DISABLE_COPY(QTapSensor);
};
QT_END_NAMESPACE