diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/plugins/sensors/ios/ios.pro | 56 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosaccelerometer.h | 4 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosaccelerometer.mm | 4 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosgyroscope.h | 4 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosgyroscope.mm | 2 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosmagnetometer.h | 4 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosmagnetometer.mm | 2 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosmotionmanager.h | 5 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosmotionmanager.mm | 2 | ||||
-rw-r--r-- | src/plugins/sensors/ios/iosproximitysensor.h | 4 | ||||
-rw-r--r-- | src/plugins/sensors/ios/main.mm | 18 | ||||
-rw-r--r-- | src/plugins/sensors/sensors.pro | 4 |
12 files changed, 78 insertions, 31 deletions
diff --git a/src/plugins/sensors/ios/ios.pro b/src/plugins/sensors/ios/ios.pro index 17ff009..91ec3ae 100644 --- a/src/plugins/sensors/ios/ios.pro +++ b/src/plugins/sensors/ios/ios.pro @@ -3,22 +3,46 @@ QT = core sensors OTHER_FILES = plugin.json -HEADERS += iosaccelerometer.h \ - iosmotionmanager.h \ - iosgyroscope.h \ - iosmagnetometer.h \ - ioscompass.h \ - iosproximitysensor.h - -OBJECTIVE_SOURCES += main.mm \ - iosaccelerometer.mm \ - iosmotionmanager.mm \ - iosgyroscope.mm \ - iosmagnetometer.mm \ - ioscompass.mm \ - iosproximitysensor.mm - -LIBS += -framework UIKit -framework CoreMotion -framework CoreLocation +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 diff --git a/src/plugins/sensors/ios/iosaccelerometer.h b/src/plugins/sensors/ios/iosaccelerometer.h index 620015f..14b6cc0 100644 --- a/src/plugins/sensors/ios/iosaccelerometer.h +++ b/src/plugins/sensors/ios/iosaccelerometer.h @@ -40,11 +40,11 @@ #ifndef IOSACCELEROMETER_H #define IOSACCELEROMETER_H -#include <CoreMotion/CMMotionManager.h> - #include <qsensorbackend.h> #include <qaccelerometer.h> +@class CMMotionManager; + QT_BEGIN_NAMESPACE class IOSAccelerometer : public QSensorBackend diff --git a/src/plugins/sensors/ios/iosaccelerometer.mm b/src/plugins/sensors/ios/iosaccelerometer.mm index 2d2e27a..d2d6e9f 100644 --- a/src/plugins/sensors/ios/iosaccelerometer.mm +++ b/src/plugins/sensors/ios/iosaccelerometer.mm @@ -37,11 +37,11 @@ ** ****************************************************************************/ -#include <UIKit/UIAccelerometer.h> - #include "iosaccelerometer.h" #include "iosmotionmanager.h" +#import <CoreMotion/CoreMotion.h> + char const * const IOSAccelerometer::id("ios.accelerometer"); QT_BEGIN_NAMESPACE diff --git a/src/plugins/sensors/ios/iosgyroscope.h b/src/plugins/sensors/ios/iosgyroscope.h index d8ff04a..3969bb1 100644 --- a/src/plugins/sensors/ios/iosgyroscope.h +++ b/src/plugins/sensors/ios/iosgyroscope.h @@ -40,11 +40,11 @@ #ifndef IOSGYROSCOPE_H #define IOSGYROSCOPE_H -#include <CoreMotion/CMMotionManager.h> - #include <qsensorbackend.h> #include <qgyroscope.h> +@class CMMotionManager; + QT_BEGIN_NAMESPACE class IOSGyroscope : public QSensorBackend diff --git a/src/plugins/sensors/ios/iosgyroscope.mm b/src/plugins/sensors/ios/iosgyroscope.mm index 19e65e5..0cd37ae 100644 --- a/src/plugins/sensors/ios/iosgyroscope.mm +++ b/src/plugins/sensors/ios/iosgyroscope.mm @@ -40,6 +40,8 @@ #include "iosmotionmanager.h" #include "iosgyroscope.h" +#import <CoreMotion/CoreMotion.h> + char const * const IOSGyroscope::id("ios.gyroscope"); QT_BEGIN_NAMESPACE diff --git a/src/plugins/sensors/ios/iosmagnetometer.h b/src/plugins/sensors/ios/iosmagnetometer.h index 00d921e..f4ab34a 100644 --- a/src/plugins/sensors/ios/iosmagnetometer.h +++ b/src/plugins/sensors/ios/iosmagnetometer.h @@ -40,11 +40,11 @@ #ifndef IOSMAGNETOMETER_H #define IOSMAGNETOMETER_H -#include <CoreMotion/CMMotionManager.h> - #include <qsensorbackend.h> #include <qmagnetometer.h> +@class CMMotionManager; + QT_BEGIN_NAMESPACE class IOSMagnetometer : public QSensorBackend diff --git a/src/plugins/sensors/ios/iosmagnetometer.mm b/src/plugins/sensors/ios/iosmagnetometer.mm index 98bef2d..bfbe6e6 100644 --- a/src/plugins/sensors/ios/iosmagnetometer.mm +++ b/src/plugins/sensors/ios/iosmagnetometer.mm @@ -40,6 +40,8 @@ #include "iosmotionmanager.h" #include "iosmagnetometer.h" +#import <CoreMotion/CoreMotion.h> + QT_BEGIN_NAMESPACE char const * const IOSMagnetometer::id("ios.magnetometer"); diff --git a/src/plugins/sensors/ios/iosmotionmanager.h b/src/plugins/sensors/ios/iosmotionmanager.h index 6e0cbd6..7c2a1b2 100644 --- a/src/plugins/sensors/ios/iosmotionmanager.h +++ b/src/plugins/sensors/ios/iosmotionmanager.h @@ -40,8 +40,9 @@ #ifndef IOSMOTIONMANAGER_H #define IOSMOTIONMANAGER_H -#import <UIKit/UIKit.h> -#import <CoreMotion/CoreMotion.h> +#import <Foundation/Foundation.h> + +@class CMMotionManager; @interface QIOSMotionManager : NSObject { } diff --git a/src/plugins/sensors/ios/iosmotionmanager.mm b/src/plugins/sensors/ios/iosmotionmanager.mm index 7db56a2..9074108 100644 --- a/src/plugins/sensors/ios/iosmotionmanager.mm +++ b/src/plugins/sensors/ios/iosmotionmanager.mm @@ -39,6 +39,8 @@ #include "iosmotionmanager.h" +#import <CoreMotion/CoreMotion.h> + static CMMotionManager *sharedManager = nil; @implementation QIOSMotionManager diff --git a/src/plugins/sensors/ios/iosproximitysensor.h b/src/plugins/sensors/ios/iosproximitysensor.h index 99f9564..4cff4fc 100644 --- a/src/plugins/sensors/ios/iosproximitysensor.h +++ b/src/plugins/sensors/ios/iosproximitysensor.h @@ -43,10 +43,10 @@ #include <qsensorbackend.h> #include <qproximitysensor.h> -QT_BEGIN_NAMESPACE - @class ProximitySensorCallback; +QT_BEGIN_NAMESPACE + class IOSProximitySensor : public QSensorBackend { public: 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; } }; diff --git a/src/plugins/sensors/sensors.pro b/src/plugins/sensors/sensors.pro index 5a860fd..af2fae1 100644 --- a/src/plugins/sensors/sensors.pro +++ b/src/plugins/sensors/sensors.pro @@ -8,7 +8,7 @@ sensorfw { isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = sensorfw generic } -ios { +darwin { isEmpty(SENSORS_PLUGINS): SENSORS_PLUGINS = ios generic } @@ -31,5 +31,5 @@ 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, ios):ios:SUBDIRS += ios +isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, ios):darwin:SUBDIRS += ios isEmpty(SENSORS_PLUGINS)|contains(SENSORS_PLUGINS, winrt):winrt:SUBDIRS += winrt |