Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / system_private / system_private_api.h
1 // Copyright (c) 2012 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 // This extension API contains system-wide preferences and functions that shall
6 // be only available to component extensions.
7
8 #ifndef CHROME_BROWSER_EXTENSIONS_API_SYSTEM_PRIVATE_SYSTEM_PRIVATE_API_H_
9 #define CHROME_BROWSER_EXTENSIONS_API_SYSTEM_PRIVATE_SYSTEM_PRIVATE_API_H_
10
11 #include "chrome/browser/extensions/chrome_extension_function.h"
12
13 namespace extensions {
14
15 class SystemPrivateGetIncognitoModeAvailabilityFunction
16     : public ChromeSyncExtensionFunction {
17  public:
18   DECLARE_EXTENSION_FUNCTION("systemPrivate.getIncognitoModeAvailability",
19                              SYSTEMPRIVATE_GETINCOGNITOMODEAVAILABILITY)
20
21  protected:
22   ~SystemPrivateGetIncognitoModeAvailabilityFunction() override {}
23
24   // ExtensionFunction:
25   bool RunSync() override;
26 };
27
28 // API function which returns the status of system update.
29 class SystemPrivateGetUpdateStatusFunction
30     : public ChromeSyncExtensionFunction {
31  public:
32   DECLARE_EXTENSION_FUNCTION("systemPrivate.getUpdateStatus",
33                              SYSTEMPRIVATE_GETUPDATESTATUS)
34
35  protected:
36   ~SystemPrivateGetUpdateStatusFunction() override {}
37
38   // ExtensionFunction:
39   bool RunSync() override;
40 };
41
42 // API function which returns the Google API key.
43 class SystemPrivateGetApiKeyFunction : public SyncExtensionFunction {
44  public:
45   DECLARE_EXTENSION_FUNCTION("systemPrivate.getApiKey", SYSTEMPRIVATE_GETAPIKEY)
46
47  protected:
48   ~SystemPrivateGetApiKeyFunction() override {}
49
50   // ExtensionFunction:
51   bool RunSync() override;
52 };
53
54 // Dispatches systemPrivate.onBrightnessChanged event for extensions.
55 void DispatchBrightnessChangedEvent(int brightness, bool user_initiated);
56
57 // Dispatches systemPrivate.onVolumeChanged event for extensions.
58 void DispatchVolumeChangedEvent(double volume, bool is_volume_muted);
59
60 // Dispatches systemPrivate.onScreenChanged event for extensions.
61 void DispatchScreenUnlockedEvent();
62
63 // Dispatches systemPrivate.onWokeUp event for extensions.
64 void DispatchWokeUpEvent();
65
66 }  // namespace extensions
67
68 #endif  // CHROME_BROWSER_EXTENSIONS_API_SYSTEM_PRIVATE_SYSTEM_PRIVATE_API_H_