Move SystemLogsSource class into new file

Splits SystemLogsSource out of system_logs_fetcher.h.

BUG=710168

Review-Url: https://codereview.chromium.org/2969573002
Cr-Commit-Position: refs/heads/master@{#484674}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index 19e685be..ae8988c 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -3182,6 +3182,8 @@
       "feedback/system_logs/log_sources/memory_details_log_source.h",
       "feedback/system_logs/system_logs_fetcher.cc",
       "feedback/system_logs/system_logs_fetcher.h",
+      "feedback/system_logs/system_logs_source.cc",
+      "feedback/system_logs/system_logs_source.h",
       "first_run/first_run.cc",
       "first_run/first_run.h",
       "first_run/first_run_dialog.h",
diff --git a/chrome/browser/chromeos/system_logs/command_line_log_source.h b/chrome/browser/chromeos/system_logs/command_line_log_source.h
index dcb8efb..16745de 100644
--- a/chrome/browser/chromeos/system_logs/command_line_log_source.h
+++ b/chrome/browser/chromeos/system_logs/command_line_log_source.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_CHROMEOS_SYSTEM_LOGS_COMMAND_LINE_LOG_SOURCE_H_
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/chromeos/system_logs/dbus_log_source.h b/chrome/browser/chromeos/system_logs/dbus_log_source.h
index 33d40c9..2ffb2e2 100644
--- a/chrome/browser/chromeos/system_logs/dbus_log_source.h
+++ b/chrome/browser/chromeos/system_logs/dbus_log_source.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_CHROMEOS_SYSTEM_LOGS_DBUS_LOG_SOURCE_H_
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.h b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.h
index 9829e9a..fa09b05 100644
--- a/chrome/browser/chromeos/system_logs/debug_daemon_log_source.h
+++ b/chrome/browser/chromeos/system_logs/debug_daemon_log_source.h
@@ -12,7 +12,7 @@
 #include "base/files/file_path.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/chromeos/system_logs/device_event_log_source.h b/chrome/browser/chromeos/system_logs/device_event_log_source.h
index 3d3bbf2..6337369 100644
--- a/chrome/browser/chromeos/system_logs/device_event_log_source.h
+++ b/chrome/browser/chromeos/system_logs/device_event_log_source.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_CHROMEOS_SYSTEM_LOGS_DEVICE_EVENT_LOG_SOURCE_H_
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/chromeos/system_logs/lsb_release_log_source.h b/chrome/browser/chromeos/system_logs/lsb_release_log_source.h
index 9086ccc..4ec9e81 100644
--- a/chrome/browser/chromeos/system_logs/lsb_release_log_source.h
+++ b/chrome/browser/chromeos/system_logs/lsb_release_log_source.h
@@ -5,7 +5,7 @@
 #define CHROME_BROWSER_CHROMEOS_SYSTEM_LOGS_LSB_RELEASE_LOG_SOURCE_H_
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/chromeos/system_logs/single_debug_daemon_log_source.h b/chrome/browser/chromeos/system_logs/single_debug_daemon_log_source.h
index adc3b1367..97c4a480 100644
--- a/chrome/browser/chromeos/system_logs/single_debug_daemon_log_source.h
+++ b/chrome/browser/chromeos/system_logs/single_debug_daemon_log_source.h
@@ -8,7 +8,8 @@
 #include <stddef.h>
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/chromeos/system_logs/single_log_source.h b/chrome/browser/chromeos/system_logs/single_log_source.h
index 5b66b606..1a7c4c9 100644
--- a/chrome/browser/chromeos/system_logs/single_log_source.h
+++ b/chrome/browser/chromeos/system_logs/single_log_source.h
@@ -10,7 +10,8 @@
 
 #include "base/files/file.h"
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "base/memory/weak_ptr.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 #include "components/feedback/anonymizer_tool.h"
 
 namespace base {
diff --git a/chrome/browser/chromeos/system_logs/touch_log_source.h b/chrome/browser/chromeos/system_logs/touch_log_source.h
index b142544..08e4b6c 100644
--- a/chrome/browser/chromeos/system_logs/touch_log_source.h
+++ b/chrome/browser/chromeos/system_logs/touch_log_source.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_CHROMEOS_SYSTEM_LOGS_TOUCH_LOG_SOURCE_H_
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/extensions/api/feedback_private/feedback_private_api.h b/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
index e39d263..2a814c5 100644
--- a/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
+++ b/chrome/browser/extensions/api/feedback_private/feedback_private_api.h
@@ -8,7 +8,7 @@
 #include <memory>
 
 #include "chrome/browser/extensions/chrome_extension_function.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 #include "chrome/common/extensions/api/feedback_private.h"
 #include "extensions/browser/browser_context_keyed_api_factory.h"
 #include "extensions/browser/extension_function.h"
diff --git a/chrome/browser/extensions/api/feedback_private/log_source_access_manager.h b/chrome/browser/extensions/api/feedback_private/log_source_access_manager.h
index 0559d1c..95b0a2b 100644
--- a/chrome/browser/extensions/api/feedback_private/log_source_access_manager.h
+++ b/chrome/browser/extensions/api/feedback_private/log_source_access_manager.h
@@ -15,7 +15,7 @@
 #include "base/memory/weak_ptr.h"
 #include "base/time/tick_clock.h"
 #include "base/time/time.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 #include "chrome/common/extensions/api/feedback_private.h"
 #include "content/public/browser/browser_context.h"
 
diff --git a/chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc b/chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc
index e709aab..1149cf4 100644
--- a/chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc
+++ b/chrome/browser/feedback/system_logs/about_system_logs_fetcher.cc
@@ -8,6 +8,7 @@
 #include "build/build_config.h"
 #include "chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h"
 #include "chrome/browser/feedback/system_logs/log_sources/memory_details_log_source.h"
+#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
 
 #if defined(OS_CHROMEOS)
 #include "chrome/browser/chromeos/system_logs/command_line_log_source.h"
diff --git a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h
index 0eeaf0a..d947b407 100644
--- a/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h
+++ b/chrome/browser/feedback/system_logs/log_sources/chrome_internal_log_source.h
@@ -7,7 +7,7 @@
 
 #include "base/macros.h"
 #include "build/build_config.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/feedback/system_logs/log_sources/crash_ids_source.h b/chrome/browser/feedback/system_logs/log_sources/crash_ids_source.h
index f46c042..60839cd 100644
--- a/chrome/browser/feedback/system_logs/log_sources/crash_ids_source.h
+++ b/chrome/browser/feedback/system_logs/log_sources/crash_ids_source.h
@@ -8,7 +8,7 @@
 #include <vector>
 
 #include "base/callback_forward.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 #include "components/upload_list/crash_upload_list.h"
 #include "components/upload_list/upload_list.h"
 
diff --git a/chrome/browser/feedback/system_logs/log_sources/memory_details_log_source.h b/chrome/browser/feedback/system_logs/log_sources/memory_details_log_source.h
index aa25d08..fc438b4 100644
--- a/chrome/browser/feedback/system_logs/log_sources/memory_details_log_source.h
+++ b/chrome/browser/feedback/system_logs/log_sources/memory_details_log_source.h
@@ -6,7 +6,7 @@
 #define CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_LOG_SOURCES_MEMORY_DETAILS_LOG_SOURCE_H_
 
 #include "base/macros.h"
-#include "chrome/browser/feedback/system_logs/system_logs_fetcher.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 
 namespace system_logs {
 
diff --git a/chrome/browser/feedback/system_logs/system_logs_fetcher.h b/chrome/browser/feedback/system_logs/system_logs_fetcher.h
index 427b3fc..4edb8358 100644
--- a/chrome/browser/feedback/system_logs/system_logs_fetcher.h
+++ b/chrome/browser/feedback/system_logs/system_logs_fetcher.h
@@ -15,37 +15,16 @@
 #include "base/callback.h"
 #include "base/macros.h"
 #include "base/memory/weak_ptr.h"
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
 #include "components/feedback/anonymizer_tool.h"
 #include "components/feedback/feedback_common.h"
 
 namespace system_logs {
 
-using SystemLogsResponse = FeedbackCommon::SystemLogsMap;
-
-// Callback that the data sources use to return data.
-using SysLogsSourceCallback = base::Callback<void(SystemLogsResponse*)>;
-
 // Callback that the SystemLogsFetcher uses to return data.
 using SysLogsFetcherCallback =
     base::Callback<void(std::unique_ptr<SystemLogsResponse>)>;
 
-// The SystemLogsSource provides an interface for the data sources that
-// the SystemLogsFetcher class uses to fetch logs and other information.
-class SystemLogsSource {
- public:
-  // |source_name| provides a descriptive identifier for debugging.
-  explicit SystemLogsSource(const std::string& source_name);
-  virtual ~SystemLogsSource();
-
-  // Fetches data and passes it by pointer to the callback
-  virtual void Fetch(const SysLogsSourceCallback& callback) = 0;
-
-  const std::string& source_name() const { return source_name_; }
-
- private:
-  std::string source_name_;
-};
-
 // The SystemLogsFetcher fetches key-value data from a list of log sources.
 //
 // EXAMPLE:
diff --git a/chrome/browser/feedback/system_logs/system_logs_source.cc b/chrome/browser/feedback/system_logs/system_logs_source.cc
new file mode 100644
index 0000000..adc9cec
--- /dev/null
+++ b/chrome/browser/feedback/system_logs/system_logs_source.cc
@@ -0,0 +1,14 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#include "chrome/browser/feedback/system_logs/system_logs_source.h"
+
+namespace system_logs {
+
+SystemLogsSource::SystemLogsSource(const std::string& source_name)
+    : source_name_(source_name) {}
+
+SystemLogsSource::~SystemLogsSource() {}
+
+}  // namespace system_logs
diff --git a/chrome/browser/feedback/system_logs/system_logs_source.h b/chrome/browser/feedback/system_logs/system_logs_source.h
new file mode 100644
index 0000000..7135721
--- /dev/null
+++ b/chrome/browser/feedback/system_logs/system_logs_source.h
@@ -0,0 +1,39 @@
+// Copyright 2017 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_SYSTEM_LOGS_SOURCE_H_
+#define CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_SYSTEM_LOGS_SOURCE_H_
+
+#include <string>
+
+#include "base/callback.h"
+#include "components/feedback/feedback_common.h"
+
+namespace system_logs {
+
+using SystemLogsResponse = FeedbackCommon::SystemLogsMap;
+
+// Callback that the data sources use to return data.
+using SysLogsSourceCallback = base::Callback<void(SystemLogsResponse*)>;
+
+// The SystemLogsSource provides an interface for the data sources that
+// the SystemLogsFetcher class uses to fetch logs and other information.
+class SystemLogsSource {
+ public:
+  // |source_name| provides a descriptive identifier for debugging.
+  explicit SystemLogsSource(const std::string& source_name);
+  virtual ~SystemLogsSource();
+
+  // Fetches data and passes it by pointer to the callback
+  virtual void Fetch(const SysLogsSourceCallback& callback) = 0;
+
+  const std::string& source_name() const { return source_name_; }
+
+ private:
+  std::string source_name_;
+};
+
+}  // namespace system_logs
+
+#endif  // CHROME_BROWSER_FEEDBACK_SYSTEM_LOGS_SYSTEM_LOGS_SOURCE_H_