crossbow/permission/
status.rs1#[derive(Clone, Copy, Debug, PartialEq, Eq)]
2pub enum PermissionStatus {
3    Unknown = 0,
5    Denied = 1,
7    Disabled = 2,
9    Granted = 3,
11    Restricted = 4,
13}
14
15impl From<bool> for PermissionStatus {
16    fn from(status: bool) -> Self {
17        match status {
18            true => Self::Granted,
19            false => Self::Denied,
20        }
21    }
22}
23
24#[cfg(all(target_os = "ios", feature = "ios"))]
25use crossbow_ios::permission::AuthorizationStatus;
26
27#[cfg(all(target_os = "ios", feature = "ios"))]
28impl From<AuthorizationStatus> for PermissionStatus {
29    fn from(status: AuthorizationStatus) -> Self {
30        match status {
31            AuthorizationStatus::NotDetermined => Self::Unknown,
32            AuthorizationStatus::Restricted => Self::Restricted,
33            AuthorizationStatus::Denied => Self::Denied,
34            AuthorizationStatus::Authorized => Self::Granted,
35            AuthorizationStatus::Limited => Self::Granted,
36        }
37    }
38}