OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ | 5 #ifndef CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ |
6 #define CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ | 6 #define CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/callback.h" | 10 #include "base/callback.h" |
11 #include "base/memory/scoped_vector.h" | 11 #include "base/memory/scoped_vector.h" |
12 #include "chromeos/chromeos_export.h" | 12 #include "chromeos/chromeos_export.h" |
13 #include "chromeos/dbus/dbus_client_implementation_type.h" | 13 #include "chromeos/dbus/dbus_client_implementation_type.h" |
14 #include "chromeos/dbus/ibus/ibus_constants.h" | 14 #include "chromeos/dbus/ibus/ibus_constants.h" |
15 | 15 |
16 namespace dbus { | 16 namespace dbus { |
17 class Bus; | 17 class Bus; |
18 class ObjectPath; | 18 class ObjectPath; |
19 } // namespace dbus | 19 } // namespace dbus |
20 | 20 |
21 namespace chromeos { | 21 namespace chromeos { |
| 22 class IBusInputContextClient; |
22 | 23 |
23 // TODO(nona): Remove ibus namespace after complete libibus removal. | 24 // TODO(nona): Remove ibus namespace after complete libibus removal. |
24 namespace ibus { | 25 namespace ibus { |
25 class IBusLookupTable; | 26 class IBusLookupTable; |
26 class IBusProperty; | 27 class IBusProperty; |
27 class IBusText; | 28 class IBusText; |
28 typedef ScopedVector<IBusProperty> IBusPropertyList; | 29 typedef ScopedVector<IBusProperty> IBusPropertyList; |
29 | 30 |
30 // A interface to handle the candidate window related method call. | 31 // A interface to handle the candidate window related method call. |
31 class CHROMEOS_EXPORT IBusPanelCandidateWindowHandlerInterface { | 32 class CHROMEOS_EXPORT IBusPanelCandidateWindowHandlerInterface { |
(...skipping 15 matching lines...) Expand all Loading... |
47 virtual void HideAuxiliaryText() = 0; | 48 virtual void HideAuxiliaryText() = 0; |
48 | 49 |
49 // Called when the IME updates the preedit text. The |text| is given in | 50 // Called when the IME updates the preedit text. The |text| is given in |
50 // UTF-8 encoding. | 51 // UTF-8 encoding. |
51 virtual void UpdatePreeditText(const std::string& text, uint32 cursor_pos, | 52 virtual void UpdatePreeditText(const std::string& text, uint32 cursor_pos, |
52 bool visible) = 0; | 53 bool visible) = 0; |
53 | 54 |
54 // Called when the IME hides the preedit text. | 55 // Called when the IME hides the preedit text. |
55 virtual void HidePreeditText() = 0; | 56 virtual void HidePreeditText() = 0; |
56 | 57 |
| 58 // TODO(nona): Introduce SetCursorLocation function. |
| 59 |
57 protected: | 60 protected: |
58 IBusPanelCandidateWindowHandlerInterface() {} | 61 IBusPanelCandidateWindowHandlerInterface() {} |
59 }; | 62 }; |
60 | 63 |
61 // A interface to handle the property related method call. | 64 // A interface to handle the property related method call. |
62 class CHROMEOS_EXPORT IBusPanelPropertyHandlerInterface { | 65 class CHROMEOS_EXPORT IBusPanelPropertyHandlerInterface { |
63 public: | 66 public: |
64 virtual ~IBusPanelPropertyHandlerInterface() {} | 67 virtual ~IBusPanelPropertyHandlerInterface() {} |
65 | 68 |
66 // Called when a new property is registered. | 69 // Called when a new property is registered. |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
105 virtual void CursorDown() = 0; | 108 virtual void CursorDown() = 0; |
106 | 109 |
107 // Emits PageUp signal. | 110 // Emits PageUp signal. |
108 virtual void PageUp() = 0; | 111 virtual void PageUp() = 0; |
109 | 112 |
110 // Emits PageDown signal. | 113 // Emits PageDown signal. |
111 virtual void PageDown() = 0; | 114 virtual void PageDown() = 0; |
112 | 115 |
113 // Factory function, creates a new instance and returns ownership. | 116 // Factory function, creates a new instance and returns ownership. |
114 // For normal usage, access the singleton via DBusThreadManager::Get(). | 117 // For normal usage, access the singleton via DBusThreadManager::Get(). |
| 118 // IBusPanelService does not take an ownership of |input_context|, so caller |
| 119 // should release it. |
115 static CHROMEOS_EXPORT IBusPanelService* Create( | 120 static CHROMEOS_EXPORT IBusPanelService* Create( |
116 DBusClientImplementationType type, | 121 DBusClientImplementationType type, |
117 dbus::Bus* bus); | 122 dbus::Bus* bus, |
| 123 IBusInputContextClient* input_context); |
118 | 124 |
119 protected: | 125 protected: |
120 // Create() should be used instead. | 126 // Create() should be used instead. |
121 IBusPanelService(); | 127 IBusPanelService(); |
122 | 128 |
123 private: | 129 private: |
124 DISALLOW_COPY_AND_ASSIGN(IBusPanelService); | 130 DISALLOW_COPY_AND_ASSIGN(IBusPanelService); |
125 }; | 131 }; |
126 | 132 |
127 } // namespace ibus | 133 } // namespace ibus |
128 } // namespace chromeos | 134 } // namespace chromeos |
129 | 135 |
130 #endif // CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ | 136 #endif // CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ |
OLD | NEW |