- add sources.
[platform/framework/web/crosswalk.git] / src / chrome / browser / extensions / api / input / input.h
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.
4
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_
7
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"
11
12 class Profile;
13
14 namespace extensions {
15
16 class VirtualKeyboardPrivateInsertTextFunction : public SyncExtensionFunction {
17  public:
18   DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.insertText",
19                              VIRTUALKEYBOARDPRIVATE_INSERTTEXT);
20
21  protected:
22   virtual ~VirtualKeyboardPrivateInsertTextFunction() {}
23
24   // ExtensionFunction:
25   virtual bool RunImpl() OVERRIDE;
26 };
27
28 class VirtualKeyboardPrivateMoveCursorFunction : public SyncExtensionFunction {
29  public:
30   DECLARE_EXTENSION_FUNCTION("virtualKeyboardPrivate.moveCursor",
31                              VIRTUALKEYBOARDPRIVATE_MOVECURSOR);
32
33  protected:
34   virtual ~VirtualKeyboardPrivateMoveCursorFunction() {}
35
36   // ExtensionFunction.
37   virtual bool RunImpl() OVERRIDE;
38 };
39
40 class VirtualKeyboardPrivateSendKeyEventFunction
41     : public SyncExtensionFunction {
42  public:
43   DECLARE_EXTENSION_FUNCTION(
44       "virtualKeyboardPrivate.sendKeyEvent",
45       VIRTUALKEYBOARDPRIVATE_SENDKEYEVENT);
46
47  protected:
48   virtual ~VirtualKeyboardPrivateSendKeyEventFunction() {}
49
50   // ExtensionFunction:
51   virtual bool RunImpl() OVERRIDE;
52 };
53
54 class VirtualKeyboardPrivateHideKeyboardFunction
55     : public SyncExtensionFunction {
56  public:
57   DECLARE_EXTENSION_FUNCTION(
58       "virtualKeyboardPrivate.hideKeyboard",
59       VIRTUALKEYBOARDPRIVATE_HIDEKEYBOARD);
60
61  protected:
62   virtual ~VirtualKeyboardPrivateHideKeyboardFunction() {}
63
64   // ExtensionFunction:
65   virtual bool RunImpl() OVERRIDE;
66 };
67
68 class VirtualKeyboardPrivateKeyboardLoadedFunction
69     : public SyncExtensionFunction {
70  public:
71   DECLARE_EXTENSION_FUNCTION(
72       "virtualKeyboardPrivate.keyboardLoaded",
73       VIRTUALKEYBOARDPRIVATE_KEYBOARDLOADED);
74
75  protected:
76   virtual ~VirtualKeyboardPrivateKeyboardLoadedFunction() {}
77
78   // ExtensionFunction:
79   virtual bool RunImpl() OVERRIDE;
80 };
81
82 class InputAPI : public ProfileKeyedAPI {
83  public:
84   explicit InputAPI(Profile* profile);
85   virtual ~InputAPI();
86
87   // ProfileKeyedAPI implementation.
88   static ProfileKeyedAPIFactory<InputAPI>* GetFactoryInstance();
89
90  private:
91   friend class ProfileKeyedAPIFactory<InputAPI>;
92
93   // ProfileKeyedAPI implementation.
94   static const char* service_name() {
95     return "InputAPI";
96   }
97   static const bool kServiceIsNULLWhileTesting = true;
98 };
99
100 }  // namespace extensions
101
102 #endif  // CHROME_BROWSER_EXTENSIONS_API_INPUT_INPUT_H_