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 CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ | 5 #ifndef CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ |
6 #define CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ | 6 #define CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 | 9 |
10 #include "base/macros.h" | 10 #include "base/macros.h" |
(...skipping 12 matching lines...) Expand all Loading... |
23 class MetricsService; | 23 class MetricsService; |
24 class MetricsStateManager; | 24 class MetricsStateManager; |
25 } // namespace metrics | 25 } // namespace metrics |
26 | 26 |
27 namespace net { | 27 namespace net { |
28 class URLRequestContextGetter; | 28 class URLRequestContextGetter; |
29 } // namespace net | 29 } // namespace net |
30 | 30 |
31 namespace chromecast { | 31 namespace chromecast { |
32 namespace metrics { | 32 namespace metrics { |
| 33 class ExternalMetrics; |
33 | 34 |
34 class CastMetricsServiceClient : public ::metrics::MetricsServiceClient { | 35 class CastMetricsServiceClient : public ::metrics::MetricsServiceClient { |
35 public: | 36 public: |
36 virtual ~CastMetricsServiceClient(); | 37 virtual ~CastMetricsServiceClient(); |
37 | 38 |
38 static CastMetricsServiceClient* Create( | 39 static CastMetricsServiceClient* Create( |
39 base::TaskRunner* io_task_runner, | 40 base::TaskRunner* io_task_runner, |
40 PrefService* pref_service, | 41 PrefService* pref_service, |
41 net::URLRequestContextGetter* request_context); | 42 net::URLRequestContextGetter* request_context); |
42 | 43 |
(...skipping 19 matching lines...) Expand all Loading... |
62 | 63 |
63 private: | 64 private: |
64 CastMetricsServiceClient( | 65 CastMetricsServiceClient( |
65 base::TaskRunner* io_task_runner, | 66 base::TaskRunner* io_task_runner, |
66 PrefService* pref_service, | 67 PrefService* pref_service, |
67 net::URLRequestContextGetter* request_context); | 68 net::URLRequestContextGetter* request_context); |
68 | 69 |
69 // Returns whether or not metrics reporting is enabled. | 70 // Returns whether or not metrics reporting is enabled. |
70 bool IsReportingEnabled(); | 71 bool IsReportingEnabled(); |
71 | 72 |
| 73 #if defined(OS_LINUX) |
| 74 scoped_ptr<ExternalMetrics> external_metrics_; |
| 75 #endif // defined(OS_LINUX) |
72 scoped_ptr< ::metrics::MetricsStateManager> metrics_state_manager_; | 76 scoped_ptr< ::metrics::MetricsStateManager> metrics_state_manager_; |
73 scoped_ptr< ::metrics::MetricsService> metrics_service_; | 77 scoped_ptr< ::metrics::MetricsService> metrics_service_; |
74 scoped_refptr<base::MessageLoopProxy> metrics_service_loop_; | 78 scoped_refptr<base::MessageLoopProxy> metrics_service_loop_; |
75 net::URLRequestContextGetter* request_context_; | 79 net::URLRequestContextGetter* request_context_; |
76 | 80 |
77 DISALLOW_COPY_AND_ASSIGN(CastMetricsServiceClient); | 81 DISALLOW_COPY_AND_ASSIGN(CastMetricsServiceClient); |
78 }; | 82 }; |
79 | 83 |
80 } // namespace metrics | 84 } // namespace metrics |
81 } // namespace chromecast | 85 } // namespace chromecast |
82 | 86 |
83 #endif // CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ | 87 #endif // CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ |
OLD | NEW |