OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 #ifndef CHROME_BROWSER_METRICS_GOOGLE_UPDATE_METRICS_PROVIDER_WIN_H_ | 5 #ifndef CHROME_BROWSER_METRICS_GOOGLE_UPDATE_METRICS_PROVIDER_WIN_H_ |
6 #define CHROME_BROWSER_METRICS_GOOGLE_UPDATE_METRICS_PROVIDER_WIN_H_ | 6 #define CHROME_BROWSER_METRICS_GOOGLE_UPDATE_METRICS_PROVIDER_WIN_H_ |
7 | 7 |
8 #include "base/bind.h" | 8 #include "base/bind.h" |
9 #include "base/macros.h" | 9 #include "base/macros.h" |
10 #include "base/memory/weak_ptr.h" | 10 #include "base/memory/weak_ptr.h" |
11 #include "chrome/installer/util/google_update_settings.h" | 11 #include "chrome/installer/util/google_update_settings.h" |
12 #include "components/metrics/metrics_provider.h" | 12 #include "components/metrics/metrics_provider.h" |
13 | 13 |
14 // GoogleUpdateMetricsProviderWin is responsible for filling out the | 14 // GoogleUpdateMetricsProviderWin is responsible for filling out the |
15 // GoogleUpdate of the UMA SystemProfileProto. | 15 // GoogleUpdate of the UMA SystemProfileProto. |
16 class GoogleUpdateMetricsProviderWin : public metrics::MetricsProvider { | 16 class GoogleUpdateMetricsProviderWin : public metrics::MetricsProvider { |
17 public: | 17 public: |
18 GoogleUpdateMetricsProviderWin(); | 18 GoogleUpdateMetricsProviderWin(); |
19 virtual ~GoogleUpdateMetricsProviderWin(); | 19 ~GoogleUpdateMetricsProviderWin() override; |
20 | 20 |
21 // Fetches Google Update data asynchronously and calls |done_callback| when | 21 // Fetches Google Update data asynchronously and calls |done_callback| when |
22 // done. | 22 // done. |
23 void GetGoogleUpdateData(const base::Closure& done_callback); | 23 void GetGoogleUpdateData(const base::Closure& done_callback); |
24 | 24 |
25 // metrics::MetricsProvider | 25 // metrics::MetricsProvider |
26 virtual void ProvideSystemProfileMetrics( | 26 void ProvideSystemProfileMetrics( |
27 metrics::SystemProfileProto* system_profile_proto) override; | 27 metrics::SystemProfileProto* system_profile_proto) override; |
28 | 28 |
29 private: | 29 private: |
30 // This is a small helper struct containing the Google Update metrics state. | 30 // This is a small helper struct containing the Google Update metrics state. |
31 struct GoogleUpdateMetrics { | 31 struct GoogleUpdateMetrics { |
32 GoogleUpdateMetrics(); | 32 GoogleUpdateMetrics(); |
33 ~GoogleUpdateMetrics(); | 33 ~GoogleUpdateMetrics(); |
34 | 34 |
35 // Defines whether this is a user-level or system-level install. | 35 // Defines whether this is a user-level or system-level install. |
36 bool is_system_install; | 36 bool is_system_install; |
(...skipping 24 matching lines...) Expand all Loading... |
61 // Google Update metrics that were fetched via GetGoogleUpdateData(). Will be | 61 // Google Update metrics that were fetched via GetGoogleUpdateData(). Will be |
62 // filled in only after the successful completion of GetGoogleUpdateData(). | 62 // filled in only after the successful completion of GetGoogleUpdateData(). |
63 GoogleUpdateMetrics google_update_metrics_; | 63 GoogleUpdateMetrics google_update_metrics_; |
64 | 64 |
65 base::WeakPtrFactory<GoogleUpdateMetricsProviderWin> weak_ptr_factory_; | 65 base::WeakPtrFactory<GoogleUpdateMetricsProviderWin> weak_ptr_factory_; |
66 | 66 |
67 DISALLOW_COPY_AND_ASSIGN(GoogleUpdateMetricsProviderWin); | 67 DISALLOW_COPY_AND_ASSIGN(GoogleUpdateMetricsProviderWin); |
68 }; | 68 }; |
69 | 69 |
70 #endif // CHROME_BROWSER_METRICS_GOOGLE_UPDATE_METRICS_PROVIDER_WIN_H_ | 70 #endif // CHROME_BROWSER_METRICS_GOOGLE_UPDATE_METRICS_PROVIDER_WIN_H_ |
OLD | NEW |