chromium/out/Default/gen/third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom-shared.h

// third_party/blink/public/mojom/fenced_frame/fenced_frame_config.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_FENCED_FRAME_FENCED_FRAME_CONFIG_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_FENCED_FRAME_FENCED_FRAME_CONFIG_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/fenced_frame/fenced_frame_config.mojom-shared-internal.h"
#include "services/network/public/mojom/schemeful_site.mojom-shared.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy.mojom-shared.h"
#include "third_party/blink/public/mojom/permissions_policy/permissions_policy_feature.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"



#include "base/component_export.h"




namespace blink::mojom {
class AdAuctionDataDataView;

class URNConfigPairDataView;

class SharedStorageBudgetMetadataDataView;

class ParentPermissionsInfoDataView;

class FencedFrameConfigDataView;

class FencedFramePropertiesDataView;

class PotentiallyOpaqueURLDataView;
class PotentiallyOpaqueSizeDataView;
class PotentiallyOpaqueBoolDataView;
class PotentiallyOpaqueAdAuctionDataDataView;
class PotentiallyOpaqueConfigVectorDataView;
class PotentiallyOpaqueURNConfigVectorDataView;
class PotentiallyOpaqueSharedStorageBudgetMetadataDataView;


}  // blink::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::blink::mojom::AdAuctionDataDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::URNConfigPairDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::SharedStorageBudgetMetadataDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::ParentPermissionsInfoDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::FencedFrameConfigDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::FencedFramePropertiesDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueURLDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueSizeDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueBoolDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueAdAuctionDataDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueConfigVectorDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueURNConfigVectorDataView> {};

template <>
struct MojomTypeTraits<::blink::mojom::PotentiallyOpaqueSharedStorageBudgetMetadataDataView> {};

}  // namespace internal
}  // namespace mojo


namespace blinkmojom  // blink::mojom

namespace std {

template <>
struct hash<::blink::mojom::ReportingDestination>
    : public mojo::internal::EnumHashImpl<::blink::mojom::ReportingDestination> {};

template <>
struct hash<::blink::mojom::DeprecatedFencedFrameMode>
    : public mojo::internal::EnumHashImpl<::blink::mojom::DeprecatedFencedFrameMode> {};

template <>
struct hash<::blink::mojom::Opaque>
    : public mojo::internal::EnumHashImpl<::blink::mojom::Opaque> {};

template <>
struct hash<::blink::mojom::AutomaticBeaconType>
    : public mojo::internal::EnumHashImpl<::blink::mojom::AutomaticBeaconType> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::blink::mojom::ReportingDestination, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::DeprecatedFencedFrameMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::Opaque, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AutomaticBeaconType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::AdAuctionDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::URNConfigPairDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::SharedStorageBudgetMetadataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::ParentPermissionsInfoDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::FencedFrameConfigDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::FencedFramePropertiesDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueURLDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueSizeDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueBoolDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueAdAuctionDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueConfigVectorDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueURNConfigVectorDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::blink::mojom::PotentiallyOpaqueSharedStorageBudgetMetadataDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace blink::mojom {

inline void AdAuctionDataDataView::GetInterestGroupOwnerDataView(
    ::url::mojom::OriginDataView* output) {}
inline void AdAuctionDataDataView::GetInterestGroupNameDataView(
    mojo::StringDataView* output) {}


inline void URNConfigPairDataView::GetUrnDataView(
    ::url::mojom::UrlDataView* output) {}
inline void URNConfigPairDataView::GetConfigDataView(
    FencedFrameConfigDataView* output) {}


inline void SharedStorageBudgetMetadataDataView::GetSiteDataView(
    ::network::mojom::SchemefulSiteDataView* output) {}


inline void ParentPermissionsInfoDataView::GetParsedPermissionsPolicyDataView(
    mojo::ArrayDataView<::blink::mojom::ParsedPermissionsPolicyDeclarationDataView>* output) {}
inline void ParentPermissionsInfoDataView::GetOriginDataView(
    ::url::mojom::OriginDataView* output) {}


inline void FencedFrameConfigDataView::GetMappedUrlDataView(
    PotentiallyOpaqueURLDataView* output) {}
inline void FencedFrameConfigDataView::GetContainerSizeDataView(
    PotentiallyOpaqueSizeDataView* output) {}
inline void FencedFrameConfigDataView::GetContentSizeDataView(
    PotentiallyOpaqueSizeDataView* output) {}
inline void FencedFrameConfigDataView::GetDeprecatedShouldFreezeInitialSizeDataView(
    PotentiallyOpaqueBoolDataView* output) {}
inline void FencedFrameConfigDataView::GetAdAuctionDataDataView(
    PotentiallyOpaqueAdAuctionDataDataView* output) {}
inline void FencedFrameConfigDataView::GetNestedConfigsDataView(
    PotentiallyOpaqueConfigVectorDataView* output) {}
inline void FencedFrameConfigDataView::GetSharedStorageBudgetMetadataDataView(
    PotentiallyOpaqueSharedStorageBudgetMetadataDataView* output) {}
inline void FencedFrameConfigDataView::GetUrnUuidDataView(
    ::url::mojom::UrlDataView* output) {}
inline void FencedFrameConfigDataView::GetEffectiveEnabledPermissionsDataView(
    mojo::ArrayDataView<::blink::mojom::PermissionsPolicyFeature>* output) {}
inline void FencedFrameConfigDataView::GetParentPermissionsInfoDataView(
    ParentPermissionsInfoDataView* output) {}


inline void FencedFramePropertiesDataView::GetMappedUrlDataView(
    PotentiallyOpaqueURLDataView* output) {}
inline void FencedFramePropertiesDataView::GetContainerSizeDataView(
    PotentiallyOpaqueSizeDataView* output) {}
inline void FencedFramePropertiesDataView::GetContentSizeDataView(
    PotentiallyOpaqueSizeDataView* output) {}
inline void FencedFramePropertiesDataView::GetDeprecatedShouldFreezeInitialSizeDataView(
    PotentiallyOpaqueBoolDataView* output) {}
inline void FencedFramePropertiesDataView::GetAdAuctionDataDataView(
    PotentiallyOpaqueAdAuctionDataDataView* output) {}
inline void FencedFramePropertiesDataView::GetNestedUrnConfigPairsDataView(
    PotentiallyOpaqueURNConfigVectorDataView* output) {}
inline void FencedFramePropertiesDataView::GetSharedStorageBudgetMetadataDataView(
    PotentiallyOpaqueSharedStorageBudgetMetadataDataView* output) {}
inline void FencedFramePropertiesDataView::GetEffectiveEnabledPermissionsDataView(
    mojo::ArrayDataView<::blink::mojom::PermissionsPolicyFeature>* output) {}
inline void FencedFramePropertiesDataView::GetParentPermissionsInfoDataView(
    ParentPermissionsInfoDataView* output) {}


inline void PotentiallyOpaqueURLDataView::GetTransparentDataView(
    ::url::mojom::UrlDataView* output) const {}

inline void PotentiallyOpaqueSizeDataView::GetTransparentDataView(
    ::gfx::mojom::SizeDataView* output) const {}


inline void PotentiallyOpaqueAdAuctionDataDataView::GetTransparentDataView(
    AdAuctionDataDataView* output) const {}

inline void PotentiallyOpaqueConfigVectorDataView::GetTransparentDataView(
    mojo::ArrayDataView<FencedFrameConfigDataView>* output) const {}

inline void PotentiallyOpaqueURNConfigVectorDataView::GetTransparentDataView(
    mojo::ArrayDataView<URNConfigPairDataView>* output) const {}

inline void PotentiallyOpaqueSharedStorageBudgetMetadataDataView::GetTransparentDataView(
    SharedStorageBudgetMetadataDataView* output) const {}


}  // blink::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::ReportingDestination> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::DeprecatedFencedFrameMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::Opaque> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::AutomaticBeaconType> {};

} // namespace perfetto

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_FENCED_FRAME_FENCED_FRAME_CONFIG_MOJOM_SHARED_H_