// Copyright (c) 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_SCOPED_PREFS_H_
#define CHROME_BROWSER_EXTENSIONS_EXTENSION_SCOPED_PREFS_H_
namespace extensions {
class ExtensionScopedPrefs {
public:
ExtensionScopedPrefs() {}
~ExtensionScopedPrefs() {}
// Sets the pref |key| for extension |id| to |value|.
virtual void UpdateExtensionPref(const std::string& id,
const std::string& key,
base::Value* value) = 0;
// Deletes the pref dictionary for extension |id|.
virtual void DeleteExtensionPrefs(const std::string& id) = 0;
// Reads a boolean pref |pref_key| from extension with id |extension_id|.
virtual bool ReadPrefAsBoolean(const std::string& extension_id,
const std::string& pref_key,
bool* out_value) const = 0;
// Reads an integer pref |pref_key| from extension with id |extension_id|.
virtual bool ReadPrefAsInteger(const std::string& extension_id,
const std::string& pref_key,
int* out_value) const = 0;
// Reads a string pref |pref_key| from extension with id |extension_id|.
virtual bool ReadPrefAsString(const std::string& extension_id,
const std::string& pref_key,
std::string* out_value) const = 0;
// Reads a list pref |pref_key| from extension with id |extension_id|.
virtual bool ReadPrefAsList(const std::string& extension_id,
const std::string& pref_key,
const base::ListValue** out_value) const = 0;
// Reads a dictionary pref |pref_key| from extension with id |extension_id|.
virtual bool ReadPrefAsDictionary(
const std::string& extension_id,
const std::string& pref_key,
const base::DictionaryValue** out_value) const = 0;
// Returns true if the prefs contain an entry for an extension with id
// |extension_id|.
virtual bool HasPrefForExtension(const std::string& extension_id) const = 0;
};
} // namespace extensions
#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_SCOPED_PREFS_H_