Home | History | Annotate | Download | only in metrics
      1 // Copyright (c) 2011 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 CHROME_BROWSER_METRICS_METRICS_REPORTING_STATE_H_
      6 #define CHROME_BROWSER_METRICS_METRICS_REPORTING_STATE_H_
      7 
      8 #include "base/callback.h"
      9 
     10 typedef base::Callback<void(bool)> OnMetricsReportingCallbackType;
     11 
     12 // Initiates a change to metrics reporting state to the new value of |enabled|.
     13 // Starts or stops the metrics service based on the new state and then runs
     14 // |callback_fn| (which can be null) with the updated state (as the operation
     15 // may fail). On platforms other than CrOS and Android, also updates the
     16 // underlying pref.
     17 // TODO(gayane): Support setting the pref on all platforms.
     18 void InitiateMetricsReportingChange(
     19     bool enabled,
     20     const OnMetricsReportingCallbackType& callback_fn);
     21 
     22 // Returns whether MetricsReporting can be modified by the user (except CrOS and
     23 // Android).
     24 bool IsMetricsReportingUserChangable();
     25 
     26 #endif  // CHROME_BROWSER_METRICS_METRICS_REPORTING_STATE_H_
     27