| Index: chromeos/dbus/debug_daemon_client.cc
|
| diff --git a/chromeos/dbus/debug_daemon_client.cc b/chromeos/dbus/debug_daemon_client.cc
|
| index ac0ce8e5ec1361b6d4d5cabacfa533ef5b72b40a..1456083c52d94df26221363bf44e529651bf24ae 100644
|
| --- a/chromeos/dbus/debug_daemon_client.cc
|
| +++ b/chromeos/dbus/debug_daemon_client.cc
|
| @@ -347,6 +347,39 @@ class DebugDaemonClientImpl : public DebugDaemonClient {
|
| callback));
|
| }
|
|
|
| + virtual void TestICMPWithOptions(
|
| + const std::string& ip_address,
|
| + const std::map<std::string, std::string>& options,
|
| + const TestICMPCallback& callback) OVERRIDE {
|
| + dbus::MethodCall method_call(debugd::kDebugdInterface,
|
| + debugd::kTestICMPWithOptions);
|
| + dbus::MessageWriter writer(&method_call);
|
| + dbus::MessageWriter sub_writer(NULL);
|
| + dbus::MessageWriter elem_writer(NULL);
|
| +
|
| + // Write the host.
|
| + writer.AppendString(ip_address);
|
| +
|
| + // Write the options.
|
| + writer.OpenArray("{ss}", &sub_writer);
|
| + std::map<std::string, std::string>::const_iterator it;
|
| + for (it = options.begin(); it != options.end(); ++it) {
|
| + sub_writer.OpenDictEntry(&elem_writer);
|
| + elem_writer.AppendString(it->first);
|
| + elem_writer.AppendString(it->second);
|
| + sub_writer.CloseContainer(&elem_writer);
|
| + }
|
| + writer.CloseContainer(&sub_writer);
|
| +
|
| + // Call the function.
|
| + 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) {
|
| @@ -615,6 +648,14 @@ class DebugDaemonClientStubImpl : public DebugDaemonClient {
|
| base::MessageLoop::current()->PostTask(FROM_HERE,
|
| base::Bind(callback, false, ""));
|
| }
|
| +
|
| + virtual void TestICMPWithOptions(
|
| + const std::string& ip_address,
|
| + const std::map<std::string, std::string>& options,
|
| + const TestICMPCallback& callback) OVERRIDE {
|
| + base::MessageLoop::current()->PostTask(
|
| + FROM_HERE, base::Bind(callback, false, ""));
|
| + }
|
| };
|
|
|
| DebugDaemonClient::DebugDaemonClient() {
|
|
|