2#include <NDEVR/StringView.h>
The equivelent of std::vector but with a bit more control.
Abstract interface for platform-specific permission handling.
virtual PermissionState requestPermission(const StringView &permission)=0
Requests the specified permission from the user or system.
virtual PermissionState checkPermission(const StringView &permission)=0
Checks whether the specified permission is currently granted.
Centralized manager for checking and requesting application permissions.
static constexpr StringView camera_access
Permission identifier for camera access.
static constexpr StringView file_access
Permission identifier for file system access.
static PermissionState RequestPermission(StringView permission)
Requests the specified permission from all registered handlers.
static constexpr StringView speech_recognition
Permission identifier for speech recognition access.
static constexpr StringView microphone_access
Permission identifier for microphone access.
static PermissionState CheckPermission(StringView permission)
Checks whether the specified permission is currently granted.
static constexpr StringView calendar_access
Permission identifier for calendar access.
static constexpr StringView photo_library_access
Permission identifier for photo library access.
static bool RequestMicrophone()
Requests microphone access from the user or system.
static bool RequestCamera()
Requests camera access from the user or system.
static bool HasCamera()
Checks whether camera access is currently granted.
static bool RequestLocationWhenInUse()
Requests location-when-in-use access from the user or system.
static constexpr StringView local_network_access
Permission identifier for local network discovery access.
static constexpr StringView network_access
Permission identifier for network access.
static constexpr StringView location_when_in_use
Permission identifier for location access while the app is in use.
static constexpr StringView contacts_access
Permission identifier for contacts access.
static constexpr StringView bluetooth_access
Permission identifier for Bluetooth access.
static Buffer< PermissionHandler * > s_permission_handlers
List of registered platform-specific permission handlers.
static void RemovePermissionHandler(PermissionHandler *handler)
Unregisters a previously added permission handler.
static constexpr StringView location_always
Permission identifier for persistent location access.
static bool HasMicrophone()
Checks whether microphone access is currently granted.
static constexpr StringView notifications_access
Permission identifier for push notification access.
static bool HasLocationWhenInUse()
Checks whether location-when-in-use access is currently granted.
static void AddPermissionHandler(PermissionHandler *handler)
Registers a platform-specific permission handler.
static constexpr StringView motion_sensors_access
Permission identifier for motion sensor access.
The core String View class for the NDEVR API.
The primary namespace for the NDEVR SDK.
uint8_t uint01
-Defines an alias representing a 1 byte, unsigned integer -Can represent exact integer values 0 throu...
PermissionState
Represents the current state of a permission request or check.
@ e_granted
Permission was granted by the user or system.
@ e_permanently_denied
Permission was permanently denied and cannot be re-requested.
@ e_denied
Permission was denied by the user or system.
@ e_unknown
Unknown device type.