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 "chrome/browser/extensions/api/profile_keyed_api_factory.h"
10 #include "extensions/browser/extension_function.h"
14 namespace extensions {
16 class VirtualKeyboardPrivateInsertTextFunction : public SyncExtensionFunction {
18 DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.insertText",
19 VIRTUALKEYBOARDPRIVATE_INSERTTEXT);
22 virtual ~VirtualKeyboardPrivateInsertTextFunction() {}
25 virtual bool RunImpl() OVERRIDE;
28 class VirtualKeyboardPrivateMoveCursorFunction : public SyncExtensionFunction {
30 DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.moveCursor",
31 VIRTUALKEYBOARDPRIVATE_MOVECURSOR);
34 virtual ~VirtualKeyboardPrivateMoveCursorFunction() {}
37 virtual bool RunImpl() OVERRIDE;
40 class VirtualKeyboardPrivateSendKeyEventFunction
41 : public SyncExtensionFunction {
43 DECLARE_EXTENSION_FUNCTION(
44 "virtualKeyboardPrivate.sendKeyEvent",
45 VIRTUALKEYBOARDPRIVATE_SENDKEYEVENT);
48 virtual ~VirtualKeyboardPrivateSendKeyEventFunction() {}
51 virtual bool RunImpl() OVERRIDE;
54 class VirtualKeyboardPrivateHideKeyboardFunction
55 : public SyncExtensionFunction {
57 DECLARE_EXTENSION_FUNCTION(
58 "virtualKeyboardPrivate.hideKeyboard",
59 VIRTUALKEYBOARDPRIVATE_HIDEKEYBOARD);
62 virtual ~VirtualKeyboardPrivateHideKeyboardFunction() {}
65 virtual bool RunImpl() OVERRIDE;
68 class VirtualKeyboardPrivateLockKeyboardFunction
69 : public SyncExtensionFunction {
71 DECLARE_EXTENSION_FUNCTION(
72 "virtualKeyboardPrivate.lockKeyboard",
73 VIRTUALKEYBOARDPRIVATE_LOCKKEYBOARD);
76 virtual ~VirtualKeyboardPrivateLockKeyboardFunction() {}
79 virtual bool RunImpl() OVERRIDE;
82 class VirtualKeyboardPrivateKeyboardLoadedFunction
83 : public SyncExtensionFunction {
85 DECLARE_EXTENSION_FUNCTION(
86 "virtualKeyboardPrivate.keyboardLoaded",
87 VIRTUALKEYBOARDPRIVATE_KEYBOARDLOADED);
90 virtual ~VirtualKeyboardPrivateKeyboardLoadedFunction() {}
93 virtual bool RunImpl() OVERRIDE;
96 class VirtualKeyboardPrivateGetKeyboardConfigFunction
97 : public SyncExtensionFunction {
99 DECLARE_EXTENSION_FUNCTION(
100 "virtualKeyboardPrivate.getKeyboardConfig",
101 VIRTUALKEYBOARDPRIVATE_GETKEYBOARDCONFIG);
104 virtual ~VirtualKeyboardPrivateGetKeyboardConfigFunction() {}
106 // ExtensionFunction:
107 virtual bool RunImpl() OVERRIDE;
110 class InputAPI : public ProfileKeyedAPI {
112 explicit InputAPI(Profile* profile);
115 // ProfileKeyedAPI implementation.
116 static ProfileKeyedAPIFactory<InputAPI>* GetFactoryInstance();
119 friend class ProfileKeyedAPIFactory<InputAPI>;
121 // ProfileKeyedAPI implementation.
122 static const char* service_name() {
125 static const bool kServiceIsNULLWhileTesting = true;
128 } // namespace extensions
130 #endif // CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_