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 class IBusInputContextClient; |
23 | 23 |
24 // TODO(nona): Remove ibus namespace after complete libibus removal. | |
25 namespace ibus { | |
26 class IBusLookupTable; | 24 class IBusLookupTable; |
27 class IBusProperty; | 25 class IBusProperty; |
28 class IBusText; | 26 class IBusText; |
29 typedef ScopedVector<IBusProperty> IBusPropertyList; | 27 typedef ScopedVector<IBusProperty> IBusPropertyList; |
30 | 28 |
31 // A interface to handle the candidate window related method call. | 29 // A interface to handle the candidate window related method call. |
32 class CHROMEOS_EXPORT IBusPanelCandidateWindowHandlerInterface { | 30 class CHROMEOS_EXPORT IBusPanelCandidateWindowHandlerInterface { |
33 public: | 31 public: |
34 virtual ~IBusPanelCandidateWindowHandlerInterface() {} | 32 virtual ~IBusPanelCandidateWindowHandlerInterface() {} |
35 | 33 |
36 // Called when the IME updates the lookup table. | 34 // Called when the IME updates the lookup table. |
37 virtual void UpdateLookupTable(const ibus::IBusLookupTable& table, | 35 virtual void UpdateLookupTable(const IBusLookupTable& table, |
38 bool visible) = 0; | 36 bool visible) = 0; |
39 | 37 |
40 // Called when the IME hides the lookup table. | 38 // Called when the IME hides the lookup table. |
41 virtual void HideLookupTable() = 0; | 39 virtual void HideLookupTable() = 0; |
42 | 40 |
43 // Called when the IME updates the auxiliary text. The |text| is given in | 41 // Called when the IME updates the auxiliary text. The |text| is given in |
44 // UTF-8 encoding. | 42 // UTF-8 encoding. |
45 virtual void UpdateAuxiliaryText(const std::string& text, bool visible) = 0; | 43 virtual void UpdateAuxiliaryText(const std::string& text, bool visible) = 0; |
46 | 44 |
47 // Called when the IME hides the auxiliary text. | 45 // Called when the IME hides the auxiliary text. |
(...skipping 14 matching lines...) Expand all Loading... |
62 protected: | 60 protected: |
63 IBusPanelCandidateWindowHandlerInterface() {} | 61 IBusPanelCandidateWindowHandlerInterface() {} |
64 }; | 62 }; |
65 | 63 |
66 // A interface to handle the property related method call. | 64 // A interface to handle the property related method call. |
67 class CHROMEOS_EXPORT IBusPanelPropertyHandlerInterface { | 65 class CHROMEOS_EXPORT IBusPanelPropertyHandlerInterface { |
68 public: | 66 public: |
69 virtual ~IBusPanelPropertyHandlerInterface() {} | 67 virtual ~IBusPanelPropertyHandlerInterface() {} |
70 | 68 |
71 // Called when a new property is registered. | 69 // Called when a new property is registered. |
72 virtual void RegisterProperties(const ibus::IBusPropertyList& properties) = 0; | 70 virtual void RegisterProperties(const IBusPropertyList& properties) = 0; |
73 | 71 |
74 // Called when current property is updated. | 72 // Called when current property is updated. |
75 virtual void UpdateProperty(const ibus::IBusProperty& property) = 0; | 73 virtual void UpdateProperty(const IBusProperty& property) = 0; |
76 | 74 |
77 protected: | 75 protected: |
78 IBusPanelPropertyHandlerInterface() {} | 76 IBusPanelPropertyHandlerInterface() {} |
79 }; | 77 }; |
80 | 78 |
81 // A class to make the actual DBus method call handling for IBusPanel service. | 79 // A class to make the actual DBus method call handling for IBusPanel service. |
82 // The exported method call is used by ibus-daemon to process candidate window | 80 // The exported method call is used by ibus-daemon to process candidate window |
83 // related event, because Chrome works as candidate window. This class is | 81 // related event, because Chrome works as candidate window. This class is |
84 // managed by DBusThreadManager. | 82 // managed by DBusThreadManager. |
85 class CHROMEOS_EXPORT IBusPanelService { | 83 class CHROMEOS_EXPORT IBusPanelService { |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
125 IBusInputContextClient* input_context); | 123 IBusInputContextClient* input_context); |
126 | 124 |
127 protected: | 125 protected: |
128 // Create() should be used instead. | 126 // Create() should be used instead. |
129 IBusPanelService(); | 127 IBusPanelService(); |
130 | 128 |
131 private: | 129 private: |
132 DISALLOW_COPY_AND_ASSIGN(IBusPanelService); | 130 DISALLOW_COPY_AND_ASSIGN(IBusPanelService); |
133 }; | 131 }; |
134 | 132 |
135 } // namespace ibus | |
136 } // namespace chromeos | 133 } // namespace chromeos |
137 | 134 |
138 #endif // CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ | 135 #endif // CHROMEOS_DBUS_IBUS_IBUS_PANEL_SERVICE_H_ |
OLD | NEW |