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 11 namespace 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. 16 class 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