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

Unified Diff: chromeos/dbus/ibus/ibus_client.cc

Issue 10692123: Implement RegisterComponent method call. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Fix miss rebase 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chromeos/dbus/ibus/ibus_client.h ('k') | chromeos/dbus/ibus/mock_ibus_client.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chromeos/dbus/ibus/ibus_client.cc
diff --git a/chromeos/dbus/ibus/ibus_client.cc b/chromeos/dbus/ibus/ibus_client.cc
index 8ac4b4e05c545070554bcaedb2caa83fdd627466..5764f0e47a5a35a0ab74bc716943861456153e88 100644
--- a/chromeos/dbus/ibus/ibus_client.cc
+++ b/chromeos/dbus/ibus/ibus_client.cc
@@ -7,6 +7,7 @@
#include "base/bind.h"
#include "base/callback.h"
#include "chromeos/dbus/ibus/ibus_constants.h"
+#include "chromeos/dbus/ibus/ibus_component.h"
#include "dbus/bus.h"
#include "dbus/message.h"
#include "dbus/object_path.h"
@@ -15,6 +16,7 @@
namespace chromeos {
namespace {
+const char kIBusBusRegisterComponentMethod[] = "RegisterComponent";
// The IBusClient implementation.
class IBusClientImpl : public IBusClient {
@@ -50,6 +52,29 @@ class IBusClientImpl : public IBusClient {
error_callback));
}
+ // IBusClient override.
+ virtual void RegisterComponent(
+ const ibus::IBusComponent& ibus_component,
+ const RegisterComponentCallback& callback,
+ const ErrorCallback& error_callback) OVERRIDE {
+ DCHECK(!callback.is_null());
+ DCHECK(!error_callback.is_null());
+ dbus::MethodCall method_call(kIBusServiceInterface,
+ kIBusBusRegisterComponentMethod);
+ dbus::MessageWriter writer(&method_call);
+ ibus::AppendIBusComponent(ibus_component, &writer);
+ proxy_->CallMethodWithErrorCallback(
+ &method_call,
+ dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
+ base::Bind(&IBusClientImpl::OnRegisterComponent,
+ weak_ptr_factory_.GetWeakPtr(),
+ callback,
+ error_callback),
+ base::Bind(&IBusClientImpl::OnRegisterComponentFail,
+ weak_ptr_factory_.GetWeakPtr(),
+ error_callback));
+ }
+
private:
// Handles responses of CreateInputContext method calls.
void OnCreateInputContext(const CreateInputContextCallback& callback,
@@ -77,6 +102,24 @@ class IBusClientImpl : public IBusClient {
error_callback.Run();
}
+ // Handles responses of RegisterComponent method calls.
+ void OnRegisterComponent(const RegisterComponentCallback& callback,
+ const ErrorCallback& error_callback,
+ dbus::Response* response) {
+ if (!response) {
+ LOG(ERROR) << "Response is NULL.";
+ error_callback.Run();
+ return;
+ }
+ callback.Run();
+ }
+
+ // Handles error response of RegisterComponent method call.
+ void OnRegisterComponentFail(const ErrorCallback& error_callback,
+ dbus::ErrorResponse* response) {
+ error_callback.Run();
+ }
+
dbus::ObjectProxy* proxy_;
base::WeakPtrFactory<IBusClientImpl> weak_ptr_factory_;
@@ -94,6 +137,11 @@ class IBusClientStubImpl : public IBusClient {
const CreateInputContextCallback & callback,
const ErrorCallback& error_callback) OVERRIDE {}
+ virtual void RegisterComponent(
+ const ibus::IBusComponent& ibus_component,
+ const RegisterComponentCallback& callback,
+ const ErrorCallback& error_callback) OVERRIDE {}
+
private:
DISALLOW_COPY_AND_ASSIGN(IBusClientStubImpl);
};
« no previous file with comments | « chromeos/dbus/ibus/ibus_client.h ('k') | chromeos/dbus/ibus/mock_ibus_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698