xref: /aosp_15_r20/external/cronet/components/metrics/gms_metrics_provider.h (revision 6777b5387eb2ff775bb5750e3f5d96f37fb7352b)
1 // Copyright 2023 The Chromium Authors
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 COMPONENTS_METRICS_GMS_METRICS_PROVIDER_H_
6 #define COMPONENTS_METRICS_GMS_METRICS_PROVIDER_H_
7 
8 #include "base/memory/raw_ptr.h"
9 #include "components/metrics/metrics_provider.h"
10 
11 namespace metrics {
12 
13 // GmsMetricsProvider provides metrics related to Google Mobile
14 // Service like the current version installed on the device. Note that this
15 // class is currently only used on Android.
16 class GmsMetricsProvider : public metrics::MetricsProvider {
17  public:
18   GmsMetricsProvider();
19 
20   GmsMetricsProvider(const GmsMetricsProvider&) = delete;
21   GmsMetricsProvider& operator=(const GmsMetricsProvider&) = delete;
22 
23   ~GmsMetricsProvider() override;
24 
25   // metrics::MetricsProvider:
26   bool ProvideHistograms() override;
27 
28  protected:
29   virtual std::string GetGMSVersion();
30 };
31 
32 }  // namespace metrics
33 
34 #endif  // COMPONENTS_METRICS_GMS_METRICS_PROVIDER_H_
35