Sunshine0.0.5917
Sunshine 0.0.5917
Self-hosted game stream host for Moonlight.
Loading...
Searching...
No Matches
permissions.h
Go to the documentation of this file.
1
5#pragma once
6
7// standard includes
8#include <filesystem>
9#include <string>
10#include <string_view>
11#include <vector>
12
13namespace platf {
18 std::string id;
19 std::string status;
20 bool required;
22 bool requestable = false;
23 };
24
30 std::vector<permission_status_t> get_permission_statuses();
31
38 bool required_permissions_granted(const std::vector<permission_status_t> &permissions);
39
48 bool request_permission(std::string_view id);
49
56 bool can_access_directory(const std::filesystem::path &path);
57} // namespace platf
std::vector< permission_status_t > get_permission_statuses()
Query access needed by Sunshine on the current platform.
Definition misc.cpp:158
bool request_permission(std::string_view id)
Initiate a native request or settings action for an access item.
Definition misc.cpp:167
bool can_access_directory(const std::filesystem::path &path)
Check whether this process can list and create files in a directory.
Definition permissions.cpp:25
bool required_permissions_granted(const std::vector< permission_status_t > &permissions)
Determine whether all verifiable required permissions are granted.
Definition permissions.cpp:19
Access needed by the current Sunshine configuration.
Definition permissions.h:17
std::string status
Granted, denied, not_determined, on_use, or unknown.
Definition permissions.h:19
std::string id
Stable identifier used by the Web UI.
Definition permissions.h:18
bool required
Whether the current configuration needs this access.
Definition permissions.h:20
bool verifiable
Whether the OS permits a passive status check.
Definition permissions.h:21
bool requestable
Whether Sunshine can initiate a native request or settings action.
Definition permissions.h:22