| 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 |