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_input_context_client.h" | 5 #include "chromeos/dbus/ibus/ibus_input_context_client.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 165 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
176 proxy_->CallMethodWithErrorCallback( | 176 proxy_->CallMethodWithErrorCallback( |
177 &method_call, | 177 &method_call, |
178 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 178 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
179 base::Bind(&IBusInputContextClientImpl::OnProcessKeyEvent, | 179 base::Bind(&IBusInputContextClientImpl::OnProcessKeyEvent, |
180 callback, | 180 callback, |
181 error_callback), | 181 error_callback), |
182 base::Bind(&IBusInputContextClientImpl::OnProecessKeyEventFail, | 182 base::Bind(&IBusInputContextClientImpl::OnProecessKeyEventFail, |
183 error_callback)); | 183 error_callback)); |
184 } | 184 } |
185 | 185 |
| 186 // IBusInputContextClient override. |
| 187 void SetSurroundingText(const std::string& text, |
| 188 uint32 start_index, |
| 189 uint32 end_index) OVERRIDE { |
| 190 dbus::MethodCall method_call(ibus::input_context::kServiceInterface, |
| 191 ibus::input_context::kSetSurroundingText); |
| 192 dbus::MessageWriter writer(&method_call); |
| 193 ibus::AppendStringAsIBusText(text, &writer); |
| 194 writer.AppendUint32(start_index); |
| 195 writer.AppendUint32(end_index); |
| 196 CallNoResponseMethod(&method_call, |
| 197 ibus::input_context::kSetSurroundingText); |
| 198 } |
| 199 |
186 private: | 200 private: |
187 void CallNoResponseMethod(dbus::MethodCall* method_call, | 201 void CallNoResponseMethod(dbus::MethodCall* method_call, |
188 const std::string& method_name) { | 202 const std::string& method_name) { |
189 proxy_->CallMethodWithErrorCallback( | 203 proxy_->CallMethodWithErrorCallback( |
190 method_call, | 204 method_call, |
191 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, | 205 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
192 base::Bind(&IBusInputContextClientImpl::DefaultCallback, | 206 base::Bind(&IBusInputContextClientImpl::DefaultCallback, |
193 method_name), | 207 method_name), |
194 base::Bind(&IBusInputContextClientImpl::DefaultErrorCallback, | 208 base::Bind(&IBusInputContextClientImpl::DefaultErrorCallback, |
195 method_name)); | 209 method_name)); |
(...skipping 207 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
403 virtual void Reset() OVERRIDE {} | 417 virtual void Reset() OVERRIDE {} |
404 virtual void SetCursorLocation(int32 x, int32 y, int32 w, int32 h) OVERRIDE {} | 418 virtual void SetCursorLocation(int32 x, int32 y, int32 w, int32 h) OVERRIDE {} |
405 virtual void ProcessKeyEvent( | 419 virtual void ProcessKeyEvent( |
406 uint32 keyval, | 420 uint32 keyval, |
407 uint32 keycode, | 421 uint32 keycode, |
408 uint32 state, | 422 uint32 state, |
409 const ProcessKeyEventCallback& callback, | 423 const ProcessKeyEventCallback& callback, |
410 const ErrorCallback& error_callback) OVERRIDE { | 424 const ErrorCallback& error_callback) OVERRIDE { |
411 callback.Run(false); | 425 callback.Run(false); |
412 } | 426 } |
| 427 void SetSurroundingText(const std::string& text, |
| 428 uint32 start_index, |
| 429 uint32 end_index) OVERRIDE {} |
413 | 430 |
414 private: | 431 private: |
415 DISALLOW_COPY_AND_ASSIGN(IBusInputContextClientStubImpl); | 432 DISALLOW_COPY_AND_ASSIGN(IBusInputContextClientStubImpl); |
416 }; | 433 }; |
417 | 434 |
418 } // namespace | 435 } // namespace |
419 | 436 |
420 /////////////////////////////////////////////////////////////////////////////// | 437 /////////////////////////////////////////////////////////////////////////////// |
421 // IBusInputContextClient | 438 // IBusInputContextClient |
422 | 439 |
423 IBusInputContextClient::IBusInputContextClient() {} | 440 IBusInputContextClient::IBusInputContextClient() {} |
424 | 441 |
425 IBusInputContextClient::~IBusInputContextClient() {} | 442 IBusInputContextClient::~IBusInputContextClient() {} |
426 | 443 |
427 // static | 444 // static |
428 IBusInputContextClient* IBusInputContextClient::Create( | 445 IBusInputContextClient* IBusInputContextClient::Create( |
429 DBusClientImplementationType type) { | 446 DBusClientImplementationType type) { |
430 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) { | 447 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) { |
431 return new IBusInputContextClientImpl(); | 448 return new IBusInputContextClientImpl(); |
432 } | 449 } |
433 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); | 450 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); |
434 return new IBusInputContextClientStubImpl(); | 451 return new IBusInputContextClientStubImpl(); |
435 } | 452 } |
436 } // namespace chromeos | 453 } // namespace chromeos |
OLD | NEW |