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 30 matching lines...) Expand all Loading... |
41 class CastMetricsServiceClient : public ::metrics::MetricsServiceClient { | 41 class CastMetricsServiceClient : public ::metrics::MetricsServiceClient { |
42 public: | 42 public: |
43 ~CastMetricsServiceClient() override; | 43 ~CastMetricsServiceClient() override; |
44 | 44 |
45 static scoped_ptr<CastMetricsServiceClient> Create( | 45 static scoped_ptr<CastMetricsServiceClient> Create( |
46 base::TaskRunner* io_task_runner, | 46 base::TaskRunner* io_task_runner, |
47 PrefService* pref_service, | 47 PrefService* pref_service, |
48 net::URLRequestContextGetter* request_context); | 48 net::URLRequestContextGetter* request_context); |
49 static void RegisterPrefs(PrefRegistrySimple* registry); | 49 static void RegisterPrefs(PrefRegistrySimple* registry); |
50 | 50 |
| 51 // Use |client_id| when starting MetricsService instead of generating a new |
| 52 // client ID. If used, SetForceClientId must be called before Initialize. |
| 53 void SetForceClientId(const std::string& client_id); |
51 void OnApplicationNotIdle(); | 54 void OnApplicationNotIdle(); |
| 55 |
52 void Initialize(CastService* cast_service); | 56 void Initialize(CastService* cast_service); |
53 void Finalize(); | 57 void Finalize(); |
54 | 58 |
55 // metrics::MetricsServiceClient implementation: | 59 // metrics::MetricsServiceClient implementation: |
56 void SetMetricsClientId(const std::string& client_id) override; | 60 void SetMetricsClientId(const std::string& client_id) override; |
57 void OnRecordingDisabled() override; | 61 void OnRecordingDisabled() override; |
58 bool IsOffTheRecordSessionActive() override; | 62 bool IsOffTheRecordSessionActive() override; |
59 int32_t GetProduct() override; | 63 int32_t GetProduct() override; |
60 std::string GetApplicationLocale() override; | 64 std::string GetApplicationLocale() override; |
61 bool GetBrand(std::string* brand_code) override; | 65 bool GetBrand(std::string* brand_code) override; |
(...skipping 19 matching lines...) Expand all Loading... |
81 // Returns whether or not metrics reporting is enabled. | 85 // Returns whether or not metrics reporting is enabled. |
82 bool IsReportingEnabled(); | 86 bool IsReportingEnabled(); |
83 | 87 |
84 scoped_ptr< ::metrics::ClientInfo> LoadClientInfo(); | 88 scoped_ptr< ::metrics::ClientInfo> LoadClientInfo(); |
85 void StoreClientInfo(const ::metrics::ClientInfo& client_info); | 89 void StoreClientInfo(const ::metrics::ClientInfo& client_info); |
86 | 90 |
87 base::TaskRunner* const io_task_runner_; | 91 base::TaskRunner* const io_task_runner_; |
88 PrefService* const pref_service_; | 92 PrefService* const pref_service_; |
89 CastService* cast_service_; | 93 CastService* cast_service_; |
90 std::string client_id_; | 94 std::string client_id_; |
| 95 std::string force_client_id_; |
| 96 bool client_info_loaded_; |
91 | 97 |
92 #if defined(OS_LINUX) | 98 #if defined(OS_LINUX) |
93 ExternalMetrics* external_metrics_; | 99 ExternalMetrics* external_metrics_; |
94 ExternalMetrics* platform_metrics_; | 100 ExternalMetrics* platform_metrics_; |
95 #endif // defined(OS_LINUX) | 101 #endif // defined(OS_LINUX) |
96 const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; | 102 const scoped_refptr<base::SingleThreadTaskRunner> task_runner_; |
97 scoped_ptr< ::metrics::MetricsStateManager> metrics_state_manager_; | 103 scoped_ptr< ::metrics::MetricsStateManager> metrics_state_manager_; |
98 scoped_ptr< ::metrics::MetricsService> metrics_service_; | 104 scoped_ptr< ::metrics::MetricsService> metrics_service_; |
99 net::URLRequestContextGetter* const request_context_; | 105 net::URLRequestContextGetter* const request_context_; |
100 | 106 |
101 DISALLOW_COPY_AND_ASSIGN(CastMetricsServiceClient); | 107 DISALLOW_COPY_AND_ASSIGN(CastMetricsServiceClient); |
102 }; | 108 }; |
103 | 109 |
104 } // namespace metrics | 110 } // namespace metrics |
105 } // namespace chromecast | 111 } // namespace chromecast |
106 | 112 |
107 #endif // CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ | 113 #endif // CHROMECAST_BROWSER_METRICS_CAST_METRICS_SERVICE_CLIENT_H_ |
OLD | NEW |