blob: 7899b97150c81a7021d61c5916b1bf4acd921ff5 [file] [log] [blame]
Joshua Pawlicki0499ac82017-08-17 18:29:071// Copyright 2017 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#ifndef COMPONENTS_METRICS_COMPONENT_METRICS_PROVIDER_H_
6#define COMPONENTS_METRICS_COMPONENT_METRICS_PROVIDER_H_
7
8#include "components/metrics/metrics_provider.h"
9
10namespace component_updater {
11class ComponentUpdateService;
12}
13
14namespace metrics {
15
16class SystemProfileProto;
17
18// Stores and loads system information to prefs for stability logs.
19class ComponentMetricsProvider : public MetricsProvider {
20 public:
21 explicit ComponentMetricsProvider(
22 component_updater::ComponentUpdateService* component_update_service);
23 ~ComponentMetricsProvider() override;
24
25 // MetricsProvider:
26 void ProvideSystemProfileMetrics(
27 SystemProfileProto* system_profile_proto) override;
28
29 private:
30 component_updater::ComponentUpdateService* component_update_service_;
31
32 DISALLOW_COPY_AND_ASSIGN(ComponentMetricsProvider);
33};
34
35} // namespace metrics
36
37#endif // COMPONENTS_METRICS_COMPONENT_METRICS_PROVIDER_H_