Index: chromeos/dbus/debug_daemon_client.cc |
diff --git a/chromeos/dbus/debug_daemon_client.cc b/chromeos/dbus/debug_daemon_client.cc |
index 955e26a5a3e003598aeb3fcd438f25d95628a54b..badae1fb970bc79006787aba4973e84e86cf83a1 100644 |
--- a/chromeos/dbus/debug_daemon_client.cc |
+++ b/chromeos/dbus/debug_daemon_client.cc |
@@ -281,6 +281,16 @@ class DebugDaemonClientImpl : public DebugDaemonClient { |
callback)); |
} |
+ void GetLog(const std::string& log_name, |
+ const GetLogCallback& callback) override { |
+ dbus::MethodCall method_call(debugd::kDebugdInterface, debugd::kGetLog); |
+ dbus::MessageWriter(&method_call).AppendString(log_name); |
+ debugdaemon_proxy_->CallMethod( |
+ &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, |
+ base::Bind(&DebugDaemonClientImpl::OnGetLog, |
+ weak_ptr_factory_.GetWeakPtr(), log_name, callback)); |
+ } |
+ |
// base::trace_event::TracingAgent implementation. |
std::string GetTracingAgentName() override { return kCrOSTracingAgentName; } |
@@ -629,6 +639,17 @@ class DebugDaemonClientImpl : public DebugDaemonClient { |
return OnGetAllLogs(callback, response); |
} |
+ void OnGetLog(const std::string& log_name, |
+ const GetLogCallback& callback, |
+ dbus::Response* response) { |
+ std::string result; |
+ if (!response || !dbus::MessageReader(response).PopString(&result)) { |
+ callback.Run(false, result); |
+ return; |
+ } |
+ callback.Run(true, result); |
+ } |
+ |
void OnBigFeedbackLogsResponse(base::WeakPtr<PipeReaderWrapper> pipe_reader, |
dbus::Response* response) { |
if (!response && pipe_reader.get()) { |