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_PREF_SERVICE_FLAGS_STORAGE_H_
6#define CHROME_BROWSER_PREF_SERVICE_FLAGS_STORAGE_H_
7
8#include "base/compiler_specific.h"
9#include "chrome/browser/flags_storage.h"
10
11class PrefService;
12
13namespace about_flags {
14
15// Implements the FlagsStorage interface with a PrefService backend.
16// This is the implementation used on desktop Chrome for all users.
17class PrefServiceFlagsStorage : public FlagsStorage {
18 public:
19  explicit PrefServiceFlagsStorage(PrefService *prefs);
20  virtual ~PrefServiceFlagsStorage();
21
22  virtual std::set<std::string> GetFlags() OVERRIDE;
23  virtual bool SetFlags(const std::set<std::string>& flags) OVERRIDE;
24
25 private:
26  PrefService* prefs_;
27};
28
29}  // namespace about_flags
30
31#endif  // CHROME_BROWSER_PREF_SERVICE_FLAGS_STORAGE_H_
32