Index: chrome/browser/metrics/metrics_services_manager.h |
diff --git a/chrome/browser/metrics/metrics_services_manager.h b/chrome/browser/metrics/metrics_services_manager.h |
index e3e5b4dce2df66767de3d8863535a4f7f4e73bd7..d11a3c9706492e1d345d6a5ca1cd848076ae4333 100644 |
--- a/chrome/browser/metrics/metrics_services_manager.h |
+++ b/chrome/browser/metrics/metrics_services_manager.h |
@@ -8,10 +8,8 @@ |
#include "base/basictypes.h" |
#include "base/memory/scoped_ptr.h" |
#include "base/threading/thread_checker.h" |
-#include "chrome/browser/safe_browsing/safe_browsing_service.h" |
-class ChromeMetricsServiceClient; |
-class PrefService; |
+class MetricsServicesManagerClient; |
namespace base { |
class FilePath; |
@@ -19,6 +17,7 @@ class FilePath; |
namespace metrics { |
class MetricsService; |
+class MetricsServiceClient; |
class MetricsStateManager; |
} |
@@ -30,20 +29,21 @@ namespace variations { |
class VariationsService; |
} |
-// MetricsServicesManager is a helper class that has ownership over the various |
-// metrics-related services in Chrome: MetricsService (via its client), |
-// RapporService and VariationsService. |
+// MetricsServicesManager is a helper class for embedders that use the various |
+// metrics-related services in a Chrome-like fashion: MetricsService (via its |
+// client), RapporService and VariationsService. |
class MetricsServicesManager { |
public: |
- // Creates the MetricsServicesManager with the |local_state| prefs service. |
- explicit MetricsServicesManager(PrefService* local_state); |
+ // Creates the MetricsServicesManager with the given client. |
+ explicit MetricsServicesManager( |
+ scoped_ptr<MetricsServicesManagerClient> client); |
virtual ~MetricsServicesManager(); |
// Returns the MetricsService, creating it if it hasn't been created yet (and |
- // additionally creating the ChromeMetricsServiceClient in that case). |
+ // additionally creating the MetricsServiceClient in that case). |
metrics::MetricsService* GetMetricsService(); |
- // Returns the GetRapporService, creating it if it hasn't been created yet. |
+ // Returns the RapporService, creating it if it hasn't been created yet. |
rappor::RapporService* GetRapporService(); |
// Returns the VariationsService, creating it if it hasn't been created yet. |
@@ -64,39 +64,29 @@ class MetricsServicesManager { |
// metrics change. |
void UpdateRapporService(); |
- // Returns the ChromeMetricsServiceClient, creating it if it hasn't been |
+ // Returns the MetricsServiceClient, creating it if it hasn't been |
// created yet (and additionally creating the MetricsService in that case). |
- ChromeMetricsServiceClient* GetChromeMetricsServiceClient(); |
+ metrics::MetricsServiceClient* GetMetricsServiceClient(); |
metrics::MetricsStateManager* GetMetricsStateManager(); |
- // Retrieve the latest SafeBrowsing preferences state. |
- bool GetSafeBrowsingState(); |
- |
// Update which services are running to match current permissions. |
void UpdateRunningServices(); |
+ // The client passed in from the embedder. |
+ scoped_ptr<MetricsServicesManagerClient> client_; |
+ |
// Ensures that all functions are called from the same thread. |
base::ThreadChecker thread_checker_; |
- // Weak pointer to the local state prefs store. |
- PrefService* local_state_; |
- |
- // Subscription to SafeBrowsing service state changes. |
- scoped_ptr<SafeBrowsingService::StateSubscription> sb_state_subscription_; |
- |
// The current metrics reporting setting. |
bool may_upload_; |
// The current metrics recording setting. |
bool may_record_; |
- // MetricsStateManager which is passed as a parameter to service constructors. |
- scoped_ptr<metrics::MetricsStateManager> metrics_state_manager_; |
- |
- // Chrome embedder implementation of the MetricsServiceClient. Owns the |
- // MetricsService. |
- scoped_ptr<ChromeMetricsServiceClient> metrics_service_client_; |
+ // The MetricsServiceClient. Owns the MetricsService. |
+ scoped_ptr<metrics::MetricsServiceClient> metrics_service_client_; |
// The RapporService, for RAPPOR metric uploads. |
scoped_ptr<rappor::RapporService> rappor_service_; |