1 // Copyright 2013 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_
6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_
8 #include "base/compiler_specific.h"
9 #include "chrome/browser/pref_service_flags_storage.h"
15 namespace about_flags {
17 // Implements the FlagsStorage interface for the owner flags. It inherits from
18 // PrefServiceFlagsStorage but extends it with storing the flags in the signed
19 // settings as well which effectively applies them to the login session as well.
20 class OwnerFlagsStorage : public ::about_flags::PrefServiceFlagsStorage {
22 OwnerFlagsStorage(PrefService *prefs, CrosSettings *cros_settings);
23 virtual ~OwnerFlagsStorage();
25 virtual bool SetFlags(const std::set<std::string>& flags) OVERRIDE;
28 CrosSettings* cros_settings_;
31 } // namespace about_flags
32 } // namespace chromeos
34 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_