| Index: chromeos/dbus/debug_daemon_client.cc
|
| diff --git a/chromeos/dbus/debug_daemon_client.cc b/chromeos/dbus/debug_daemon_client.cc
|
| index 8ae9c0ab3173aa14998e3360cc45bffce7175a70..789e1d2ca7889d78b4b9f7cacd79be32649bd5ec 100644
|
| --- a/chromeos/dbus/debug_daemon_client.cc
|
| +++ b/chromeos/dbus/debug_daemon_client.cc
|
| @@ -306,6 +306,20 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
| return true;
|
| }
|
|
|
| + virtual void TestICMP(const std::string& host,
|
| + const TestICMPCallback& callback) OVERRIDE {
|
| + dbus::MethodCall method_call(debugd::kDebugdInterface,
|
| + debugd::kTestICMP);
|
| + dbus::MessageWriter writer(&method_call);
|
| + writer.AppendString(host);
|
| + debugdaemon_proxy_->CallMethod(
|
| + &method_call,
|
| + dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
|
| + base::Bind(&DebugDaemonClientImpl::OnTestICMP,
|
| + weak_ptr_factory_.GetWeakPtr(),
|
| + callback));
|
| + }
|
| +
|
| private:
|
| // Called to check descriptor validity on a thread where i/o is permitted.
|
| static void CheckValidity(dbus::FileDescriptor* file_descriptor) {
|
| @@ -458,6 +472,14 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
| // NB: requester is signaled when i/o completes
|
| }
|
|
|
| + void OnTestICMP(const TestICMPCallback& callback, dbus::Response* response) {
|
| + std::string status;
|
| + if (response && dbus::MessageReader(response).PopString(&status))
|
| + callback.Run(true, status);
|
| + else
|
| + callback.Run(false, "");
|
| + }
|
| +
|
| // Called when pipe i/o completes; pass data on and delete the instance.
|
| void OnIOComplete() {
|
| callback_.Run(base::RefCountedString::TakeString(pipe_reader_->data()));
|
| @@ -512,6 +534,11 @@ class DebugDaemonClientStubImpl : public DebugDaemonClient {
|
| std::map<std::string, std::string> empty;
|
| callback.Run(false, empty);
|
| }
|
| +
|
| + virtual void TestICMP(const std::string& host,
|
| + const TestICMPCallback& callback) OVERRIDE {
|
| + callback.Run(false, "");
|
| + }
|
| };
|
|
|
| DebugDaemonClient::DebugDaemonClient() {
|
|
|