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

Side by Side Diff: chromeos/dbus/debug_daemon_client.cc

Issue 2944403002: Add GetLog method call to DebugDaemonClient (Closed)
Patch Set: Return success=true in FakeDebugDaemonClient::GetLog() Created 3 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 unified diff | Download patch
« no previous file with comments | « chromeos/dbus/debug_daemon_client.h ('k') | chromeos/dbus/fake_debug_daemon_client.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "chromeos/dbus/debug_daemon_client.h" 5 #include "chromeos/dbus/debug_daemon_client.h"
6 6
7 #include <fcntl.h> 7 #include <fcntl.h>
8 #include <stddef.h> 8 #include <stddef.h>
9 #include <stdint.h> 9 #include <stdint.h>
10 #include <unistd.h> 10 #include <unistd.h>
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
274 dbus::MethodCall method_call(debugd::kDebugdInterface, 274 dbus::MethodCall method_call(debugd::kDebugdInterface,
275 debugd::kGetUserLogFiles); 275 debugd::kGetUserLogFiles);
276 debugdaemon_proxy_->CallMethod( 276 debugdaemon_proxy_->CallMethod(
277 &method_call, 277 &method_call,
278 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT, 278 dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
279 base::Bind(&DebugDaemonClientImpl::OnGetUserLogFiles, 279 base::Bind(&DebugDaemonClientImpl::OnGetUserLogFiles,
280 weak_ptr_factory_.GetWeakPtr(), 280 weak_ptr_factory_.GetWeakPtr(),
281 callback)); 281 callback));
282 } 282 }
283 283
284 void GetLog(const std::string& log_name,
285 const GetLogsCallback& callback) override {
286 dbus::MethodCall method_call(debugd::kDebugdInterface, debugd::kGetLog);
287 dbus::MessageWriter(&method_call).AppendString(log_name);
288 debugdaemon_proxy_->CallMethod(
289 &method_call, dbus::ObjectProxy::TIMEOUT_USE_DEFAULT,
290 base::Bind(&DebugDaemonClientImpl::OnGetLog,
291 weak_ptr_factory_.GetWeakPtr(), log_name, callback));
292 }
293
284 // base::trace_event::TracingAgent implementation. 294 // base::trace_event::TracingAgent implementation.
285 std::string GetTracingAgentName() override { return kCrOSTracingAgentName; } 295 std::string GetTracingAgentName() override { return kCrOSTracingAgentName; }
286 296
287 std::string GetTraceEventLabel() override { return kCrOSTraceLabel; } 297 std::string GetTraceEventLabel() override { return kCrOSTraceLabel; }
288 298
289 void StartAgentTracing(const base::trace_event::TraceConfig& trace_config, 299 void StartAgentTracing(const base::trace_event::TraceConfig& trace_config,
290 const StartAgentTracingCallback& callback) override { 300 const StartAgentTracingCallback& callback) override {
291 dbus::MethodCall method_call( 301 dbus::MethodCall method_call(
292 debugd::kDebugdInterface, 302 debugd::kDebugdInterface,
293 debugd::kSystraceStart); 303 debugd::kSystraceStart);
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after
622 logs[key] = value; 632 logs[key] = value;
623 } 633 }
624 callback.Run(!sub_reader.HasMoreData() && !broken, logs); 634 callback.Run(!sub_reader.HasMoreData() && !broken, logs);
625 } 635 }
626 636
627 void OnGetUserLogFiles(const GetLogsCallback& callback, 637 void OnGetUserLogFiles(const GetLogsCallback& callback,
628 dbus::Response* response) { 638 dbus::Response* response) {
629 return OnGetAllLogs(callback, response); 639 return OnGetAllLogs(callback, response);
630 } 640 }
631 641
642 void OnGetLog(const std::string& log_name,
643 const GetLogsCallback& callback,
644 dbus::Response* response) {
645 std::map<std::string, std::string> result;
646 std::string result_string;
647 if (!response || !dbus::MessageReader(response).PopString(&result_string)) {
648 callback.Run(false, result);
649 return;
650 }
651 result[log_name] = result_string;
Daniel Erat 2017/06/23 01:04:27 returning a single-entry map feels a bit hacky. wo
Simon Que 2017/06/23 01:15:10 Done.
652 callback.Run(true, result);
653 }
654
632 void OnBigFeedbackLogsResponse(base::WeakPtr<PipeReaderWrapper> pipe_reader, 655 void OnBigFeedbackLogsResponse(base::WeakPtr<PipeReaderWrapper> pipe_reader,
633 dbus::Response* response) { 656 dbus::Response* response) {
634 if (!response && pipe_reader.get()) { 657 if (!response && pipe_reader.get()) {
635 // We need to terminate the data stream if an error occurred while the 658 // We need to terminate the data stream if an error occurred while the
636 // pipe reader is still waiting on read. 659 // pipe reader is still waiting on read.
637 pipe_reader->TerminateStream(); 660 pipe_reader->TerminateStream();
638 } 661 }
639 } 662 }
640 663
641 // Called when a response for a simple start is received. 664 // Called when a response for a simple start is received.
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
775 DebugDaemonClient::EmptyStopAgentTracingCallback() { 798 DebugDaemonClient::EmptyStopAgentTracingCallback() {
776 return base::Bind(&EmptyStopAgentTracingCallbackBody); 799 return base::Bind(&EmptyStopAgentTracingCallbackBody);
777 } 800 }
778 801
779 // static 802 // static
780 DebugDaemonClient* DebugDaemonClient::Create() { 803 DebugDaemonClient* DebugDaemonClient::Create() {
781 return new DebugDaemonClientImpl(); 804 return new DebugDaemonClientImpl();
782 } 805 }
783 806
784 } // namespace chromeos 807 } // namespace chromeos
OLDNEW
« no previous file with comments | « chromeos/dbus/debug_daemon_client.h ('k') | chromeos/dbus/fake_debug_daemon_client.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698