SLProject  4.3.020
A platform independent 3D computer graphics framework for desktop OS, Android, iOS and online in web browsers
SENSiOSGps Class Reference

#include <SENSiOSGps.h>

Inheritance diagram for SENSiOSGps:
[legend]

Public Member Functions

 SENSiOSGps ()
 
bool start () override
 
void stop () override
 
void askPermission ()
 
- Public Member Functions inherited from SENSGps
virtual ~SENSGps ()
 
Location getLocation () const
 
bool isRunning ()
 
bool permissionGranted () const
 
void registerListener (SENSGpsListener *listener)
 
void unregisterListener (SENSGpsListener *listener)
 
void registerPermissionListener (std::function< void(void)> listener)
 
void updatePermission (bool granted)
 

Private Member Functions

void updateLocation (double latitudeDEG, double longitudeDEG, double altitudeM, double accuracyM)
 
void updatePermission (bool granted)
 

Private Attributes

SENSiOSGpsDelegate_gpsDelegate
 

Additional Inherited Members

- Protected Member Functions inherited from SENSGps
void setLocation (SENSGps::Location location)
 
void informPermissionListeners ()
 
- Protected Attributes inherited from SENSGps
bool _running = false
 
std::atomic_bool _permissionGranted {false}
 

Detailed Description

Definition at line 7 of file SENSiOSGps.h.

Constructor & Destructor Documentation

◆ SENSiOSGps()

SENSiOSGps::SENSiOSGps ( )

Definition at line 3 of file SENSiOSGps.mm.

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 }
void updatePermission(bool granted)
Definition: SENSGps.cpp:71
void updateLocation(double latitudeDEG, double longitudeDEG, double altitudeM, double accuracyM)
Definition: SENSiOSGps.mm:29
SENSiOSGpsDelegate * _gpsDelegate
Definition: SENSiOSGps.h:25

Member Function Documentation

◆ askPermission()

void SENSiOSGps::askPermission ( )

Definition at line 37 of file SENSiOSGps.mm.

38 {
40 }
void askPermission()
Definition: SENSiOSGps.mm:37

◆ start()

bool SENSiOSGps::start ( )
overridevirtual

Implements SENSGps.

Definition at line 12 of file SENSiOSGps.mm.

13 {
14  if (!_permissionGranted)
15  return false;
16  else
17  {
19  return _running;
20  }
21 }
bool _running
Definition: SENSGps.h:46
std::atomic_bool _permissionGranted
Definition: SENSGps.h:47
bool start() override
Definition: SENSiOSGps.mm:12

◆ stop()

void SENSiOSGps::stop ( )
overridevirtual

Implements SENSGps.

Definition at line 23 of file SENSiOSGps.mm.

24 {
26  _running = false;
27 }
void stop() override
Definition: SENSiOSGps.mm:23

◆ updateLocation()

void SENSiOSGps::updateLocation ( double  latitudeDEG,
double  longitudeDEG,
double  altitudeM,
double  accuracyM 
)
private

Definition at line 29 of file SENSiOSGps.mm.

33 {
34  setLocation({latitudeDEG, longitudeDEG, altitudeM, (float)accuracyM});
35 }
void setLocation(SENSGps::Location location)
Definition: SENSGps.cpp:11

◆ updatePermission()

void SENSiOSGps::updatePermission ( bool  granted)
private

Member Data Documentation

◆ _gpsDelegate

SENSiOSGpsDelegate* SENSiOSGps::_gpsDelegate
private

Definition at line 25 of file SENSiOSGps.h.


The documentation for this class was generated from the following files: