910e62b5创建于 1月15日历史提交
// 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.

#include "components/attribution_reporting/eligibility.h"

#include <optional>

#include "components/attribution_reporting/registration_eligibility.mojom-shared.h"
#include "services/network/public/mojom/attribution.mojom-shared.h"

namespace attribution_reporting {

namespace {
using ::attribution_reporting::mojom::RegistrationEligibility;
using ::network::mojom::AttributionReportingEligibility;
}  // namespace

std::optional<RegistrationEligibility> GetRegistrationEligibility(
    AttributionReportingEligibility net_value) {
  switch (net_value) {
    case AttributionReportingEligibility::kEmpty:
      return std::nullopt;
    case AttributionReportingEligibility::kUnset:
    case AttributionReportingEligibility::kTrigger:
      return RegistrationEligibility::kTrigger;
    case AttributionReportingEligibility::kEventSource:
    case AttributionReportingEligibility::kNavigationSource:
      return RegistrationEligibility::kSource;
    case AttributionReportingEligibility::kEventSourceOrTrigger:
      return RegistrationEligibility::kSourceOrTrigger;
  }
  return std::nullopt;
}

}  // namespace attribution_reporting