Chromium Code Reviews| Index: chromeos/dbus/image_loader_client.cc |
| diff --git a/chromeos/dbus/image_loader_client.cc b/chromeos/dbus/image_loader_client.cc |
| index 060c8b2d9e28cc18e4c4c0481bcaeca500309156..d35122e30484e4ed2794c746d495b65ce68596e3 100644 |
| --- a/chromeos/dbus/image_loader_client.cc |
| +++ b/chromeos/dbus/image_loader_client.cc |
| @@ -37,6 +37,21 @@ class ImageLoaderClientImpl : public ImageLoaderClient { |
| base::Bind(&ImageLoaderClientImpl::OnBoolMethod, callback)); |
| } |
| + void RegisterComponent(const std::string& name, |
| + const std::string& version, |
| + const std::string& component_folder_abs_path, |
| + const BoolDBusMethodCallbackPm& callback) override { |
| + dbus::MethodCall method_call(imageloader::kImageLoaderServiceInterface, |
| + imageloader::kRegisterComponent); |
| + dbus::MessageWriter writer(&method_call); |
| + writer.AppendString(name); |
| + writer.AppendString(version); |
| + writer.AppendString(component_folder_abs_path); |
| + proxy_->CallMethod( |
| + &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
| + base::Bind(&ImageLoaderClientImpl::OnBoolPmMethod, callback, name)); |
|
hashimoto
2017/03/10 04:27:22
You should just use OnBoolMethod here.
If you want
xiaochu
2017/03/10 16:49:00
Done.
|
| + } |
| + |
| void LoadComponent(const std::string& name, |
| const StringDBusMethodCallback& callback) override { |
| dbus::MethodCall method_call(imageloader::kImageLoaderServiceInterface, |
| @@ -73,6 +88,23 @@ class ImageLoaderClientImpl : public ImageLoaderClient { |
| callback.Run(DBUS_METHOD_CALL_SUCCESS, result); |
| } |
| + static void OnBoolPmMethod(const BoolDBusMethodCallbackPm& callback, |
| + const std::string& msg, |
| + dbus::Response* response) { |
| + if (!response) { |
| + callback.Run(DBUS_METHOD_CALL_FAILURE, false, ""); |
| + return; |
| + } |
| + dbus::MessageReader reader(response); |
| + bool result = false; |
| + if (!reader.PopBool(&result)) { |
| + callback.Run(DBUS_METHOD_CALL_FAILURE, false, ""); |
| + LOG(ERROR) << "Invalid response: " << response->ToString(); |
| + return; |
| + } |
| + callback.Run(DBUS_METHOD_CALL_SUCCESS, result, msg); |
| + } |
| + |
| static void OnStringMethod(const StringDBusMethodCallback& callback, |
| dbus::Response* response) { |
| if (!response) { |