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