#include "components/attribution_reporting/aggregatable_values.h"
#include <stdint.h>
#include <optional>
#include <utility>
#include "base/check.h"
#include "base/containers/flat_tree.h"
#include "base/feature_list.h"
#include "base/numerics/safe_conversions.h"
#include "base/ranges/algorithm.h"
#include "base/types/expected.h"
#include "base/types/expected_macros.h"
#include "base/values.h"
#include "components/attribution_reporting/aggregatable_utils.h"
#include "components/attribution_reporting/constants.h"
#include "components/attribution_reporting/features.h"
#include "components/attribution_reporting/filters.h"
#include "components/attribution_reporting/parsing_utils.h"
#include "components/attribution_reporting/trigger_registration_error.mojom.h"
namespace attribution_reporting {
namespace {
TriggerRegistrationError;
bool FilteringIdEnabled() { … }
bool IsValid(const AggregatableValues::Values& values) { … }
base::expected<AggregatableValues::Values, TriggerRegistrationError>
ParseValues(const base::Value::Dict& dict,
TriggerRegistrationError key_error,
TriggerRegistrationError value_error) { … }
}
std::optional<AggregatableValuesValue>
AggregatableValuesValue::AggregatableValuesValue::Create(
int value,
uint64_t filtering_id) { … }
base::expected<AggregatableValuesValue, TriggerRegistrationError>
AggregatableValuesValue::FromJSON(const base::Value& json,
TriggerRegistrationError value_error) { … }
AggregatableValuesValue::AggregatableValuesValue(uint32_t value,
uint64_t filtering_id)
: … { … }
std::optional<AggregatableValues> AggregatableValues::Create(
Values values,
FilterPair filters) { … }
base::expected<std::vector<AggregatableValues>, TriggerRegistrationError>
AggregatableValues::FromJSON(base::Value* input_value) { … }
base::Value::Dict AggregatableValuesValue::ToJson() const { … }
AggregatableValues::AggregatableValues() = default;
AggregatableValues::AggregatableValues(Values values, FilterPair filters)
: … { … }
AggregatableValues::~AggregatableValues() = default;
AggregatableValues::AggregatableValues(const AggregatableValues&) = default;
AggregatableValues& AggregatableValues::operator=(const AggregatableValues&) =
default;
AggregatableValues::AggregatableValues(AggregatableValues&&) = default;
AggregatableValues& AggregatableValues::operator=(AggregatableValues&&) =
default;
base::Value::Dict AggregatableValues::ToJson() const { … }
}