geode/loader/include/Geode/utils/permission.hpp
dankmeme01 9ff919118e
Add methods for requesting and querying permissions (#461)
* add methods for requesting and querying permissions

* change requestPermission to void and handle jni errors

* move permissions to utils

* how could i forget the mac operating system

* genuinely blind

* make a permission enum

* call permission callbacks on unimpl platforms
2024-01-27 16:02:34 -03:00

27 lines
No EOL
778 B
C++

#pragma once
#include <Geode/DefaultInclude.hpp>
#include "MiniFunction.hpp"
#include <string_view>
namespace geode::utils::permission {
enum class Permission {
ReadAudio,
ReadImages,
ReadVideo,
RecordAudio,
};
/**
* Request whether the given permission is granted to Geode by the operating system.
* @param permission The permission
*/
bool getPermissionStatus(Permission permission);
/**
* Request a permission to be granted by the operating system.
* @param permission The permission
* @param callback The callback, passed value is 'true' if permission was granted and 'false' otherwise.
*/
void requestPermission(Permission permission, utils::MiniFunction<void(bool)> callback);
}