1// Copyright (c) 2012 The Chromium Authors. All rights reserved. 2// Use of this source code is governed by a BSD-style license that can be 3// found in the LICENSE file. 4 5#ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_CACHE_H_ 6#define CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_CACHE_H_ 7 8namespace enterprise_management { 9class PolicyData; 10} 11 12class PrefService; 13class PrefRegistrySimple; 14 15namespace chromeos { 16 17// There is need (metrics at OOBE stage) to store settings (that normally would 18// go into DeviceSettings storage) before owner has been assigned (hence no key 19// is available). This set of functions serves as a transient storage in that 20// case. 21namespace device_settings_cache { 22// Registers required pref section. 23void RegisterPrefs(PrefRegistrySimple* registry); 24 25// Stores a new policy blob inside the cache stored in |local_state|. 26bool Store(const enterprise_management::PolicyData &policy, 27 PrefService* local_state); 28 29// Retrieves the policy blob from the cache stored in |local_state|. 30bool Retrieve(enterprise_management::PolicyData *policy, 31 PrefService* local_state); 32 33// Call this after owner has been assigned to persist settings into 34// DeviceSettings storage. 35void Finalize(PrefService* local_state); 36} // namespace device_settings_cache 37 38} // namespace chromeos 39 40#endif // CHROME_BROWSER_CHROMEOS_SETTINGS_DEVICE_SETTINGS_CACHE_H_ 41