summaryrefslogtreecommitdiff
path: root/src/plugins/sensors/ios/main.mm
diff options
context:
space:
mode:
authorLiang Qi <liang.qi@qt.io>2016-12-12 09:48:39 +0100
committerLiang Qi <liang.qi@qt.io>2016-12-12 10:21:39 +0100
commit19d7ab8d277500e88baf3b23edd62dee4d5d9c46 (patch)
treeb5589d3797c263adc057e2583f9a94e5801b4e21 /src/plugins/sensors/ios/main.mm
parent26446d7dc33c44e2f84fe95381f02aca87c1a537 (diff)
parent2c595c382c50a5632b14eda00d85a9b7fcb09b5d (diff)
downloadqtsensors-19d7ab8d277500e88baf3b23edd62dee4d5d9c46.tar.gz
Merge remote-tracking branch 'origin/5.8' into dev
Conflicts: src/plugins/sensors/ios/ios.pro Change-Id: I8d9ca692713c8ba5d8c243371474b0e61630b05e
Diffstat (limited to 'src/plugins/sensors/ios/main.mm')
-rw-r--r--src/plugins/sensors/ios/main.mm18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/plugins/sensors/ios/main.mm b/src/plugins/sensors/ios/main.mm
index 40f84e9..a4766c3 100644
--- a/src/plugins/sensors/ios/main.mm
+++ b/src/plugins/sensors/ios/main.mm
@@ -48,6 +48,11 @@
#include "ioscompass.h"
#include "iosproximitysensor.h"
+#import <CoreLocation/CoreLocation.h>
+#ifdef HAVE_COREMOTION
+#import <CoreMotion/CoreMotion.h>
+#endif
+
class IOSSensorPlugin : public QObject, public QSensorPluginInterface, public QSensorBackendFactory
{
Q_OBJECT
@@ -56,30 +61,41 @@ class IOSSensorPlugin : public QObject, public QSensorPluginInterface, public QS
public:
void registerSensors()
{
+#ifdef HAVE_COREMOTION
QSensorManager::registerBackend(QAccelerometer::type, IOSAccelerometer::id, this);
if ([QIOSMotionManager sharedManager].gyroAvailable)
QSensorManager::registerBackend(QGyroscope::type, IOSGyroscope::id, this);
if ([QIOSMotionManager sharedManager].magnetometerAvailable)
QSensorManager::registerBackend(QMagnetometer::type, IOSMagnetometer::id, this);
+#endif
+#ifdef HAVE_COMPASS
if ([CLLocationManager headingAvailable])
QSensorManager::registerBackend(QCompass::type, IOSCompass::id, this);
+#endif
+#ifdef HAVE_UIDEVICE
if (IOSProximitySensor::available())
QSensorManager::registerBackend(QProximitySensor::type, IOSProximitySensor::id, this);
+#endif
}
QSensorBackend *createBackend(QSensor *sensor)
{
+#ifdef HAVE_COREMOTION
if (sensor->identifier() == IOSAccelerometer::id)
return new IOSAccelerometer(sensor);
if (sensor->identifier() == IOSGyroscope::id)
return new IOSGyroscope(sensor);
if (sensor->identifier() == IOSMagnetometer::id)
return new IOSMagnetometer(sensor);
+#endif
+#ifdef HAVE_COMPASS
if (sensor->identifier() == IOSCompass::id)
return new IOSCompass(sensor);
+#endif
+#ifdef HAVE_UIDEVICE
if (sensor->identifier() == IOSProximitySensor::id)
return new IOSProximitySensor(sensor);
-
+#endif
return 0;
}
};