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_FLAGS_STORAGE_H_
6#define CHROME_BROWSER_FLAGS_STORAGE_H_
7
8#include <set>
9#include <string>
10
11namespace about_flags {
12
13// Base class for flags storage implementations.  Enables the about_flags
14// functions to store and retrieve data from various sources like PrefService
15// and CrosSettings.
16class FlagsStorage {
17 public:
18  virtual ~FlagsStorage() {}
19
20  // Retrieves the flags as a set of strings.
21  virtual std::set<std::string> GetFlags() = 0;
22  // Stores the |flags| and returns true on success.
23  virtual bool SetFlags(const std::set<std::string>& flags) = 0;
24};
25
26}  // namespace about_flags
27
28#endif  // CHROME_BROWSER_FLAGS_STORAGE_H_
29