SLProject  4.3.020
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
SENSiOSGps.mm
Go to the documentation of this file.
1 #include "SENSiOSGps.h"
2 
4 {
5  _gpsDelegate = [[SENSiOSGpsDelegate alloc] init];
6  //set update callback
7  [_gpsDelegate setUpdateCB:std::bind(&SENSiOSGps::updateLocation, this, std::placeholders::_1, std::placeholders::_2, std::placeholders::_3, std::placeholders::_4)];
8  //set permission callback
9  [_gpsDelegate setPermissionCB:std::bind(&SENSGps::updatePermission, this, std::placeholders::_1)];
10 }
11 
13 {
14  if (!_permissionGranted)
15  return false;
16  else
17  {
19  return _running;
20  }
21 }
22 
24 {
26  _running = false;
27 }
28 
29 void SENSiOSGps::updateLocation(double latitudeDEG,
30  double longitudeDEG,
31  double altitudeM,
32  double accuracyM)
33 {
34  setLocation({latitudeDEG, longitudeDEG, altitudeM, (float)accuracyM});
35 }
36 
38 {
40 }
void updatePermission(bool granted)
Definition: SENSGps.cpp:71
bool _running
Definition: SENSGps.h:46
void setLocation(SENSGps::Location location)
Definition: SENSGps.cpp:11
std::atomic_bool _permissionGranted
Definition: SENSGps.h:47
bool start() override
Definition: SENSiOSGps.mm:12
void stop() override
Definition: SENSiOSGps.mm:23
void updateLocation(double latitudeDEG, double longitudeDEG, double altitudeM, double accuracyM)
Definition: SENSiOSGps.mm:29
SENSiOSGpsDelegate * _gpsDelegate
Definition: SENSiOSGps.h:25
void askPermission()
Definition: SENSiOSGps.mm:37