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

#include <SENSiOSPermissions.h>

Inheritance diagram for SENSiOSPermissions:
[legend]

Public Member Functions

 SENSiOSPermissions (SENSiOSGps *gps)
 
void askPermissions ()
 
bool hasCameraPermission ()
 
bool hasGPSPermission ()
 
bool hasInternetPermission ()
 
bool hasStoragePermission ()
 
bool canShowCameraPermissionDialog ()
 
bool canShowGPSPermissionDialog ()
 
bool canShowInternetPermissionDialog ()
 
bool canShowStoragePermissionDialog ()
 
bool isLocationEnabled ()
 
void askEnabledLocation ()
 

Private Attributes

SENSiOSGps_gps
 

Detailed Description

Definition at line 11 of file SENSiOSPermissions.h.

Constructor & Destructor Documentation

◆ SENSiOSPermissions()

SENSiOSPermissions::SENSiOSPermissions ( SENSiOSGps gps)

Definition at line 3 of file SENSiOSPermissions.mm.

4 {
5  _gps = gps;
6 }

Member Function Documentation

◆ askEnabledLocation()

void SENSiOSPermissions::askEnabledLocation ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 99 of file SENSiOSPermissions.mm.

100 {
101  UIApplication* application = [UIApplication sharedApplication];
102  NSURL* url = [NSURL URLWithString:UIApplicationOpenSettingsURLString];
103 
104  if ([application canOpenURL:url])
105  {
106  [application openURL:url options:@{} completionHandler:^(BOOL sucess){}];
107  }
108 }

◆ askPermissions()

void SENSiOSPermissions::askPermissions ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 8 of file SENSiOSPermissions.mm.

9 {
10  // cannot ask for permissions a second time,
11  // so only here to complete the interface
12 
13  if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined)
14  {
16  }
17 }
void askPermission()
Definition: SENSiOSGps.mm:37

◆ canShowCameraPermissionDialog()

bool SENSiOSPermissions::canShowCameraPermissionDialog ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 50 of file SENSiOSPermissions.mm.

51 {
52  // iOS will only prompt users for permissions once. After they have to manually
53  // change permissions in the settings.
54  bool result = false;
55 
56  return result;
57 }

◆ canShowGPSPermissionDialog()

bool SENSiOSPermissions::canShowGPSPermissionDialog ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 59 of file SENSiOSPermissions.mm.

60 {
61  // iOS will only prompt users for permissions once. After they have to manually
62  // change permissions in the settings.
63  bool result = false;
64 
65  if ([CLLocationManager authorizationStatus] == kCLAuthorizationStatusNotDetermined)
66  {
67  result = true;
68  }
69 
70  return result;
71 }

◆ canShowInternetPermissionDialog()

bool SENSiOSPermissions::canShowInternetPermissionDialog ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 73 of file SENSiOSPermissions.mm.

74 {
75  // iOS will only prompt users for permissions once. After they have to manually
76  // change permissions in the settings.
77  bool result = false;
78 
79  return result;
80 }

◆ canShowStoragePermissionDialog()

bool SENSiOSPermissions::canShowStoragePermissionDialog ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 82 of file SENSiOSPermissions.mm.

83 {
84  // iOS will only prompt users for permissions once. After they have to manually
85  // change permissions in the settings.
86  bool result = false;
87 
88  return result;
89 }

◆ hasCameraPermission()

bool SENSiOSPermissions::hasCameraPermission ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 19 of file SENSiOSPermissions.mm.

20 {
21  bool result = [AVCaptureDevice authorizationStatusForMediaType:AVMediaTypeVideo] ==
22  AVAuthorizationStatusAuthorized;
23 
24  return result;
25 }

◆ hasGPSPermission()

bool SENSiOSPermissions::hasGPSPermission ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 27 of file SENSiOSPermissions.mm.

28 {
29  bool result =
30  [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedAlways ||
31  [CLLocationManager authorizationStatus] == kCLAuthorizationStatusAuthorizedWhenInUse;
32 
33  return result;
34 }

◆ hasInternetPermission()

bool SENSiOSPermissions::hasInternetPermission ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 36 of file SENSiOSPermissions.mm.

37 {
38  // no special permissions required (as far as I could tell...)
39 
40  return true;
41 }

◆ hasStoragePermission()

bool SENSiOSPermissions::hasStoragePermission ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 43 of file SENSiOSPermissions.mm.

44 {
45  // no special permissions required
46 
47  return true;
48 }

◆ isLocationEnabled()

bool SENSiOSPermissions::isLocationEnabled ( )
virtual

Reimplemented from SENSPermissions.

Definition at line 91 of file SENSiOSPermissions.mm.

92 {
93  bool result =
94  [CLLocationManager locationServicesEnabled];
95 
96  return result;
97 }

Member Data Documentation

◆ _gps

SENSiOSGps* SENSiOSPermissions::_gps
private

Definition at line 31 of file SENSiOSPermissions.h.


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