chromium/out/Default/gen/extensions/common/api/metrics_private.h

// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

// GENERATED FROM THE API DEFINITION IN
//   extensions/common/api/metrics_private.json
// by tools/json_schema_compiler.
// DO NOT EDIT.

#ifndef EXTENSIONS_COMMON_API_METRICS_PRIVATE_H__
#define EXTENSIONS_COMMON_API_METRICS_PRIVATE_H__

#include <stdint.h>

#include <map>
#include <memory>
#include <optional>
#include <string>
#include <vector>

#include "base/values.h"
#include <string_view>


namespace extensions {
namespace api {
namespace metrics_private {

//
// Types
//

// The type of metric, such as 'histogram-log' or 'histogram-linear'.
enum class MetricTypeType {};


const char* ToString(MetricTypeType as_enum);
MetricTypeType ParseMetricTypeType(std::string_view as_string);
std::u16string GetMetricTypeTypeParseError(std::string_view as_string);

// Describes the type of metric that is to be collected.
struct MetricType {};

struct HistogramBucket {};

struct Histogram {};


//
// Functions
//

namespace GetHistogram {

struct Params {};

namespace Results {

base::Value::List Create(const Histogram& histogram);
}  // namespace Results

}  // namespace GetHistogram

namespace GetIsCrashReportingEnabled {

namespace Results {

base::Value::List Create(bool is_enabled);
}  // namespace Results

}  // namespace GetIsCrashReportingEnabled

namespace GetFieldTrial {

struct Params {};

namespace Results {

base::Value::List Create(const std::string& group);
}  // namespace Results

}  // namespace GetFieldTrial

namespace GetVariationParams {

struct Params {};

namespace Results {

struct Params {};


base::Value::List Create(const Params& params);
}  // namespace Results

}  // namespace GetVariationParams

namespace RecordUserAction {

struct Params {};

}  // namespace RecordUserAction

namespace RecordPercentage {

struct Params {};

}  // namespace RecordPercentage

namespace RecordCount {

struct Params {};

}  // namespace RecordCount

namespace RecordSmallCount {

struct Params {};

}  // namespace RecordSmallCount

namespace RecordMediumCount {

struct Params {};

}  // namespace RecordMediumCount

namespace RecordTime {

struct Params {};

}  // namespace RecordTime

namespace RecordMediumTime {

struct Params {};

}  // namespace RecordMediumTime

namespace RecordLongTime {

struct Params {};

}  // namespace RecordLongTime

namespace RecordSparseValueWithHashMetricName {

struct Params {};

}  // namespace RecordSparseValueWithHashMetricName

namespace RecordSparseValueWithPersistentHash {

struct Params {};

}  // namespace RecordSparseValueWithPersistentHash

namespace RecordSparseValue {

struct Params {};

}  // namespace RecordSparseValue

namespace RecordValue {

struct Params {};

}  // namespace RecordValue

namespace RecordBoolean {

struct Params {};

}  // namespace RecordBoolean

namespace RecordEnumerationValue {

struct Params {};

}  // namespace RecordEnumerationValue

}  // namespace metrics_private
}  // namespace api
}  // namespace extensions

#endif  // EXTENSIONS_COMMON_API_METRICS_PRIVATE_H__