@@ -16,55 +16,55 @@ struct Preferences {
16
16
17
17
let suiteName : String
18
18
let userDefaults : UserDefaults
19
-
20
-
19
+
20
+
21
21
var allKeys : [ String ] {
22
22
userDefaults. dictionaryRepresentation ( ) . map { $0. key }
23
23
}
24
24
25
- var systemGlobalKeys : [ String ] {
25
+ var networkGlobalKeys : [ String ] {
26
26
keylist ( kCFPreferencesAnyApplication, kCFPreferencesAnyUser, kCFPreferencesAnyHost)
27
27
}
28
-
29
- var systemHostGlobalKeys : [ String ] {
28
+
29
+ var systemGlobalKeys : [ String ] {
30
30
keylist ( kCFPreferencesAnyApplication, kCFPreferencesAnyUser, kCFPreferencesCurrentHost)
31
31
}
32
-
32
+
33
33
var hostGlobalKeys : [ String ] {
34
- keylist ( kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)
34
+ keylist ( kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)
35
35
}
36
-
36
+
37
37
var userGlobalKeys : [ String ] {
38
38
keylist ( kCFPreferencesAnyApplication, kCFPreferencesCurrentUser, kCFPreferencesAnyHost)
39
39
}
40
-
40
+
41
41
var globalKeys : [ String ] {
42
42
var globalKeys = Set ( userGlobalKeys)
43
- globalKeys. formUnion ( systemGlobalKeys )
43
+ globalKeys. formUnion ( networkGlobalKeys )
44
44
globalKeys. formUnion ( hostGlobalKeys)
45
45
return Array ( globalKeys)
46
46
}
47
-
47
+
48
48
var managedKeys : [ String ] {
49
49
allKeys. filter { userDefaults. objectIsForced ( forKey: $0) }
50
50
}
51
-
51
+
52
52
var userKeys : [ String ] {
53
53
keylist ( suiteName as CFString , kCFPreferencesCurrentUser, kCFPreferencesAnyHost)
54
54
}
55
-
56
- var systemKeys : [ String ] {
55
+
56
+ var networkKeys : [ String ] {
57
57
keylist ( suiteName as CFString , kCFPreferencesAnyUser, kCFPreferencesAnyHost)
58
58
}
59
-
60
- var systemHostKeys : [ String ] {
61
- keylist ( suiteName as CFString , kCFPreferencesAnyUser, kCFPreferencesCurrentHost)
59
+
60
+ var systemKeys : [ String ] {
61
+ keylist ( suiteName as CFString , kCFPreferencesAnyUser, kCFPreferencesCurrentHost)
62
62
}
63
-
63
+
64
64
var hostKeys : [ String ] {
65
65
keylist ( suiteName as CFString , kCFPreferencesCurrentUser, kCFPreferencesCurrentHost)
66
66
}
67
-
67
+
68
68
var volatileKeys : [ String ] {
69
69
let vDomains = userDefaults. volatileDomainNames
70
70
var volatileKeys = Set < String > ( )
@@ -75,17 +75,17 @@ struct Preferences {
75
75
}
76
76
return Array ( volatileKeys)
77
77
}
78
-
78
+
79
79
// MARK: functions
80
-
80
+
81
81
func keylist( _ applicationID: CFString , _ userName: CFString , _ hostName: CFString ) -> [ String ] {
82
82
CFPreferencesCopyKeyList ( applicationID, userName, hostName) as? [ String ] ?? [ ]
83
83
}
84
-
84
+
85
85
func isManaged( _ key: String ) -> Bool {
86
86
userDefaults. objectIsForced ( forKey: key)
87
87
}
88
-
88
+
89
89
func level( for key: String ) -> String ? {
90
90
if !allKeys. contains ( where: { $0 == key} ) {
91
91
return nil
@@ -111,16 +111,16 @@ struct Preferences {
111
111
if systemGlobalKeys. contains ( where: { $0 == key} ) {
112
112
return " global/system "
113
113
}
114
- if systemHostGlobalKeys . contains ( where: { $0 == key} ) {
115
- return " global/system/host "
114
+ if networkKeys . contains ( where: { $0 == key} ) {
115
+ return " network "
116
116
}
117
- if systemHostKeys . contains ( where: { $0 == key} ) {
118
- return " system/host/app "
117
+ if networkGlobalKeys . contains ( where: { $0 == key} ) {
118
+ return " global/network "
119
119
}
120
120
if volatileKeys. contains ( where: { $0 == key} ) {
121
121
return " volatile "
122
122
}
123
-
123
+
124
124
return nil
125
125
}
126
126
}
0 commit comments