extension_preference_api.h revision dc0f95d653279beabeb9817299e2902918ba123e
1dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Copyright (c) 2011 The Chromium Authors. All rights reserved. 2dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// Use of this source code is governed by a BSD-style license that can be 3dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen// found in the LICENSE file. 4dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 5dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#ifndef CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFERENCE_API_H__ 6dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#define CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFERENCE_API_H__ 7dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#pragma once 8dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 9dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include <string> 10dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 11dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#include "chrome/browser/extensions/extension_function.h" 12dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 13dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass GetPreferenceFunction : public SyncExtensionFunction { 14dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public: 15dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual ~GetPreferenceFunction(); 16dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool RunImpl(); 17dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen DECLARE_EXTENSION_FUNCTION_NAME("experimental.preferences.get") 18dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 19dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen private: 20dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // Returns a string constant (defined in API) indicating the level of 21dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen // control this extension has on the specified preference. 22dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen const char* GetLevelOfControl(const std::string& browser_pref, 23dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen bool incognito) const; 24dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}; 25dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 26dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass SetPreferenceFunction : public SyncExtensionFunction { 27dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public: 28dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual ~SetPreferenceFunction(); 29dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool RunImpl(); 30dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen DECLARE_EXTENSION_FUNCTION_NAME("experimental.preferences.set") 31dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}; 32dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 33dc0f95d653279beabeb9817299e2902918ba123eKristian Monsenclass ClearPreferenceFunction : public SyncExtensionFunction { 34dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen public: 35dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual ~ClearPreferenceFunction(); 36dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen virtual bool RunImpl(); 37dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen DECLARE_EXTENSION_FUNCTION_NAME("experimental.preferences.clear") 38dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen}; 39dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen 40dc0f95d653279beabeb9817299e2902918ba123eKristian Monsen#endif // CHROME_BROWSER_EXTENSIONS_EXTENSION_PREFERENCE_API_H__ 41