1 // Copyright 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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_
8 #include "base/compiler_specific.h"
9 #include "extensions/browser/browser_context_keyed_api_factory.h"
10 #include "extensions/browser/extension_function.h"
16 namespace extensions {
18 class VirtualKeyboardPrivateInsertTextFunction : public SyncExtensionFunction {
20 DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.insertText",
21 VIRTUALKEYBOARDPRIVATE_INSERTTEXT);
24 virtual ~VirtualKeyboardPrivateInsertTextFunction() {}
27 virtual bool RunSync() OVERRIDE;
30 class VirtualKeyboardPrivateMoveCursorFunction : public SyncExtensionFunction {
32 DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.moveCursor",
33 VIRTUALKEYBOARDPRIVATE_MOVECURSOR);
36 virtual ~VirtualKeyboardPrivateMoveCursorFunction() {}
39 virtual bool RunSync() OVERRIDE;
42 class VirtualKeyboardPrivateSendKeyEventFunction
43 : public SyncExtensionFunction {
45 DECLARE_EXTENSION_FUNCTION(
46 "virtualKeyboardPrivate.sendKeyEvent",
47 VIRTUALKEYBOARDPRIVATE_SENDKEYEVENT);
50 virtual ~VirtualKeyboardPrivateSendKeyEventFunction() {}
53 virtual bool RunSync() OVERRIDE;
56 class VirtualKeyboardPrivateHideKeyboardFunction
57 : public SyncExtensionFunction {
59 DECLARE_EXTENSION_FUNCTION(
60 "virtualKeyboardPrivate.hideKeyboard",
61 VIRTUALKEYBOARDPRIVATE_HIDEKEYBOARD);
64 virtual ~VirtualKeyboardPrivateHideKeyboardFunction() {}
67 virtual bool RunSync() OVERRIDE;
70 class VirtualKeyboardPrivateLockKeyboardFunction
71 : public SyncExtensionFunction {
73 DECLARE_EXTENSION_FUNCTION(
74 "virtualKeyboardPrivate.lockKeyboard",
75 VIRTUALKEYBOARDPRIVATE_LOCKKEYBOARD);
78 virtual ~VirtualKeyboardPrivateLockKeyboardFunction() {}
81 virtual bool RunSync() OVERRIDE;
84 class VirtualKeyboardPrivateKeyboardLoadedFunction
85 : public SyncExtensionFunction {
87 DECLARE_EXTENSION_FUNCTION(
88 "virtualKeyboardPrivate.keyboardLoaded",
89 VIRTUALKEYBOARDPRIVATE_KEYBOARDLOADED);
92 virtual ~VirtualKeyboardPrivateKeyboardLoadedFunction() {}
95 virtual bool RunSync() OVERRIDE;
98 class VirtualKeyboardPrivateGetKeyboardConfigFunction
99 : public SyncExtensionFunction {
101 DECLARE_EXTENSION_FUNCTION(
102 "virtualKeyboardPrivate.getKeyboardConfig",
103 VIRTUALKEYBOARDPRIVATE_GETKEYBOARDCONFIG);
106 virtual ~VirtualKeyboardPrivateGetKeyboardConfigFunction() {}
108 // ExtensionFunction:
109 virtual bool RunSync() OVERRIDE;
112 class VirtualKeyboardPrivateOpenSettingsFunction
113 : public SyncExtensionFunction {
115 DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.openSettings",
116 VIRTUALKEYBOARDPRIVATE_OPENSETTINGS);
119 virtual ~VirtualKeyboardPrivateOpenSettingsFunction() {}
121 // ExtensionFunction:
122 virtual bool RunSync() OVERRIDE;
126 class InputAPI : public BrowserContextKeyedAPI {
128 explicit InputAPI(content::BrowserContext* context);
131 // BrowserContextKeyedAPI implementation.
132 static BrowserContextKeyedAPIFactory<InputAPI>* GetFactoryInstance();
135 friend class BrowserContextKeyedAPIFactory<InputAPI>;
137 // BrowserContextKeyedAPI implementation.
138 static const char* service_name() {
141 static const bool kServiceIsNULLWhileTesting = true;
144 } // namespace extensions
146 #endif // CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_