1 // Copyright © 2018 650 Industries. All rights reserved. 2 3 #import <Foundation/Foundation.h> 4 #import <EXCore/EXInternalModule.h> 5 #import <EXSensorsInterface/EXAccelerometerInterface.h> 6 #import <EXSensorsInterface/EXDeviceMotionInterface.h> 7 #import <EXSensorsInterface/EXGyroscopeInterface.h> 8 #import <EXSensorsInterface/EXMagnetometerInterface.h> 9 #import <EXSensorsInterface/EXMagnetometerUncalibratedInterface.h> 10 11 @protocol EXSensorsManagerBindingDelegate 12 13 - (void)sensorModuleDidSubscribeForAccelerometerUpdatesOfExperience:(NSString *)experienceId withHandler:(void (^)(NSDictionary *event))handlerBlock; 14 - (void)sensorModuleDidUnsubscribeForAccelerometerUpdatesOfExperience:(NSString *)experienceId; 15 - (void)setAccelerometerUpdateInterval:(NSTimeInterval)intervalMs; 16 17 - (float)getGravity; 18 - (void)sensorModuleDidSubscribeForDeviceMotionUpdatesOfExperience:(NSString *)experienceId withHandler:(void (^)(NSDictionary *event))handlerBlock; 19 - (void)sensorModuleDidUnsubscribeForDeviceMotionUpdatesOfExperience:(NSString *)experienceId; 20 - (void)setDeviceMotionUpdateInterval:(NSTimeInterval)intervalMs; 21 22 - (void)sensorModuleDidSubscribeForGyroscopeUpdatesOfExperience:(NSString *)experienceId withHandler:(void (^)(NSDictionary *event))handlerBlock; 23 - (void)sensorModuleDidUnsubscribeForGyroscopeUpdatesOfExperience:(NSString *)experienceId; 24 - (void)setGyroscopeUpdateInterval:(NSTimeInterval)intervalMs; 25 26 - (void)sensorModuleDidSubscribeForMagnetometerUpdatesOfExperience:(NSString *)experienceId withHandler:(void (^)(NSDictionary *event))handlerBlock; 27 - (void)sensorModuleDidUnsubscribeForMagnetometerUpdatesOfExperience:(NSString *)experienceId; 28 - (void)setMagnetometerUpdateInterval:(NSTimeInterval)intervalMs; 29 30 - (void)sensorModuleDidSubscribeForMagnetometerUncalibratedUpdatesOfExperience:(NSString *)experienceId 31 withHandler:(void (^)(NSDictionary *event))handlerBlock; 32 - (void)sensorModuleDidUnsubscribeForMagnetometerUncalibratedUpdatesOfExperience:(NSString *)experienceId; 33 - (void)setMagnetometerUncalibratedUpdateInterval:(NSTimeInterval)intervalMs; 34 35 @end 36 37 @interface EXSensorsManagerBinding : NSObject <EXInternalModule, EXAccelerometerInterface, EXDeviceMotionInterface, EXGyroscopeInterface, EXMagnetometerInterface, EXMagnetometerUncalibratedInterface> 38 39 - (instancetype)initWithExperienceId:(NSString *)experienceId andKernelService:(id<EXSensorsManagerBindingDelegate>)kernelService; 40 41 - (void)sensorModuleDidSubscribeForAccelerometerUpdates:(id)scopedSensorModule withHandler:(void (^)(NSDictionary *))handlerBlock; 42 - (void)sensorModuleDidSubscribeForDeviceMotionUpdates:(id)scopedSensorModule withHandler:(void (^)(NSDictionary *))handlerBlock; 43 - (void)sensorModuleDidSubscribeForGyroscopeUpdates:(id)scopedSensorModule withHandler:(void (^)(NSDictionary *))handlerBlock; 44 - (void)sensorModuleDidSubscribeForMagnetometerUncalibratedUpdates:(id)scopedSensorModule withHandler:(void (^)(NSDictionary *))handlerBlock; 45 - (void)sensorModuleDidSubscribeForMagnetometerUpdates:(id)scopedSensorModule withHandler:(void (^)(NSDictionary *))handlerBlock; 46 - (void)sensorModuleDidUnsubscribeForAccelerometerUpdates:(id)scopedSensorModule; 47 - (void)sensorModuleDidUnsubscribeForDeviceMotionUpdates:(id)scopedSensorModule; 48 - (void)sensorModuleDidUnsubscribeForGyroscopeUpdates:(id)scopedSensorModule; 49 - (void)sensorModuleDidUnsubscribeForMagnetometerUncalibratedUpdates:(id)scopedSensorModule; 50 - (void)sensorModuleDidUnsubscribeForMagnetometerUpdates:(id)scopedSensorModule; 51 - (void)setAccelerometerUpdateInterval:(NSTimeInterval)intervalMs; 52 - (void)setDeviceMotionUpdateInterval:(NSTimeInterval)intervalMs; 53 - (void)setGyroscopeUpdateInterval:(NSTimeInterval)intervalMs; 54 - (void)setMagnetometerUncalibratedUpdateInterval:(NSTimeInterval)intervalMs; 55 - (void)setMagnetometerUpdateInterval:(NSTimeInterval)intervalMs; 56 57 @end 58