chromium/services/network/public/cpp/ip_protection_data_types_mojom_traits.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.

#ifndef SERVICES_NETWORK_PUBLIC_CPP_IP_PROTECTION_DATA_TYPES_MOJOM_TRAITS_H_
#define SERVICES_NETWORK_PUBLIC_CPP_IP_PROTECTION_DATA_TYPES_MOJOM_TRAITS_H_

#include "components/ip_protection/common/ip_protection_data_types.h"
#include "mojo/public/cpp/bindings/struct_traits.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "services/network/public/mojom/network_context.mojom-shared.h"

namespace mojo {
// Converts network::mojom::GeoHint to/from ip_protection::GeoHint,
// so that ip_protection::GeoHint can be used throughout the codebase without
// any direct reference to network::mojom::GeoHint.
template <>
struct StructTraits<network::mojom::GeoHintDataView, ip_protection::GeoHint> {};

// Converts network::mojom::BlindSignedAuthToken to/from BlindSignedAuthToken,
// so that BlindSignedAuthToken can be used throughout the codebase without any
// direct reference to network::mojom::BlindSignedAuthToken.
template <>
struct StructTraits<network::mojom::BlindSignedAuthTokenDataView,
                    ip_protection::BlindSignedAuthToken> {};
}  // namespace mojo
#endif  // SERVICES_NETWORK_PUBLIC_CPP_IP_PROTECTION_DATA_TYPES_MOJOM_TRAITS_H_