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 "chrome/browser/extensions/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 VirtualKeyboardPrivateKeyboardLoadedFunction
69 : public SyncExtensionFunction {
71 DECLARE_EXTENSION_FUNCTION(
72 "virtualKeyboardPrivate.keyboardLoaded",
73 VIRTUALKEYBOARDPRIVATE_KEYBOARDLOADED);
76 virtual ~VirtualKeyboardPrivateKeyboardLoadedFunction() {}
79 virtual bool RunImpl() OVERRIDE;
82 class InputAPI : public ProfileKeyedAPI {
84 explicit InputAPI(Profile* profile);
87 // ProfileKeyedAPI implementation.
88 static ProfileKeyedAPIFactory<InputAPI>* GetFactoryInstance();
91 friend class ProfileKeyedAPIFactory<InputAPI>;
93 // ProfileKeyedAPI implementation.
94 static const char* service_name() {
97 static const bool kServiceIsNULLWhileTesting = true;
100 } // namespace extensions
102 #endif // CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_