Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(890)

Side by Side Diff: chromeos/dbus/ibus/ibus_input_context_client.cc

Issue 10704118: Clean Up: Gather ibus constants to ibus_constants.h (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Move constants to ibus_constants.h Created 8 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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"
11 #include "chromeos/dbus/ibus/ibus_text.h" 11 #include "chromeos/dbus/ibus/ibus_text.h"
12 #include "dbus/bus.h" 12 #include "dbus/bus.h"
13 #include "dbus/message.h" 13 #include "dbus/message.h"
14 #include "dbus/object_path.h" 14 #include "dbus/object_path.h"
15 #include "dbus/object_proxy.h" 15 #include "dbus/object_proxy.h"
16 16
17 namespace chromeos { 17 namespace chromeos {
18 18
19 // TODO(nona): Remove after complete libibus removal. 19 // TODO(nona): Remove after complete libibus removal.
20 using chromeos::ibus::IBusText; 20 using chromeos::ibus::IBusText;
21 21
22 namespace { 22 namespace {
23 const char kIBusInputContextInterface[] = "org.freedesktop.IBus.InputContext";
24
25 // Signal names.
26 const char kCommitTextSignal[] = "CommitText";
27 const char kForwardKeyEventSignal[] = "ForwardKeyEvent";
28 const char kHidePreeditTextSignal[] = "HidePreeditText";
29 const char kShowPreeditTextSignal[] = "ShowPreeditText";
30 const char kUpdatePreeditTextSignal[] = "UpdatePreeditText";
31
32 // Method names.
33 const char kFocusInMethod[] = "FocusIn";
34 const char kFocusOutMethod[] = "FocusOut";
35 const char kResetMethod[] = "Reset";
36 const char kSetCapabilitiesMethod[] = "SetCapabilities";
37 const char kSetCursorLocationMethod[] = "SetCursorLocation";
38 const char kProcessKeyEventMethod[] = "ProcessKeyEvent";
39 23
40 // The IBusInputContextClient implementation. 24 // The IBusInputContextClient implementation.
41 class IBusInputContextClientImpl : public IBusInputContextClient { 25 class IBusInputContextClientImpl : public IBusInputContextClient {
42 public: 26 public:
43 IBusInputContextClientImpl() 27 IBusInputContextClientImpl()
44 : proxy_(NULL), 28 : proxy_(NULL),
45 weak_ptr_factory_(this) { 29 weak_ptr_factory_(this) {
46 } 30 }
47 31
48 virtual ~IBusInputContextClientImpl() {} 32 virtual ~IBusInputContextClientImpl() {}
49 33
50 public: 34 public:
51 // IBusInputContextClient override. 35 // IBusInputContextClient override.
52 virtual void Initialize(dbus::Bus* bus, 36 virtual void Initialize(dbus::Bus* bus,
53 const dbus::ObjectPath& object_path) OVERRIDE { 37 const dbus::ObjectPath& object_path) OVERRIDE {
54 if (proxy_ != NULL) { 38 if (proxy_ != NULL) {
55 LOG(ERROR) << "IBusInputContextClient is already initialized."; 39 LOG(ERROR) << "IBusInputContextClient is already initialized.";
56 return; 40 return;
57 } 41 }
58 proxy_ = bus->GetObjectProxy(kIBusServiceName, object_path); 42 proxy_ = bus->GetObjectProxy(ibus::kServiceName, object_path);
59 43
60 ConnectSignals(); 44 ConnectSignals();
61 } 45 }
62 46
63 // IBusInputContextClient override. 47 // IBusInputContextClient override.
64 virtual void ResetObjectProxy() OVERRIDE { 48 virtual void ResetObjectProxy() OVERRIDE {
65 // Do not delete proxy here, proxy object is managed by dbus::Bus object. 49 // Do not delete proxy here, proxy object is managed by dbus::Bus object.
66 proxy_ = NULL; 50 proxy_ = NULL;
67 } 51 }
68 52
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
126 show_preedit_text_handler_.Reset(); 110 show_preedit_text_handler_.Reset();
127 } 111 }
128 112
129 // IBusInputContextClient override. 113 // IBusInputContextClient override.
130 virtual void UnsetHidePreeditTextHandler() OVERRIDE { 114 virtual void UnsetHidePreeditTextHandler() OVERRIDE {
131 hide_preedit_text_handler_.Reset(); 115 hide_preedit_text_handler_.Reset();
132 } 116 }
133 117
134 // IBusInputContextClient override. 118 // IBusInputContextClient override.
135 virtual void SetCapabilities(uint32 capabilities) OVERRIDE { 119 virtual void SetCapabilities(uint32 capabilities) OVERRIDE {
136 dbus::MethodCall method_call(kIBusInputContextInterface, 120 dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
137 kSetCapabilitiesMethod); 121 ibus::input_context::kSetCapabilitiesMethod);
138 dbus::MessageWriter writer(&method_call); 122 dbus::MessageWriter writer(&method_call);
139 writer.AppendUint32(capabilities); 123 writer.AppendUint32(capabilities);
140 CallNoResponseMethod(&method_call, kSetCapabilitiesMethod); 124 CallNoResponseMethod(&method_call,
125 ibus::input_context::kSetCapabilitiesMethod);
141 } 126 }
142 127
143 // IBusInputContextClient override. 128 // IBusInputContextClient override.
144 virtual void FocusIn() OVERRIDE { 129 virtual void FocusIn() OVERRIDE {
145 dbus::MethodCall method_call(kIBusInputContextInterface, kFocusInMethod); 130 dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
146 CallNoResponseMethod(&method_call, kFocusInMethod); 131 ibus::input_context::kFocusInMethod);
132 CallNoResponseMethod(&method_call, ibus::input_context::kFocusInMethod);
147 } 133 }
148 134
149 // IBusInputContextClient override. 135 // IBusInputContextClient override.
150 virtual void FocusOut() OVERRIDE { 136 virtual void FocusOut() OVERRIDE {
151 dbus::MethodCall method_call(kIBusInputContextInterface, kFocusOutMethod); 137 dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
152 CallNoResponseMethod(&method_call, kFocusOutMethod); 138 ibus::input_context::kFocusOutMethod);
139 CallNoResponseMethod(&method_call, ibus::input_context::kFocusOutMethod);
153 } 140 }
154 141
155 // IBusInputContextClient override. 142 // IBusInputContextClient override.
156 virtual void Reset() OVERRIDE { 143 virtual void Reset() OVERRIDE {
157 dbus::MethodCall method_call(kIBusInputContextInterface, kResetMethod); 144 dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
158 CallNoResponseMethod(&method_call, kResetMethod); 145 ibus::input_context::kResetMethod);
146 CallNoResponseMethod(&method_call, ibus::input_context::kResetMethod);
159 } 147 }
160 148
161 // IBusInputContextClient override. 149 // IBusInputContextClient override.
162 virtual void SetCursorLocation(int32 x, int32 y, int32 width, 150 virtual void SetCursorLocation(int32 x, int32 y, int32 width,
163 int32 height) OVERRIDE { 151 int32 height) OVERRIDE {
164 dbus::MethodCall method_call(kIBusInputContextInterface, 152 dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
165 kSetCursorLocationMethod); 153 ibus::input_context::kSetCursorLocationMethod);
166 dbus::MessageWriter writer(&method_call); 154 dbus::MessageWriter writer(&method_call);
167 writer.AppendInt32(x); 155 writer.AppendInt32(x);
168 writer.AppendInt32(y); 156 writer.AppendInt32(y);
169 writer.AppendInt32(width); 157 writer.AppendInt32(width);
170 writer.AppendInt32(height); 158 writer.AppendInt32(height);
171 CallNoResponseMethod(&method_call, kSetCursorLocationMethod); 159 CallNoResponseMethod(&method_call,
160 ibus::input_context::kSetCursorLocationMethod);
172 } 161 }
173 162
174 // IBusInputContextClient override. 163 // IBusInputContextClient override.
175 virtual void ProcessKeyEvent( 164 virtual void ProcessKeyEvent(
176 uint32 keyval, 165 uint32 keyval,
177 uint32 keycode, 166 uint32 keycode,
178 uint32 state, 167 uint32 state,
179 const ProcessKeyEventCallback& callback, 168 const ProcessKeyEventCallback& callback,
180 const ErrorCallback& error_callback) OVERRIDE { 169 const ErrorCallback& error_callback) OVERRIDE {
181 dbus::MethodCall method_call(kIBusInputContextInterface, 170 dbus::MethodCall method_call(ibus::input_context::kServiceInterface,
182 kProcessKeyEventMethod); 171 ibus::input_context::kProcessKeyEventMethod);
183 dbus::MessageWriter writer(&method_call); 172 dbus::MessageWriter writer(&method_call);
184 writer.AppendUint32(keyval); 173 writer.AppendUint32(keyval);
185 writer.AppendUint32(keycode); 174 writer.AppendUint32(keycode);
186 writer.AppendUint32(state); 175 writer.AppendUint32(state);
187 proxy_->CallMethodWithErrorCallback( 176 proxy_->CallMethodWithErrorCallback(
188 &method_call, 177 &method_call,
189 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 178 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
190 base::Bind(&IBusInputContextClientImpl::OnProcessKeyEvent, 179 base::Bind(&IBusInputContextClientImpl::OnProcessKeyEvent,
191 callback, 180 callback,
192 error_callback), 181 error_callback),
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
306 295
307 // Handles HidePreeditText signal. 296 // Handles HidePreeditText signal.
308 void OnHidePreeditText(dbus::Signal* signal) { 297 void OnHidePreeditText(dbus::Signal* signal) {
309 if (!hide_preedit_text_handler_.is_null()) 298 if (!hide_preedit_text_handler_.is_null())
310 hide_preedit_text_handler_.Run(); 299 hide_preedit_text_handler_.Run();
311 } 300 }
312 301
313 // Connects signals to signal handlers. 302 // Connects signals to signal handlers.
314 void ConnectSignals() { 303 void ConnectSignals() {
315 proxy_->ConnectToSignal( 304 proxy_->ConnectToSignal(
316 kIBusInputContextInterface, 305 ibus::input_context::kServiceInterface,
317 kCommitTextSignal, 306 ibus::input_context::kCommitTextSignal,
318 base::Bind(&IBusInputContextClientImpl::OnCommitText, 307 base::Bind(&IBusInputContextClientImpl::OnCommitText,
319 weak_ptr_factory_.GetWeakPtr()), 308 weak_ptr_factory_.GetWeakPtr()),
320 base::Bind(&IBusInputContextClientImpl::OnSignalConnected, 309 base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
321 weak_ptr_factory_.GetWeakPtr())); 310 weak_ptr_factory_.GetWeakPtr()));
322 311
323 proxy_->ConnectToSignal( 312 proxy_->ConnectToSignal(
324 kIBusInputContextInterface, 313 ibus::input_context::kServiceInterface,
325 kForwardKeyEventSignal, 314 ibus::input_context::kForwardKeyEventSignal,
326 base::Bind(&IBusInputContextClientImpl::OnForwardKeyEvent, 315 base::Bind(&IBusInputContextClientImpl::OnForwardKeyEvent,
327 weak_ptr_factory_.GetWeakPtr()), 316 weak_ptr_factory_.GetWeakPtr()),
328 base::Bind(&IBusInputContextClientImpl::OnSignalConnected, 317 base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
329 weak_ptr_factory_.GetWeakPtr())); 318 weak_ptr_factory_.GetWeakPtr()));
330 319
331 proxy_->ConnectToSignal( 320 proxy_->ConnectToSignal(
332 kIBusInputContextInterface, 321 ibus::input_context::kServiceInterface,
333 kUpdatePreeditTextSignal, 322 ibus::input_context::kUpdatePreeditTextSignal,
334 base::Bind(&IBusInputContextClientImpl::OnUpdatePreeditText, 323 base::Bind(&IBusInputContextClientImpl::OnUpdatePreeditText,
335 weak_ptr_factory_.GetWeakPtr()), 324 weak_ptr_factory_.GetWeakPtr()),
336 base::Bind(&IBusInputContextClientImpl::OnSignalConnected, 325 base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
337 weak_ptr_factory_.GetWeakPtr())); 326 weak_ptr_factory_.GetWeakPtr()));
338 327
339 proxy_->ConnectToSignal( 328 proxy_->ConnectToSignal(
340 kIBusInputContextInterface, 329 ibus::input_context::kServiceInterface,
341 kShowPreeditTextSignal, 330 ibus::input_context::kShowPreeditTextSignal,
342 base::Bind(&IBusInputContextClientImpl::OnShowPreeditText, 331 base::Bind(&IBusInputContextClientImpl::OnShowPreeditText,
343 weak_ptr_factory_.GetWeakPtr()), 332 weak_ptr_factory_.GetWeakPtr()),
344 base::Bind(&IBusInputContextClientImpl::OnSignalConnected, 333 base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
345 weak_ptr_factory_.GetWeakPtr())); 334 weak_ptr_factory_.GetWeakPtr()));
346 335
347 proxy_->ConnectToSignal( 336 proxy_->ConnectToSignal(
348 kIBusInputContextInterface, 337 ibus::input_context::kServiceInterface,
349 kHidePreeditTextSignal, 338 ibus::input_context::kHidePreeditTextSignal,
350 base::Bind(&IBusInputContextClientImpl::OnHidePreeditText, 339 base::Bind(&IBusInputContextClientImpl::OnHidePreeditText,
351 weak_ptr_factory_.GetWeakPtr()), 340 weak_ptr_factory_.GetWeakPtr()),
352 base::Bind(&IBusInputContextClientImpl::OnSignalConnected, 341 base::Bind(&IBusInputContextClientImpl::OnSignalConnected,
353 weak_ptr_factory_.GetWeakPtr())); 342 weak_ptr_factory_.GetWeakPtr()));
354 } 343 }
355 344
356 // Handles the result of signal connection setup. 345 // Handles the result of signal connection setup.
357 void OnSignalConnected(const std::string& interface, 346 void OnSignalConnected(const std::string& interface,
358 const std::string& signal, 347 const std::string& signal,
359 bool succeeded) { 348 bool succeeded) {
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
438 // static 427 // static
439 IBusInputContextClient* IBusInputContextClient::Create( 428 IBusInputContextClient* IBusInputContextClient::Create(
440 DBusClientImplementationType type) { 429 DBusClientImplementationType type) {
441 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) { 430 if (type == REAL_DBUS_CLIENT_IMPLEMENTATION) {
442 return new IBusInputContextClientImpl(); 431 return new IBusInputContextClientImpl();
443 } 432 }
444 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type); 433 DCHECK_EQ(STUB_DBUS_CLIENT_IMPLEMENTATION, type);
445 return new IBusInputContextClientStubImpl(); 434 return new IBusInputContextClientStubImpl();
446 } 435 }
447 } // namespace chromeos 436 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/ibus/ibus_constants.h ('k') | chromeos/dbus/ibus/ibus_input_context_client_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698