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. 4 5 #ifndef CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_ 6 #define CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_ 7 8 #include "base/compiler_specific.h" 9 #include "chrome/browser/pref_service_flags_storage.h" 10 11 namespace chromeos { 12 13 class CrosSettings; 14 15 namespace about_flags { 16 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 { 21 public: 22 OwnerFlagsStorage(PrefService *prefs, CrosSettings *cros_settings); 23 virtual ~OwnerFlagsStorage(); 24 25 virtual bool SetFlags(const std::set<std::string>& flags) OVERRIDE; 26 27 private: 28 CrosSettings* cros_settings_; 29 }; 30 31 } // namespace about_flags 32 } // namespace chromeos 33 34 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_ 35