Enable Enterprise enrollment on desktop builds.
[chromium-blink-merge.git] / chrome / browser / extensions / api / metrics_private / metrics_private_api.h
blob42f9175d939dddd6d3d34b86a79a2563d1a2954f
1 // Copyright (c) 2012 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.
5 #ifndef CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_
6 #define CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_
8 #include <string>
10 #include "base/metrics/histogram.h"
11 #include "extensions/browser/extension_function.h"
13 namespace extensions {
15 class MetricsPrivateGetIsCrashReportingEnabledFunction
16 : public SyncExtensionFunction {
17 public:
18 DECLARE_EXTENSION_FUNCTION("metricsPrivate.getIsCrashReportingEnabled",
19 METRICSPRIVATE_GETISCRASHRECORDINGENABLED)
21 protected:
22 virtual ~MetricsPrivateGetIsCrashReportingEnabledFunction() {}
24 // ExtensionFunction:
25 virtual bool RunSync() OVERRIDE;
28 class MetricsPrivateGetFieldTrialFunction : public SyncExtensionFunction {
29 public:
30 DECLARE_EXTENSION_FUNCTION("metricsPrivate.getFieldTrial",
31 METRICSPRIVATE_GETFIELDTRIAL)
33 protected:
34 virtual ~MetricsPrivateGetFieldTrialFunction() {}
36 // ExtensionFunction:
37 virtual bool RunSync() OVERRIDE;
40 class MetricsPrivateGetVariationParamsFunction : public SyncExtensionFunction {
41 public:
42 DECLARE_EXTENSION_FUNCTION("metricsPrivate.getVariationParams",
43 METRICSPRIVATE_GETVARIATIONPARAMS)
45 protected:
46 virtual ~MetricsPrivateGetVariationParamsFunction() {}
48 // ExtensionFunction:
49 virtual bool RunSync() OVERRIDE;
52 class MetricsPrivateRecordUserActionFunction : public SyncExtensionFunction {
53 public:
54 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordUserAction",
55 METRICSPRIVATE_RECORDUSERACTION)
57 protected:
58 virtual ~MetricsPrivateRecordUserActionFunction() {}
60 // ExtensionFunction:
61 virtual bool RunSync() OVERRIDE;
64 class MetricsHistogramHelperFunction : public SyncExtensionFunction {
65 protected:
66 virtual ~MetricsHistogramHelperFunction() {}
67 virtual bool RecordValue(const std::string& name,
68 base::HistogramType type,
69 int min, int max, size_t buckets,
70 int sample);
73 class MetricsPrivateRecordValueFunction
74 : public MetricsHistogramHelperFunction {
75 public:
76 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordValue",
77 METRICSPRIVATE_RECORDVALUE)
79 protected:
80 virtual ~MetricsPrivateRecordValueFunction() {}
82 // ExtensionFunction:
83 virtual bool RunSync() OVERRIDE;
86 class MetricsPrivateRecordSparseValueFunction
87 : public MetricsHistogramHelperFunction {
88 public:
89 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSparseValue",
90 METRICSPRIVATE_RECORDSPARSEVALUE)
92 protected:
93 virtual ~MetricsPrivateRecordSparseValueFunction() {}
95 // ExtensionFunction:
96 virtual bool RunSync() OVERRIDE;
99 class MetricsPrivateRecordPercentageFunction
100 : public MetricsHistogramHelperFunction {
101 public:
102 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordPercentage",
103 METRICSPRIVATE_RECORDPERCENTAGE)
105 protected:
106 virtual ~MetricsPrivateRecordPercentageFunction() {}
108 // ExtensionFunction:
109 virtual bool RunSync() OVERRIDE;
112 class MetricsPrivateRecordCountFunction
113 : public MetricsHistogramHelperFunction {
114 public:
115 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordCount",
116 METRICSPRIVATE_RECORDCOUNT)
118 protected:
119 virtual ~MetricsPrivateRecordCountFunction() {}
121 // ExtensionFunction:
122 virtual bool RunSync() OVERRIDE;
125 class MetricsPrivateRecordSmallCountFunction
126 : public MetricsHistogramHelperFunction {
127 public:
128 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordSmallCount",
129 METRICSPRIVATE_RECORDSMALLCOUNT)
131 protected:
132 virtual ~MetricsPrivateRecordSmallCountFunction() {}
134 // ExtensionFunction:
135 virtual bool RunSync() OVERRIDE;
138 class MetricsPrivateRecordMediumCountFunction
139 : public MetricsHistogramHelperFunction {
140 public:
141 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumCount",
142 METRICSPRIVATE_RECORDMEDIUMCOUNT)
144 protected:
145 virtual ~MetricsPrivateRecordMediumCountFunction() {}
147 // ExtensionFunction:
148 virtual bool RunSync() OVERRIDE;
151 class MetricsPrivateRecordTimeFunction : public MetricsHistogramHelperFunction {
152 public:
153 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordTime",
154 METRICSPRIVATE_RECORDTIME)
156 protected:
157 virtual ~MetricsPrivateRecordTimeFunction() {}
159 // ExtensionFunction:
160 virtual bool RunSync() OVERRIDE;
163 class MetricsPrivateRecordMediumTimeFunction
164 : public MetricsHistogramHelperFunction {
165 public:
166 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordMediumTime",
167 METRICSPRIVATE_RECORDMEDIUMTIME)
169 protected:
170 virtual ~MetricsPrivateRecordMediumTimeFunction() {}
172 // ExtensionFunction:
173 virtual bool RunSync() OVERRIDE;
176 class MetricsPrivateRecordLongTimeFunction
177 : public MetricsHistogramHelperFunction {
178 public:
179 DECLARE_EXTENSION_FUNCTION("metricsPrivate.recordLongTime",
180 METRICSPRIVATE_RECORDLONGTIME)
182 protected:
183 virtual ~MetricsPrivateRecordLongTimeFunction() {}
185 // ExtensionFunction:
186 virtual bool RunSync() OVERRIDE;
189 } // namespace extensions
191 #endif // CHROME_BROWSER_EXTENSIONS_API_METRICS_PRIVATE_METRICS_PRIVATE_API_H_