1// Copyright 2013 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#include "chrome/browser/feedback/system_logs/about_system_logs_fetcher.h"
6
7#include "base/bind.h"
8#include "base/bind_helpers.h"
9#include "chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h"
10#include "chrome/browser/feedback/system_logs/log_sources/memory_details_log_source.h"
11#include "content/public/browser/browser_thread.h"
12
13#if defined(OS_CHROMEOS)
14#include "chrome/browser/chromeos/system_logs/command_line_log_source.h"
15#include "chrome/browser/chromeos/system_logs/dbus_log_source.h"
16#include "chrome/browser/chromeos/system_logs/debug_daemon_log_source.h"
17#include "chrome/browser/chromeos/system_logs/lsb_release_log_source.h"
18#include "chrome/browser/chromeos/system_logs/network_event_log_source.h"
19#include "chrome/browser/chromeos/system_logs/touch_log_source.h"
20#endif
21
22using content::BrowserThread;
23
24namespace system_logs {
25
26AboutSystemLogsFetcher::AboutSystemLogsFetcher() {
27  data_sources_.push_back(new ChromeInternalLogSource());
28  data_sources_.push_back(new MemoryDetailsLogSource());
29
30#if defined(OS_CHROMEOS)
31  data_sources_.push_back(new CommandLineLogSource());
32  data_sources_.push_back(new DBusLogSource());
33  data_sources_.push_back(new LsbReleaseLogSource());
34  data_sources_.push_back(new NetworkEventLogSource());
35  data_sources_.push_back(new TouchLogSource());
36
37  // Debug Daemon data source - currently only this data source supports
38  // the scrub_data parameter.
39  const bool scrub_data = false;
40  data_sources_.push_back(new DebugDaemonLogSource(scrub_data));
41#endif
42
43  num_pending_requests_ = data_sources_.size();
44}
45
46AboutSystemLogsFetcher::~AboutSystemLogsFetcher() {
47}
48
49}  // namespace system_logs
50