#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_INTEREST_GROUP_INTEREST_GROUP_TYPES_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_INTEREST_GROUP_INTEREST_GROUP_TYPES_MOJOM_SHARED_H_
#include <stdint.h>
#include <functional>
#include <iosfwd>
#include <type_traits>
#include <utility>
#include "mojo/public/cpp/bindings/array_data_view.h"
#include "mojo/public/cpp/bindings/enum_traits.h"
#include "mojo/public/cpp/bindings/interface_data_view.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/serialization.h"
#include "mojo/public/cpp/bindings/map_data_view.h"
#include "mojo/public/cpp/bindings/string_data_view.h"
#include "third_party/perfetto/include/perfetto/tracing/traced_value_forward.h"
#include "third_party/blink/public/mojom/interest_group/interest_group_types.mojom-shared-internal.h"
#include "mojo/public/mojom/base/int128.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "mojo/public/mojom/base/unguessable_token.mojom-shared.h"
#include "mojo/public/mojom/base/uuid.mojom-shared.h"
#include "third_party/blink/public/mojom/interest_group/ad_display_size.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "base/component_export.h"
namespace blink::mojom {
class InterestGroupAdDataView;
class SellerCapabilitiesDataView;
class AuctionServerRequestFlagsDataView;
class AdKeywordReplacementDataView;
class InterestGroupDataView;
class DirectFromSellerSignalsSubresourceDataView;
class DirectFromSellerSignalsDataView;
class AuctionAdConfigBuyerTimeoutsDataView;
class AdCurrencyDataView;
class AuctionAdConfigBuyerCurrenciesDataView;
class AuctionAdServerResponseConfigDataView;
class AuctionReportBuyerDebugModeConfigDataView;
class AuctionReportBuyersConfigDataView;
class AuctionAdConfigNonSharedParamsDataView;
class AuctionAdConfigDataView;
class AuctionDataBuyerConfigDataView;
class AuctionDataConfigDataView;
class AuctionAdConfigMaybePromiseJsonDataView;
class AuctionAdConfigMaybePromisePerBuyerSignalsDataView;
class AuctionAdConfigMaybePromiseBuyerTimeoutsDataView;
class AuctionAdConfigMaybePromiseBuyerCurrenciesDataView;
class AuctionAdConfigMaybePromiseDirectFromSellerSignalsDataView;
class AuctionAdConfigMaybePromiseDeprecatedRenderURLReplacementsDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::blink::mojom::InterestGroupAdDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::SellerCapabilitiesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionServerRequestFlagsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AdKeywordReplacementDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::InterestGroupDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::DirectFromSellerSignalsSubresourceDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::DirectFromSellerSignalsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigBuyerTimeoutsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AdCurrencyDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigBuyerCurrenciesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdServerResponseConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionReportBuyerDebugModeConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionReportBuyersConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigNonSharedParamsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionDataBuyerConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionDataConfigDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigMaybePromiseJsonDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigMaybePromiseBuyerCurrenciesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigMaybePromiseDirectFromSellerSignalsDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::AuctionAdConfigMaybePromiseDeprecatedRenderURLReplacementsDataView> { … };
}
}
namespace blinkmojom
namespace std {
template <>
struct hash<::blink::mojom::InterestGroup_ExecutionMode>
: public mojo::internal::EnumHashImpl<::blink::mojom::InterestGroup_ExecutionMode> { … };
template <>
struct hash<::blink::mojom::InterestGroup_TrustedBiddingSignalsSlotSizeMode>
: public mojo::internal::EnumHashImpl<::blink::mojom::InterestGroup_TrustedBiddingSignalsSlotSizeMode> { … };
template <>
struct hash<::blink::mojom::AuctionAdConfigNonSharedParams_BuyerReportType>
: public mojo::internal::EnumHashImpl<::blink::mojom::AuctionAdConfigNonSharedParams_BuyerReportType> { … };
template <>
struct hash<::blink::mojom::AuctionAdConfigNonSharedParams_RealTimeReportingType>
: public mojo::internal::EnumHashImpl<::blink::mojom::AuctionAdConfigNonSharedParams_RealTimeReportingType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::blink::mojom::InterestGroup_ExecutionMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::InterestGroup_TrustedBiddingSignalsSlotSizeMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigNonSharedParams_BuyerReportType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigNonSharedParams_RealTimeReportingType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::InterestGroupAdDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::SellerCapabilitiesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionServerRequestFlagsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AdKeywordReplacementDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::InterestGroupDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::DirectFromSellerSignalsSubresourceDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::DirectFromSellerSignalsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigBuyerTimeoutsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AdCurrencyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigBuyerCurrenciesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdServerResponseConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionReportBuyerDebugModeConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionReportBuyersConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigNonSharedParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionDataBuyerConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionDataConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigMaybePromiseJsonDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigMaybePromisePerBuyerSignalsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigMaybePromiseBuyerTimeoutsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigMaybePromiseBuyerCurrenciesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigMaybePromiseDirectFromSellerSignalsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::AuctionAdConfigMaybePromiseDeprecatedRenderURLReplacementsDataView, MaybeConstUserType>;
}
}
namespace blink::mojom {
inline void InterestGroupAdDataView::GetRenderUrlDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupAdDataView::GetSizeGroupDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupAdDataView::GetBuyerReportingIdDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupAdDataView::GetBuyerAndSellerReportingIdDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupAdDataView::GetSelectableBuyerAndSellerReportingIdsDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void InterestGroupAdDataView::GetMetadataDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupAdDataView::GetAdRenderIdDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupAdDataView::GetAllowedReportingOriginsDataView(
mojo::ArrayDataView<::url::mojom::OriginDataView>* output) { … }
inline void AdKeywordReplacementDataView::GetMatchDataView(
mojo::StringDataView* output) { … }
inline void AdKeywordReplacementDataView::GetReplacementDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupDataView::GetExpiryDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void InterestGroupDataView::GetOwnerDataView(
::url::mojom::OriginDataView* output) { … }
inline void InterestGroupDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupDataView::GetPriorityVectorDataView(
mojo::MapDataView<mojo::StringDataView, double>* output) { … }
inline void InterestGroupDataView::GetPrioritySignalsOverridesDataView(
mojo::MapDataView<mojo::StringDataView, double>* output) { … }
inline void InterestGroupDataView::GetSellerCapabilitiesDataView(
mojo::MapDataView<::url::mojom::OriginDataView, SellerCapabilitiesDataView>* output) { … }
inline void InterestGroupDataView::GetAllSellersCapabilitiesDataView(
SellerCapabilitiesDataView* output) { … }
inline void InterestGroupDataView::GetBiddingUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void InterestGroupDataView::GetBiddingWasmHelperUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void InterestGroupDataView::GetUpdateUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void InterestGroupDataView::GetTrustedBiddingSignalsUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void InterestGroupDataView::GetTrustedBiddingSignalsKeysDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void InterestGroupDataView::GetTrustedBiddingSignalsCoordinatorDataView(
::url::mojom::OriginDataView* output) { … }
inline void InterestGroupDataView::GetUserBiddingSignalsDataView(
mojo::StringDataView* output) { … }
inline void InterestGroupDataView::GetAdsDataView(
mojo::ArrayDataView<InterestGroupAdDataView>* output) { … }
inline void InterestGroupDataView::GetAdComponentsDataView(
mojo::ArrayDataView<InterestGroupAdDataView>* output) { … }
inline void InterestGroupDataView::GetAdSizesDataView(
mojo::MapDataView<mojo::StringDataView, ::blink::mojom::AdSizeDataView>* output) { … }
inline void InterestGroupDataView::GetSizeGroupsDataView(
mojo::MapDataView<mojo::StringDataView, mojo::ArrayDataView<mojo::StringDataView>>* output) { … }
inline void InterestGroupDataView::GetAuctionServerRequestFlagsDataView(
AuctionServerRequestFlagsDataView* output) { … }
inline void InterestGroupDataView::GetAdditionalBidKeyDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void InterestGroupDataView::GetAggregationCoordinatorOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void DirectFromSellerSignalsSubresourceDataView::GetBundleUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void DirectFromSellerSignalsSubresourceDataView::GetTokenDataView(
::mojo_base::mojom::UnguessableTokenDataView* output) { … }
inline void DirectFromSellerSignalsDataView::GetPrefixDataView(
::url::mojom::UrlDataView* output) { … }
inline void DirectFromSellerSignalsDataView::GetPerBuyerSignalsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, DirectFromSellerSignalsSubresourceDataView>* output) { … }
inline void DirectFromSellerSignalsDataView::GetSellerSignalsDataView(
DirectFromSellerSignalsSubresourceDataView* output) { … }
inline void DirectFromSellerSignalsDataView::GetAuctionSignalsDataView(
DirectFromSellerSignalsSubresourceDataView* output) { … }
inline void AuctionAdConfigBuyerTimeoutsDataView::GetAllBuyersTimeoutDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void AuctionAdConfigBuyerTimeoutsDataView::GetPerBuyerTimeoutsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, ::mojo_base::mojom::TimeDeltaDataView>* output) { … }
inline void AdCurrencyDataView::GetCurrencyCodeDataView(
mojo::StringDataView* output) { … }
inline void AuctionAdConfigBuyerCurrenciesDataView::GetAllBuyersCurrencyDataView(
AdCurrencyDataView* output) { … }
inline void AuctionAdConfigBuyerCurrenciesDataView::GetPerBuyerCurrenciesDataView(
mojo::MapDataView<::url::mojom::OriginDataView, AdCurrencyDataView>* output) { … }
inline void AuctionAdServerResponseConfigDataView::GetRequestIdDataView(
::mojo_base::mojom::UuidDataView* output) { … }
inline void AuctionReportBuyersConfigDataView::GetBucketDataView(
::mojo_base::mojom::Uint128DataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetInterestGroupBuyersDataView(
mojo::ArrayDataView<::url::mojom::OriginDataView>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAuctionSignalsDataView(
AuctionAdConfigMaybePromiseJsonDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetSellerSignalsDataView(
AuctionAdConfigMaybePromiseJsonDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetSellerTimeoutDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetPerBuyerSignalsDataView(
AuctionAdConfigMaybePromisePerBuyerSignalsDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetBuyerTimeoutsDataView(
AuctionAdConfigMaybePromiseBuyerTimeoutsDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetReportingTimeoutDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetSellerCurrencyDataView(
AdCurrencyDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetBuyerCurrenciesDataView(
AuctionAdConfigMaybePromiseBuyerCurrenciesDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetBuyerCumulativeTimeoutsDataView(
AuctionAdConfigMaybePromiseBuyerTimeoutsDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetPerBuyerGroupLimitsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, uint16_t>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetPerBuyerPrioritySignalsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, mojo::MapDataView<mojo::StringDataView, double>>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAllBuyersPrioritySignalsDataView(
mojo::MapDataView<mojo::StringDataView, double>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAuctionReportBuyerKeysDataView(
mojo::ArrayDataView<::mojo_base::mojom::Uint128DataView>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAuctionReportBuyersDataView(
mojo::MapDataView<AuctionAdConfigNonSharedParams_BuyerReportType, AuctionReportBuyersConfigDataView>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAuctionReportBuyerDebugModeConfigDataView(
AuctionReportBuyerDebugModeConfigDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetRequiredSellerCapabilitiesDataView(
SellerCapabilitiesDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetRequestedSizeDataView(
::blink::mojom::AdSizeDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAllSlotsRequestedSizesDataView(
mojo::ArrayDataView<::blink::mojom::AdSizeDataView>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetPerBuyerMultiBidLimitsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, uint16_t>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetAuctionNonceDataView(
::mojo_base::mojom::UuidDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetPerBuyerRealTimeReportingTypesDataView(
mojo::MapDataView<::url::mojom::OriginDataView, AuctionAdConfigNonSharedParams_RealTimeReportingType>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetComponentAuctionsDataView(
mojo::ArrayDataView<AuctionAdConfigDataView>* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetDeprecatedRenderUrlReplacementsDataView(
AuctionAdConfigMaybePromiseDeprecatedRenderURLReplacementsDataView* output) { … }
inline void AuctionAdConfigNonSharedParamsDataView::GetTrustedScoringSignalsCoordinatorDataView(
::url::mojom::OriginDataView* output) { … }
inline void AuctionAdConfigDataView::GetSellerDataView(
::url::mojom::OriginDataView* output) { … }
inline void AuctionAdConfigDataView::GetServerResponseDataView(
AuctionAdServerResponseConfigDataView* output) { … }
inline void AuctionAdConfigDataView::GetDecisionLogicUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void AuctionAdConfigDataView::GetTrustedScoringSignalsUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void AuctionAdConfigDataView::GetAuctionAdConfigNonSharedParamsDataView(
AuctionAdConfigNonSharedParamsDataView* output) { … }
inline void AuctionAdConfigDataView::GetDirectFromSellerSignalsDataView(
AuctionAdConfigMaybePromiseDirectFromSellerSignalsDataView* output) { … }
inline void AuctionAdConfigDataView::GetPerBuyerExperimentGroupIdsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, uint16_t>* output) { … }
inline void AuctionAdConfigDataView::GetAggregationCoordinatorOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void AuctionDataConfigDataView::GetPerBuyerConfigsDataView(
mojo::MapDataView<::url::mojom::OriginDataView, AuctionDataBuyerConfigDataView>* output) { … }
inline void AuctionAdConfigMaybePromiseJsonDataView::GetValueDataView(
mojo::StringDataView* output) const { … }
inline void AuctionAdConfigMaybePromisePerBuyerSignalsDataView::GetValueDataView(
mojo::MapDataView<::url::mojom::OriginDataView, mojo::StringDataView>* output) const { … }
inline void AuctionAdConfigMaybePromiseBuyerTimeoutsDataView::GetValueDataView(
AuctionAdConfigBuyerTimeoutsDataView* output) const { … }
inline void AuctionAdConfigMaybePromiseBuyerCurrenciesDataView::GetValueDataView(
AuctionAdConfigBuyerCurrenciesDataView* output) const { … }
inline void AuctionAdConfigMaybePromiseDirectFromSellerSignalsDataView::GetValueDataView(
DirectFromSellerSignalsDataView* output) const { … }
inline void AuctionAdConfigMaybePromiseDeprecatedRenderURLReplacementsDataView::GetValueDataView(
mojo::ArrayDataView<AdKeywordReplacementDataView>* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::InterestGroup_ExecutionMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::InterestGroup_TrustedBiddingSignalsSlotSizeMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::AuctionAdConfigNonSharedParams_BuyerReportType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::AuctionAdConfigNonSharedParams_RealTimeReportingType> { … };
}
#endif