holodeck_simctl_core/models/
privacy.rs1#[derive(Debug, Clone, Copy, PartialEq, Eq)]
2pub enum PrivacyAction {
3 Grant,
4 Revoke,
5 Reset,
6}
7
8impl PrivacyAction {
9 pub const ALL: [PrivacyAction; 3] = [PrivacyAction::Grant, PrivacyAction::Revoke, PrivacyAction::Reset];
10
11 pub fn raw_value(self) -> &'static str {
12 match self {
13 PrivacyAction::Grant => "grant",
14 PrivacyAction::Revoke => "revoke",
15 PrivacyAction::Reset => "reset",
16 }
17 }
18}
19
20#[derive(Debug, Clone, Copy, PartialEq, Eq)]
21pub enum PrivacyPermission {
22 All,
23 Calendar,
24 ContactsLimited,
25 Contacts,
26 Location,
27 LocationAlways,
28 PhotosAdd,
29 Photos,
30 MediaLibrary,
31 Microphone,
32 Motion,
33 Reminders,
34 Siri,
35}
36
37impl PrivacyPermission {
38 pub const ALL: [PrivacyPermission; 13] = [
39 PrivacyPermission::All,
40 PrivacyPermission::Calendar,
41 PrivacyPermission::ContactsLimited,
42 PrivacyPermission::Contacts,
43 PrivacyPermission::Location,
44 PrivacyPermission::LocationAlways,
45 PrivacyPermission::PhotosAdd,
46 PrivacyPermission::Photos,
47 PrivacyPermission::MediaLibrary,
48 PrivacyPermission::Microphone,
49 PrivacyPermission::Motion,
50 PrivacyPermission::Reminders,
51 PrivacyPermission::Siri,
52 ];
53
54 pub fn raw_value(self) -> &'static str {
55 match self {
56 PrivacyPermission::All => "all",
57 PrivacyPermission::Calendar => "calendar",
58 PrivacyPermission::ContactsLimited => "contacts-limited",
59 PrivacyPermission::Contacts => "contacts",
60 PrivacyPermission::Location => "location",
61 PrivacyPermission::LocationAlways => "location-always",
62 PrivacyPermission::PhotosAdd => "photos-add",
63 PrivacyPermission::Photos => "photos",
64 PrivacyPermission::MediaLibrary => "media-library",
65 PrivacyPermission::Microphone => "microphone",
66 PrivacyPermission::Motion => "motion",
67 PrivacyPermission::Reminders => "reminders",
68 PrivacyPermission::Siri => "siri",
69 }
70 }
71}