Miscellaneous declarations for macOS platform. More...
Go to the source code of this file.
Enumerations | |
| enum class | platf::permission_request_action_t { none , prompt , settings } |
| Action to take when a macOS privacy permission is unavailable. More... | |
Functions | |
| library_t * | dyn::handle (const std::vector< const char * > &libs) |
| Open the first available shared library from a nonempty list. | |
| bool | platf::is_screen_capture_allowed () |
| Check whether macOS has granted screen-capture permission. | |
| int | dyn::load (void *handle, const std::vector< std::tuple< apiproc *, const char * > > &funcs, bool strict=true) |
| Load persisted state from its backing store. | |
| permission_request_action_t | platf::permission_request_action (bool granted, int previous_state, bool startup, bool retry_manual_request) |
| Choose a privacy action without repeating a macOS startup prompt. | |
| void | platf::request_startup_permissions (bool notifications_enabled) |
| Request missing permissions needed at startup. | |
| void | platf::request_startup_system_audio_permission () |
| Probe system audio once on startup when no custom sink is configured. | |
| bool | platf::request_system_audio_permission () |
| Start and stop an unmuted Core Audio tap to request system audio access. | |
| bool | platf::should_request_startup_permission (const permission_status_t &permission, bool notifications_enabled) |
| Decide whether startup should initiate a native permission request. | |
| bool | platf::should_request_startup_system_audio_permission (bool has_custom_sink, bool previously_requested) |
| Decide whether a one-time startup system audio probe is due. | |
| bool | platf::supports_local_network_privacy (int major_version) |
| Check whether the macOS version has Local Network privacy controls. | |
Miscellaneous declarations for macOS platform.
|
strong |
| void * dyn::handle | ( | const std::vector< const char * > & | libs | ) |
Open the first available shared library from a nonempty list.
Return the native handle owned by the wrapper.
| libs | List of libraries to probe for the requested symbol. |
| bool platf::is_screen_capture_allowed | ( | ) |
Check whether macOS has granted screen-capture permission.
Check whether screen capture allowed.
| int dyn::load | ( | void * | handle, |
| const std::vector< std::tuple< apiproc *, const char * > > & | funcs, | ||
| bool | strict = true ) |
Load persisted state from its backing store.
| handle | Native library or object handle used by the operation. |
| funcs | Function table populated from the loaded library. |
| strict | Whether missing functions should be treated as an error. |
| permission_request_action_t platf::permission_request_action | ( | bool | granted, |
| int | previous_state, | ||
| bool | startup, | ||
| bool | retry_manual_request ) |
Choose a privacy action without repeating a macOS startup prompt.
| granted | Whether the native preflight check reports access. |
| previous_state | Zero before a request, one after a request, or two after a grant. |
| startup | Whether this action is part of automatic startup checks. |
| retry_manual_request | Whether a user-initiated action should retry the native request. |
| void platf::request_startup_permissions | ( | bool | notifications_enabled | ) |
Request missing permissions needed at startup.
| notifications_enabled | Whether the running build shows tray notifications. |
| void platf::request_startup_system_audio_permission | ( | ) |
Probe system audio once on startup when no custom sink is configured.
The operating system has no passive tap authorization query. Later streams may request access again if the user removes permission.
| bool platf::request_system_audio_permission | ( | ) |
Start and stop an unmuted Core Audio tap to request system audio access.
| bool platf::should_request_startup_permission | ( | const permission_status_t & | permission, |
| bool | notifications_enabled ) |
Decide whether startup should initiate a native permission request.
| permission | Permission status and requirement for the active configuration. |
| notifications_enabled | Whether the system tray uses notifications. |
| bool platf::should_request_startup_system_audio_permission | ( | bool | has_custom_sink, |
| bool | previously_requested ) |
Decide whether a one-time startup system audio probe is due.
| has_custom_sink | Whether Sunshine uses a custom audio sink. |
| previously_requested | Whether a startup probe was already attempted. |
| bool platf::supports_local_network_privacy | ( | int | major_version | ) |
Check whether the macOS version has Local Network privacy controls.
| major_version | macOS major version number. |