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"
12 class OwnerSettingsService
;
17 namespace about_flags
{
19 // Implements the FlagsStorage interface for the owner flags. It inherits from
20 // PrefServiceFlagsStorage but extends it with storing the flags in the signed
21 // settings as well which effectively applies them to the login session as well.
22 class OwnerFlagsStorage
: public ::about_flags::PrefServiceFlagsStorage
{
24 OwnerFlagsStorage(PrefService
* prefs
,
25 ownership::OwnerSettingsService
* owner_settings_service
);
26 ~OwnerFlagsStorage() override
;
28 bool SetFlags(const std::set
<std::string
>& flags
) override
;
31 ownership::OwnerSettingsService
* owner_settings_service_
;
34 } // namespace about_flags
35 } // namespace chromeos
37 #endif // CHROME_BROWSER_CHROMEOS_SETTINGS_OWNER_FLAGS_STORAGE_H_