2024-01-27 20:02:34 +01:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <Geode/DefaultInclude.hpp>
|
|
|
|
#include "MiniFunction.hpp"
|
|
|
|
#include <string_view>
|
|
|
|
|
|
|
|
namespace geode::utils::permission {
|
|
|
|
enum class Permission {
|
2024-02-23 21:13:52 -07:00
|
|
|
ReadAllFiles = 0x3, // maintain compatibility with some older mods
|
|
|
|
RecordAudio
|
2024-01-27 20:02:34 +01:00
|
|
|
};
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Request whether the given permission is granted to Geode by the operating system.
|
|
|
|
* @param permission The permission
|
|
|
|
*/
|
2024-01-28 18:20:27 -03:00
|
|
|
bool GEODE_DLL getPermissionStatus(Permission permission);
|
2024-01-27 20:02:34 +01:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 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.
|
|
|
|
*/
|
2024-01-28 18:20:27 -03:00
|
|
|
void GEODE_DLL requestPermission(Permission permission, utils::MiniFunction<void(bool)> callback);
|
2024-01-27 20:02:34 +01:00
|
|
|
}
|