#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_APP_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_APP_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/payments/payment_app.mojom-shared-internal.h"
#include "components/payments/mojom/payment_request_data.mojom-shared.h"
#include "third_party/blink/public/mojom/manifest/manifest.mojom-shared.h"
#include "third_party/blink/public/mojom/payments/payment_request.mojom-shared.h"
#include "third_party/blink/public/mojom/payments/payment_handler_host.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 payments::mojom {
class PaymentInstrumentDataView;
class CanMakePaymentEventDataDataView;
class PaymentRequestEventDataDataView;
class CanMakePaymentResponseDataView;
class PaymentHandlerResponseDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::payments::mojom::PaymentInstrumentDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::CanMakePaymentEventDataDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentRequestEventDataDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::CanMakePaymentResponseDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentHandlerResponseDataView> { … };
}
}
namespace paymentsmojom
namespace std {
template <>
struct hash<::payments::mojom::PaymentHandlerStatus>
: public mojo::internal::EnumHashImpl<::payments::mojom::PaymentHandlerStatus> { … };
template <>
struct hash<::payments::mojom::CanMakePaymentEventResponseType>
: public mojo::internal::EnumHashImpl<::payments::mojom::CanMakePaymentEventResponseType> { … };
template <>
struct hash<::payments::mojom::PaymentEventResponseType>
: public mojo::internal::EnumHashImpl<::payments::mojom::PaymentEventResponseType> { … };
template <>
struct hash<::payments::mojom::PaymentDelegation>
: public mojo::internal::EnumHashImpl<::payments::mojom::PaymentDelegation> { … };
}
namespace mojo {
namespace internal {
Serializer< ::payments::mojom::PaymentHandlerStatus, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::CanMakePaymentEventResponseType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentEventResponseType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentDelegation, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentInstrumentDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::CanMakePaymentEventDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentRequestEventDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::CanMakePaymentResponseDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentHandlerResponseDataView, MaybeConstUserType>;
}
}
namespace payments::mojom {
inline void PaymentInstrumentDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void PaymentInstrumentDataView::GetIconsDataView(
mojo::ArrayDataView<::blink::mojom::ManifestImageResourceDataView>* output) { … }
inline void PaymentInstrumentDataView::GetMethodDataView(
mojo::StringDataView* output) { … }
inline void PaymentInstrumentDataView::GetStringifiedCapabilitiesDataView(
mojo::StringDataView* output) { … }
inline void PaymentInstrumentDataView::GetSupportedNetworksDataView(
mojo::ArrayDataView<::payments::mojom::BasicCardNetwork>* output) { … }
inline void CanMakePaymentEventDataDataView::GetTopOriginDataView(
::url::mojom::UrlDataView* output) { … }
inline void CanMakePaymentEventDataDataView::GetPaymentRequestOriginDataView(
::url::mojom::UrlDataView* output) { … }
inline void CanMakePaymentEventDataDataView::GetMethodDataDataView(
mojo::ArrayDataView<::payments::mojom::PaymentMethodDataDataView>* output) { … }
inline void CanMakePaymentEventDataDataView::GetModifiersDataView(
mojo::ArrayDataView<::payments::mojom::PaymentDetailsModifierDataView>* output) { … }
inline void PaymentRequestEventDataDataView::GetTopOriginDataView(
::url::mojom::UrlDataView* output) { … }
inline void PaymentRequestEventDataDataView::GetPaymentRequestOriginDataView(
::url::mojom::UrlDataView* output) { … }
inline void PaymentRequestEventDataDataView::GetPaymentRequestIdDataView(
mojo::StringDataView* output) { … }
inline void PaymentRequestEventDataDataView::GetMethodDataDataView(
mojo::ArrayDataView<::payments::mojom::PaymentMethodDataDataView>* output) { … }
inline void PaymentRequestEventDataDataView::GetTotalDataView(
::payments::mojom::PaymentCurrencyAmountDataView* output) { … }
inline void PaymentRequestEventDataDataView::GetModifiersDataView(
mojo::ArrayDataView<::payments::mojom::PaymentDetailsModifierDataView>* output) { … }
inline void PaymentRequestEventDataDataView::GetInstrumentKeyDataView(
mojo::StringDataView* output) { … }
inline void PaymentRequestEventDataDataView::GetPaymentOptionsDataView(
::payments::mojom::PaymentOptionsDataView* output) { … }
inline void PaymentRequestEventDataDataView::GetShippingOptionsDataView(
mojo::ArrayDataView<::payments::mojom::PaymentShippingOptionDataView>* output) { … }
inline void PaymentHandlerResponseDataView::GetMethodNameDataView(
mojo::StringDataView* output) { … }
inline void PaymentHandlerResponseDataView::GetStringifiedDetailsDataView(
mojo::StringDataView* output) { … }
inline void PaymentHandlerResponseDataView::GetPayerNameDataView(
mojo::StringDataView* output) { … }
inline void PaymentHandlerResponseDataView::GetPayerEmailDataView(
mojo::StringDataView* output) { … }
inline void PaymentHandlerResponseDataView::GetPayerPhoneDataView(
mojo::StringDataView* output) { … }
inline void PaymentHandlerResponseDataView::GetShippingAddressDataView(
::payments::mojom::PaymentAddressDataView* output) { … }
inline void PaymentHandlerResponseDataView::GetShippingOptionDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentHandlerStatus> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::CanMakePaymentEventResponseType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentEventResponseType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentDelegation> { … };
}
#endif