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: ~SystemPrivateGetIncognitoModeAvailabilityFunction()22 virtual ~SystemPrivateGetIncognitoModeAvailabilityFunction() {} 23 24 // ExtensionFunction: 25 virtual 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: ~SystemPrivateGetUpdateStatusFunction()36 virtual ~SystemPrivateGetUpdateStatusFunction() {} 37 38 // ExtensionFunction: 39 virtual 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: ~SystemPrivateGetApiKeyFunction()48 virtual ~SystemPrivateGetApiKeyFunction() {} 49 50 // ExtensionFunction: 51 virtual 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_ 69