#ifndef CONTENT_SERVICES_AUCTION_WORKLET_PUBLIC_MOJOM_BIDDER_WORKLET_MOJOM_SHARED_H_
#define CONTENT_SERVICES_AUCTION_WORKLET_PUBLIC_MOJOM_BIDDER_WORKLET_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 "content/services/auction_worklet/public/mojom/bidder_worklet.mojom-shared-internal.h"
#include "content/services/auction_worklet/public/mojom/private_aggregation_request.mojom-shared.h"
#include "content/services/auction_worklet/public/mojom/real_time_reporting.mojom-shared.h"
#include "content/services/auction_worklet/public/mojom/reject_reason.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "services/network/public/mojom/url_loader_factory.mojom-shared.h"
#include "third_party/blink/public/mojom/devtools/devtools_agent.mojom-shared.h"
#include "third_party/blink/public/mojom/interest_group/ad_display_size.mojom-shared.h"
#include "third_party/blink/public/mojom/interest_group/interest_group_types.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "mojo/public/cpp/bindings/lib/interface_serialization.h"
#include "mojo/public/cpp/system/data_pipe.h"
#include "base/component_export.h"
namespace auction_worklet::mojom {
class PreviousWinDataView;
class KAnonKeyDataView;
class BidderWorkletNonSharedParamsDataView;
class BiddingBrowserSignalsDataView;
class BidderWorkletBidDataView;
class PrioritySignalsDoubleDataView;
class GenerateBidDependencyLatenciesDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::auction_worklet::mojom::PreviousWinDataView> { … };
template <>
struct MojomTypeTraits<::auction_worklet::mojom::KAnonKeyDataView> { … };
template <>
struct MojomTypeTraits<::auction_worklet::mojom::BidderWorkletNonSharedParamsDataView> { … };
template <>
struct MojomTypeTraits<::auction_worklet::mojom::BiddingBrowserSignalsDataView> { … };
template <>
struct MojomTypeTraits<::auction_worklet::mojom::BidderWorkletBidDataView> { … };
template <>
struct MojomTypeTraits<::auction_worklet::mojom::PrioritySignalsDoubleDataView> { … };
template <>
struct MojomTypeTraits<::auction_worklet::mojom::GenerateBidDependencyLatenciesDataView> { … };
}
}
namespace auction_workletmojom
namespace std {
template <>
struct hash<::auction_worklet::mojom::KAnonymityBidMode>
: public mojo::internal::EnumHashImpl<::auction_worklet::mojom::KAnonymityBidMode> { … };
template <>
struct hash<::auction_worklet::mojom::BidRole>
: public mojo::internal::EnumHashImpl<::auction_worklet::mojom::BidRole> { … };
template <>
struct hash<::auction_worklet::mojom::ReportingIdField>
: public mojo::internal::EnumHashImpl<::auction_worklet::mojom::ReportingIdField> { … };
}
namespace mojo {
namespace internal {
Serializer< ::auction_worklet::mojom::KAnonymityBidMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::BidRole, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::ReportingIdField, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::PreviousWinDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::KAnonKeyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::BidderWorkletNonSharedParamsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::BiddingBrowserSignalsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::BidderWorkletBidDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::PrioritySignalsDoubleDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::auction_worklet::mojom::GenerateBidDependencyLatenciesDataView, MaybeConstUserType>;
}
}
namespace auction_worklet::mojom {
inline void PreviousWinDataView::GetTimeDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void PreviousWinDataView::GetAdJsonDataView(
mojo::StringDataView* output) { … }
inline void KAnonKeyDataView::GetDataDataView(
mojo::StringDataView* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetPriorityVectorDataView(
mojo::MapDataView<mojo::StringDataView, double>* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetUpdateUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetTrustedBiddingSignalsKeysDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetUserBiddingSignalsDataView(
mojo::StringDataView* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetAdsDataView(
mojo::ArrayDataView<::blink::mojom::InterestGroupAdDataView>* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetAdComponentsDataView(
mojo::ArrayDataView<::blink::mojom::InterestGroupAdDataView>* output) { … }
inline void BidderWorkletNonSharedParamsDataView::GetKanonKeysDataView(
mojo::ArrayDataView<KAnonKeyDataView>* output) { … }
inline void BiddingBrowserSignalsDataView::GetPrevWinsDataView(
mojo::ArrayDataView<PreviousWinDataView>* output) { … }
inline void BidderWorkletBidDataView::GetAdDataView(
mojo::StringDataView* output) { … }
inline void BidderWorkletBidDataView::GetBidCurrencyDataView(
::blink::mojom::AdCurrencyDataView* output) { … }
inline void BidderWorkletBidDataView::GetAdDescriptorDataView(
::blink::mojom::AdDescriptorDataView* output) { … }
inline void BidderWorkletBidDataView::GetSelectedBuyerAndSellerReportingIdDataView(
mojo::StringDataView* output) { … }
inline void BidderWorkletBidDataView::GetAdComponentDescriptorsDataView(
mojo::ArrayDataView<::blink::mojom::AdDescriptorDataView>* output) { … }
inline void BidderWorkletBidDataView::GetBidDurationDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetCodeReadyLatencyDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetConfigPromisesLatencyDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetDirectFromSellerSignalsLatencyDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetTrustedBiddingSignalsLatencyDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetDepsWaitStartTimeDataView(
::mojo_base::mojom::TimeTicksDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetGenerateBidStartTimeDataView(
::mojo_base::mojom::TimeTicksDataView* output) { … }
inline void GenerateBidDependencyLatenciesDataView::GetGenerateBidFinishTimeDataView(
::mojo_base::mojom::TimeTicksDataView* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::auction_worklet::mojom::KAnonymityBidMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::auction_worklet::mojom::BidRole> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_CONTENT_EXPORT) TraceFormatTraits<::auction_worklet::mojom::ReportingIdField> { … };
}
#endif