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 #include "chromeos/dbus/ibus/ibus_engine_service.h" | 5 #include "chromeos/dbus/ibus/ibus_engine_service.h" |
6 | 6 |
7 #include <string> | 7 #include <string> |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/callback.h" | 9 #include "base/callback.h" |
10 #include "chromeos/dbus/ibus/ibus_constants.h" | 10 #include "chromeos/dbus/ibus/ibus_constants.h" |
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 } | 137 } |
138 | 138 |
139 // IBusEngineService override. | 139 // IBusEngineService override. |
140 virtual void UnsetEngine() OVERRIDE { | 140 virtual void UnsetEngine() OVERRIDE { |
141 LOG_IF(ERROR, engine_handler_ == NULL) << "There is no engine."; | 141 LOG_IF(ERROR, engine_handler_ == NULL) << "There is no engine."; |
142 engine_handler_ = NULL; | 142 engine_handler_ = NULL; |
143 } | 143 } |
144 | 144 |
145 // IBusEngineService override. | 145 // IBusEngineService override. |
146 virtual void RegisterProperties( | 146 virtual void RegisterProperties( |
147 const ibus::IBusPropertyList& property_list) OVERRIDE { | 147 const IBusPropertyList& property_list) OVERRIDE { |
148 dbus::Signal signal(ibus::engine::kServiceInterface, | 148 dbus::Signal signal(ibus::engine::kServiceInterface, |
149 ibus::engine::kRegisterPropertiesSignal); | 149 ibus::engine::kRegisterPropertiesSignal); |
150 dbus::MessageWriter writer(&signal); | 150 dbus::MessageWriter writer(&signal); |
151 AppendIBusPropertyList(property_list, &writer); | 151 AppendIBusPropertyList(property_list, &writer); |
152 exported_object_->SendSignal(&signal); | 152 exported_object_->SendSignal(&signal); |
153 } | 153 } |
154 | 154 |
155 // IBusEngineService override. | 155 // IBusEngineService override. |
156 virtual void UpdatePreedit(const ibus::IBusText& ibus_text, | 156 virtual void UpdatePreedit(const IBusText& ibus_text, |
157 uint32 cursor_pos, | 157 uint32 cursor_pos, |
158 bool is_visible, | 158 bool is_visible, |
159 IBusEnginePreeditFocusOutMode mode) OVERRIDE { | 159 IBusEnginePreeditFocusOutMode mode) OVERRIDE { |
160 dbus::Signal signal(ibus::engine::kServiceInterface, | 160 dbus::Signal signal(ibus::engine::kServiceInterface, |
161 ibus::engine::kUpdatePreeditSignal); | 161 ibus::engine::kUpdatePreeditSignal); |
162 dbus::MessageWriter writer(&signal); | 162 dbus::MessageWriter writer(&signal); |
163 AppendIBusText(ibus_text, &writer); | 163 AppendIBusText(ibus_text, &writer); |
164 writer.AppendUint32(cursor_pos); | 164 writer.AppendUint32(cursor_pos); |
165 writer.AppendBool(is_visible); | 165 writer.AppendBool(is_visible); |
166 writer.AppendUint32(static_cast<uint32>(mode)); | 166 writer.AppendUint32(static_cast<uint32>(mode)); |
167 exported_object_->SendSignal(&signal); | 167 exported_object_->SendSignal(&signal); |
168 } | 168 } |
169 | 169 |
170 // IBusEngineService override. | 170 // IBusEngineService override. |
171 virtual void UpdateAuxiliaryText(const ibus::IBusText& ibus_text, | 171 virtual void UpdateAuxiliaryText(const IBusText& ibus_text, |
172 bool is_visible) OVERRIDE { | 172 bool is_visible) OVERRIDE { |
173 dbus::Signal signal(ibus::engine::kServiceInterface, | 173 dbus::Signal signal(ibus::engine::kServiceInterface, |
174 ibus::engine::kUpdateAuxiliaryTextSignal); | 174 ibus::engine::kUpdateAuxiliaryTextSignal); |
175 dbus::MessageWriter writer(&signal); | 175 dbus::MessageWriter writer(&signal); |
176 AppendIBusText(ibus_text, &writer); | 176 AppendIBusText(ibus_text, &writer); |
177 writer.AppendBool(is_visible); | 177 writer.AppendBool(is_visible); |
178 exported_object_->SendSignal(&signal); | 178 exported_object_->SendSignal(&signal); |
179 } | 179 } |
180 | 180 |
181 // IBusEngineService override. | 181 // IBusEngineService override. |
182 virtual void UpdateLookupTable(const ibus::IBusLookupTable& lookup_table, | 182 virtual void UpdateLookupTable(const IBusLookupTable& lookup_table, |
183 bool is_visible) OVERRIDE { | 183 bool is_visible) OVERRIDE { |
184 dbus::Signal signal(ibus::engine::kServiceInterface, | 184 dbus::Signal signal(ibus::engine::kServiceInterface, |
185 ibus::engine::kUpdateLookupTableSignal); | 185 ibus::engine::kUpdateLookupTableSignal); |
186 dbus::MessageWriter writer(&signal); | 186 dbus::MessageWriter writer(&signal); |
187 AppendIBusLookupTable(lookup_table, &writer); | 187 AppendIBusLookupTable(lookup_table, &writer); |
188 writer.AppendBool(is_visible); | 188 writer.AppendBool(is_visible); |
189 exported_object_->SendSignal(&signal); | 189 exported_object_->SendSignal(&signal); |
190 } | 190 } |
191 | 191 |
192 // IBusEngineService override. | 192 // IBusEngineService override. |
193 virtual void UpdateProperty(const ibus::IBusProperty& property) OVERRIDE { | 193 virtual void UpdateProperty(const IBusProperty& property) OVERRIDE { |
194 dbus::Signal signal(ibus::engine::kServiceInterface, | 194 dbus::Signal signal(ibus::engine::kServiceInterface, |
195 ibus::engine::kUpdatePropertySignal); | 195 ibus::engine::kUpdatePropertySignal); |
196 dbus::MessageWriter writer(&signal); | 196 dbus::MessageWriter writer(&signal); |
197 AppendIBusProperty(property, &writer); | 197 AppendIBusProperty(property, &writer); |
198 exported_object_->SendSignal(&signal); | 198 exported_object_->SendSignal(&signal); |
199 } | 199 } |
200 | 200 |
201 // IBusEngineService override. | 201 // IBusEngineService override. |
202 virtual void ForwardKeyEvent(uint32 keyval, uint32 keycode, | 202 virtual void ForwardKeyEvent(uint32 keyval, uint32 keycode, |
203 uint32 state) OVERRIDE { | 203 uint32 state) OVERRIDE { |
(...skipping 10 matching lines...) Expand all Loading... |
214 virtual void RequireSurroundingText() OVERRIDE { | 214 virtual void RequireSurroundingText() OVERRIDE { |
215 dbus::Signal signal(ibus::engine::kServiceInterface, | 215 dbus::Signal signal(ibus::engine::kServiceInterface, |
216 ibus::engine::kRequireSurroundingTextSignal); | 216 ibus::engine::kRequireSurroundingTextSignal); |
217 exported_object_->SendSignal(&signal); | 217 exported_object_->SendSignal(&signal); |
218 } | 218 } |
219 | 219 |
220 virtual void CommitText(const std::string& text) OVERRIDE { | 220 virtual void CommitText(const std::string& text) OVERRIDE { |
221 dbus::Signal signal(ibus::engine::kServiceInterface, | 221 dbus::Signal signal(ibus::engine::kServiceInterface, |
222 ibus::engine::kCommitTextSignal); | 222 ibus::engine::kCommitTextSignal); |
223 dbus::MessageWriter writer(&signal); | 223 dbus::MessageWriter writer(&signal); |
224 ibus::AppendStringAsIBusText(text, &writer); | 224 AppendStringAsIBusText(text, &writer); |
225 exported_object_->SendSignal(&signal); | 225 exported_object_->SendSignal(&signal); |
226 } | 226 } |
227 | 227 |
228 private: | 228 private: |
229 // Handles FocusIn method call from ibus-daemon. | 229 // Handles FocusIn method call from ibus-daemon. |
230 void FocusIn(dbus::MethodCall* method_call, | 230 void FocusIn(dbus::MethodCall* method_call, |
231 dbus::ExportedObject::ResponseSender response_sender) { | 231 dbus::ExportedObject::ResponseSender response_sender) { |
232 if (engine_handler_ == NULL) | 232 if (engine_handler_ == NULL) |
233 return; | 233 return; |
234 engine_handler_->FocusIn(); | 234 engine_handler_->FocusIn(); |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
279 return; | 279 return; |
280 } | 280 } |
281 uint32 property_state = 0; | 281 uint32 property_state = 0; |
282 if (!reader.PopUint32(&property_state)) { | 282 if (!reader.PopUint32(&property_state)) { |
283 LOG(WARNING) << "PropertyActivate called with incorrect parameters: " | 283 LOG(WARNING) << "PropertyActivate called with incorrect parameters: " |
284 << method_call->ToString(); | 284 << method_call->ToString(); |
285 return; | 285 return; |
286 } | 286 } |
287 engine_handler_->PropertyActivate( | 287 engine_handler_->PropertyActivate( |
288 property_name, | 288 property_name, |
289 static_cast<IBusEngineHandlerInterface::IBusPropertyState>( | 289 static_cast<ibus::IBusPropertyState>(property_state)); |
290 property_state)); | |
291 dbus::Response* response = dbus::Response::FromMethodCall(method_call); | 290 dbus::Response* response = dbus::Response::FromMethodCall(method_call); |
292 response_sender.Run(response); | 291 response_sender.Run(response); |
293 } | 292 } |
294 | 293 |
295 // Handles PropertyShow method call from ibus-daemon. | 294 // Handles PropertyShow method call from ibus-daemon. |
296 void PropertyShow(dbus::MethodCall* method_call, | 295 void PropertyShow(dbus::MethodCall* method_call, |
297 dbus::ExportedObject::ResponseSender response_sender) { | 296 dbus::ExportedObject::ResponseSender response_sender) { |
298 if (engine_handler_ == NULL) | 297 if (engine_handler_ == NULL) |
299 return; | 298 return; |
300 dbus::MessageReader reader(method_call); | 299 dbus::MessageReader reader(method_call); |
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
493 // TODO(nona): Implement this. | 492 // TODO(nona): Implement this. |
494 } | 493 } |
495 | 494 |
496 // IBusEngineService override. | 495 // IBusEngineService override. |
497 virtual void UnsetEngine() OVERRIDE { | 496 virtual void UnsetEngine() OVERRIDE { |
498 // TODO(nona): Implement this. | 497 // TODO(nona): Implement this. |
499 } | 498 } |
500 | 499 |
501 // IBusEngineService override. | 500 // IBusEngineService override. |
502 virtual void RegisterProperties( | 501 virtual void RegisterProperties( |
503 const ibus::IBusPropertyList& property_list) OVERRIDE { | 502 const IBusPropertyList& property_list) OVERRIDE { |
504 // TODO(nona): Implement this. | 503 // TODO(nona): Implement this. |
505 } | 504 } |
506 | 505 |
507 // IBusEngineService override. | 506 // IBusEngineService override. |
508 virtual void UpdatePreedit(const ibus::IBusText& ibus_text, | 507 virtual void UpdatePreedit(const IBusText& ibus_text, |
509 uint32 cursor_pos, | 508 uint32 cursor_pos, |
510 bool is_visible, | 509 bool is_visible, |
511 IBusEnginePreeditFocusOutMode mode) OVERRIDE { | 510 IBusEnginePreeditFocusOutMode mode) OVERRIDE { |
512 // TODO(nona): Implement this. | 511 // TODO(nona): Implement this. |
513 } | 512 } |
514 | 513 |
515 // IBusEngineService override. | 514 // IBusEngineService override. |
516 virtual void UpdateAuxiliaryText(const ibus::IBusText& ibus_text, | 515 virtual void UpdateAuxiliaryText(const IBusText& ibus_text, |
517 bool is_visible) OVERRIDE { | 516 bool is_visible) OVERRIDE { |
518 // TODO(nona): Implement this. | 517 // TODO(nona): Implement this. |
519 } | 518 } |
520 | 519 |
521 // IBusEngineService override. | 520 // IBusEngineService override. |
522 virtual void UpdateLookupTable(const ibus::IBusLookupTable& lookup_table, | 521 virtual void UpdateLookupTable(const IBusLookupTable& lookup_table, |
523 bool is_visible) OVERRIDE { | 522 bool is_visible) OVERRIDE { |
524 // TODO(nona): Implement this. | 523 // TODO(nona): Implement this. |
525 } | 524 } |
526 | 525 |
527 // IBusEngineService override. | 526 // IBusEngineService override. |
528 virtual void UpdateProperty(const ibus::IBusProperty& property) OVERRIDE { | 527 virtual void UpdateProperty(const IBusProperty& property) OVERRIDE { |
529 // TODO(nona): Implement this. | 528 // TODO(nona): Implement this. |
530 } | 529 } |
531 | 530 |
532 // IBusEngineService override. | 531 // IBusEngineService override. |
533 virtual void ForwardKeyEvent(uint32 keyval, uint32 keycode, | 532 virtual void ForwardKeyEvent(uint32 keyval, uint32 keycode, |
534 uint32 state) OVERRIDE { | 533 uint32 state) OVERRIDE { |
535 // TODO(nona): Implement this. | 534 // TODO(nona): Implement this. |
536 } | 535 } |
537 | 536 |
538 // IBusEngineService override. | 537 // IBusEngineService override. |
(...skipping 21 matching lines...) Expand all Loading... |
560 DBusClientImplementationType type, | 559 DBusClientImplementationType type, |
561 dbus::Bus* bus, | 560 dbus::Bus* bus, |
562 const dbus::ObjectPath& object_path) { | 561 const dbus::ObjectPath& object_path) { |
563 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) | 562 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) |
564 return new IBusEngineServiceImpl(bus, object_path); | 563 return new IBusEngineServiceImpl(bus, object_path); |
565 else | 564 else |
566 return new IBusEngineServiceDaemonlessImpl(); | 565 return new IBusEngineServiceDaemonlessImpl(); |
567 } | 566 } |
568 | 567 |
569 } // namespace chromeos | 568 } // namespace chromeos |
OLD | NEW |