|
80 | 80 | return service_ + "/" + app; |
81 | 81 | } |
82 | 82 |
|
83 | | -bool UserSecureDarwinInternal::UserHasSecureData() { |
84 | | - NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; |
85 | | - if (!defaults) { |
86 | | - // For some reason we can't get NSUserDefaults, so just err on the safe side and return true so |
87 | | - // we check the keychain directly. |
88 | | - return true; |
89 | | - } |
90 | | - return [defaults boolForKey:@(user_defaults_key_.c_str())] ? true : false; |
91 | | -} |
92 | | - |
93 | | -void UserSecureDarwinInternal::SetUserHasSecureData(bool b) { |
94 | | - NSUserDefaults* defaults = [NSUserDefaults standardUserDefaults]; |
95 | | - [defaults setBool:(b ? YES : NO) forKey:@(user_defaults_key_.c_str())]; |
96 | | - [defaults synchronize]; |
97 | | -} |
98 | | - |
99 | 83 | std::string UserSecureDarwinInternal::LoadUserData(const std::string& app_name) { |
100 | | - if (!UserHasSecureData()) { |
101 | | - LogDebug("LoadUserData: User has no data stored."); |
102 | | - return ""; |
103 | | - } |
104 | 84 | NSMutableDictionary* query = GetQueryForApp(service_.c_str(), app_name.c_str()); |
105 | 85 | std::string keystore_location = GetKeystoreLocation(app_name); |
106 | 86 | // We want to return the data and attributes. |
|
164 | 144 | error_string.UTF8String); |
165 | 145 | return; |
166 | 146 | } |
167 | | - |
168 | | - SetUserHasSecureData(true); |
169 | 147 | } |
170 | 148 |
|
171 | 149 | void UserSecureDarwinInternal::DeleteData(const char* app_name, const char* func_name) { |
172 | | - if (!UserHasSecureData()) { |
173 | | - LogDebug("%s: User has no data stored.", func_name); |
174 | | - return; |
175 | | - } |
176 | | - |
177 | 150 | NSMutableDictionary* query = GetQueryForApp(service_.c_str(), app_name); |
178 | 151 | std::string keystore_location = app_name ? GetKeystoreLocation(app_name) : service_; |
179 | 152 |
|
|
201 | 174 |
|
202 | 175 | void UserSecureDarwinInternal::DeleteAllData() { |
203 | 176 | DeleteData(nullptr, "DeleteAllData"); |
204 | | - SetUserHasSecureData(false); |
205 | 177 | } |
206 | 178 |
|
207 | 179 | } // namespace secure |
|
0 commit comments