Merge Chromium + Blink git repositories
[chromium-blink-merge.git] / chrome / browser / chromeos / extensions / info_private_api.h
blob7c232eb9242d6f53729cb4c1e2569e4f17978128
1 // Copyright (c) 2011 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.
5 #ifndef CHROME_BROWSER_CHROMEOS_EXTENSIONS_INFO_PRIVATE_API_H_
6 #define CHROME_BROWSER_CHROMEOS_EXTENSIONS_INFO_PRIVATE_API_H_
8 #include <string>
10 #include "base/compiler_specific.h"
11 #include "extensions/browser/extension_function.h"
13 namespace base {
14 class Value;
17 namespace extensions {
19 class ChromeosInfoPrivateGetFunction : public AsyncExtensionFunction {
20 public:
21 ChromeosInfoPrivateGetFunction();
23 protected:
24 ~ChromeosInfoPrivateGetFunction() override;
26 bool RunAsync() override;
28 private:
29 // Returns a newly allocate value, or null.
30 base::Value* GetValue(const std::string& property_name);
32 // Gets boolean |pref| value from PrefService.
33 bool GetBooleanPrefValue(const char* pref);
35 DECLARE_EXTENSION_FUNCTION("chromeosInfoPrivate.get", CHROMEOSINFOPRIVATE_GET)
38 class ChromeosInfoPrivateSetFunction : public SyncExtensionFunction {
39 public:
40 ChromeosInfoPrivateSetFunction();
42 protected:
43 ~ChromeosInfoPrivateSetFunction() override;
45 bool RunSync() override;
47 private:
48 DECLARE_EXTENSION_FUNCTION("chromeosInfoPrivate.set", CHROMEOSINFOPRIVATE_SET)
52 } // namespace extensions
54 #endif // CHROME_BROWSER_CHROMEOS_EXTENSIONS_INFO_PRIVATE_API_H_