#ifndef COMPONENTS_WEB_PACKAGE_MOJOM_WEB_BUNDLE_PARSER_MOJOM_SHARED_H_
#define COMPONENTS_WEB_PACKAGE_MOJOM_WEB_BUNDLE_PARSER_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 "components/web_package/mojom/web_bundle_parser.mojom-shared-internal.h"
#include "mojo/public/mojom/base/read_only_file.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"
namespace web_package::mojom {
class BundleIntegrityBlockParseErrorDataView;
class BundleMetadataParseErrorDataView;
class BundleResponseParseErrorDataView;
class BundleIntegrityBlockAttributesDataView;
class BundleIntegrityBlockDataView;
class Ed25519PublicKeyDataView;
class Ed25519SignatureDataView;
class SignatureInfoEd25519DataView;
class EcdsaP256PublicKeyDataView;
class EcdsaP256SHA256SignatureDataView;
class SignatureInfoEcdsaP256SHA256DataView;
class SignatureInfoUnknownDataView;
class BundleIntegrityBlockSignatureStackEntryDataView;
class BundleMetadataDataView;
class BundleResponseLocationDataView;
class BundleResponseDataView;
class SignatureInfoDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::web_package::mojom::BundleIntegrityBlockParseErrorDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleMetadataParseErrorDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleResponseParseErrorDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleIntegrityBlockAttributesDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleIntegrityBlockDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::Ed25519PublicKeyDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::Ed25519SignatureDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::SignatureInfoEd25519DataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::EcdsaP256PublicKeyDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::EcdsaP256SHA256SignatureDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::SignatureInfoEcdsaP256SHA256DataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::SignatureInfoUnknownDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleIntegrityBlockSignatureStackEntryDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleMetadataDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleResponseLocationDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::BundleResponseDataView> { … };
template <>
struct MojomTypeTraits<::web_package::mojom::SignatureInfoDataView> { … };
}
}
namespace web_package::mojom {
enum class BundleParseErrorType : int32_t { … };
std::ostream& operator<<(std::ostream& os, BundleParseErrorType value);
inline bool IsKnownEnumValue(BundleParseErrorType value) { … }
enum class BundleFormatVersion : int32_t { … };
std::ostream& operator<<(std::ostream& os, BundleFormatVersion value);
inline bool IsKnownEnumValue(BundleFormatVersion value) { … }
class WebBundleParserFactoryInterfaceBase { … };
WebBundleParserFactoryPtrDataView;
WebBundleParserFactoryRequestDataView;
WebBundleParserFactoryAssociatedPtrInfoDataView;
WebBundleParserFactoryAssociatedRequestDataView;
class WebBundleParserInterfaceBase { … };
WebBundleParserPtrDataView;
WebBundleParserRequestDataView;
WebBundleParserAssociatedPtrInfoDataView;
WebBundleParserAssociatedRequestDataView;
class BundleDataSourceInterfaceBase { … };
BundleDataSourcePtrDataView;
BundleDataSourceRequestDataView;
BundleDataSourceAssociatedPtrInfoDataView;
BundleDataSourceAssociatedRequestDataView;
class BundleIntegrityBlockParseErrorDataView { … };
class BundleMetadataParseErrorDataView { … };
class BundleResponseParseErrorDataView { … };
class BundleIntegrityBlockAttributesDataView { … };
class BundleIntegrityBlockDataView { … };
class Ed25519PublicKeyDataView { … };
class Ed25519SignatureDataView { … };
class SignatureInfoEd25519DataView { … };
class EcdsaP256PublicKeyDataView { … };
class EcdsaP256SHA256SignatureDataView { … };
class SignatureInfoEcdsaP256SHA256DataView { … };
class SignatureInfoUnknownDataView { … };
class BundleIntegrityBlockSignatureStackEntryDataView { … };
class BundleMetadataDataView { … };
class BundleResponseLocationDataView { … };
class BundleResponseDataView { … };
class SignatureInfoDataView { … };
}
namespace std {
template <>
struct hash<::web_package::mojom::BundleParseErrorType>
: public mojo::internal::EnumHashImpl<::web_package::mojom::BundleParseErrorType> { … };
template <>
struct hash<::web_package::mojom::BundleFormatVersion>
: public mojo::internal::EnumHashImpl<::web_package::mojom::BundleFormatVersion> { … };
}
namespace mojo {
namespace internal {
Serializer< ::web_package::mojom::BundleParseErrorType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleFormatVersion, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleIntegrityBlockParseErrorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleMetadataParseErrorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleResponseParseErrorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleIntegrityBlockAttributesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleIntegrityBlockDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::Ed25519PublicKeyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::Ed25519SignatureDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::SignatureInfoEd25519DataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::EcdsaP256PublicKeyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::EcdsaP256SHA256SignatureDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::SignatureInfoEcdsaP256SHA256DataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::SignatureInfoUnknownDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleIntegrityBlockSignatureStackEntryDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleMetadataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleResponseLocationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::BundleResponseDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::web_package::mojom::SignatureInfoDataView, MaybeConstUserType>;
}
}
namespace web_package::mojom {
inline void BundleIntegrityBlockParseErrorDataView::GetMessageDataView(
mojo::StringDataView* output) { … }
inline void BundleMetadataParseErrorDataView::GetMessageDataView(
mojo::StringDataView* output) { … }
inline void BundleResponseParseErrorDataView::GetMessageDataView(
mojo::StringDataView* output) { … }
inline void BundleIntegrityBlockAttributesDataView::GetWebBundleIdDataView(
mojo::StringDataView* output) { … }
inline void BundleIntegrityBlockAttributesDataView::GetCborDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void BundleIntegrityBlockDataView::GetSignatureStackDataView(
mojo::ArrayDataView<BundleIntegrityBlockSignatureStackEntryDataView>* output) { … }
inline void BundleIntegrityBlockDataView::GetAttributesDataView(
BundleIntegrityBlockAttributesDataView* output) { … }
inline void Ed25519PublicKeyDataView::GetBytesDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void Ed25519SignatureDataView::GetBytesDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void SignatureInfoEd25519DataView::GetPublicKeyDataView(
Ed25519PublicKeyDataView* output) { … }
inline void SignatureInfoEd25519DataView::GetSignatureDataView(
Ed25519SignatureDataView* output) { … }
inline void EcdsaP256PublicKeyDataView::GetBytesDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void EcdsaP256SHA256SignatureDataView::GetBytesDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void SignatureInfoEcdsaP256SHA256DataView::GetPublicKeyDataView(
EcdsaP256PublicKeyDataView* output) { … }
inline void SignatureInfoEcdsaP256SHA256DataView::GetSignatureDataView(
EcdsaP256SHA256SignatureDataView* output) { … }
inline void BundleIntegrityBlockSignatureStackEntryDataView::GetAttributesCborDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void BundleIntegrityBlockSignatureStackEntryDataView::GetSignatureInfoDataView(
SignatureInfoDataView* output) { … }
inline void BundleMetadataDataView::GetPrimaryUrlDataView(
::url::mojom::UrlDataView* output) { … }
inline void BundleMetadataDataView::GetRequestsDataView(
mojo::MapDataView<::url::mojom::UrlDataView, BundleResponseLocationDataView>* output) { … }
inline void BundleResponseDataView::GetResponseHeadersDataView(
mojo::MapDataView<mojo::StringDataView, mojo::StringDataView>* output) { … }
inline void SignatureInfoDataView::GetUnknownDataView(
SignatureInfoUnknownDataView* output) const { … }
inline void SignatureInfoDataView::GetEd25519DataView(
SignatureInfoEd25519DataView* output) const { … }
inline void SignatureInfoDataView::GetEcdsaP256Sha256DataView(
SignatureInfoEcdsaP256SHA256DataView* output) const { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::web_package::mojom::BundleParseErrorType> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::web_package::mojom::BundleFormatVersion> { … };
}
#endif