#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_REQUEST_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_REQUEST_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_request.mojom-shared-internal.h"
#include "components/payments/mojom/payment_request_data.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "third_party/blink/public/mojom/payments/payment_credential.mojom-shared.h"
#include "url/mojom/origin.mojom-shared.h"
#include "url/mojom/url.mojom-shared.h"
#include "third_party/blink/public/mojom/webauthn/authenticator.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 PaymentResponseDataView;
class PayerDetailDataView;
class PaymentItemDataView;
class PaymentShippingOptionDataView;
class SecurePaymentConfirmationRequestDataView;
class NetworkOrIssuerInformationDataView;
class PaymentMethodDataDataView;
class PaymentDetailsModifierDataView;
class PaymentDetailsDataView;
class PaymentOptionsDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::payments::mojom::PaymentResponseDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PayerDetailDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentItemDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentShippingOptionDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::SecurePaymentConfirmationRequestDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::NetworkOrIssuerInformationDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentMethodDataDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentDetailsModifierDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentDetailsDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PaymentOptionsDataView> { … };
}
}
namespace paymentsmojom
namespace std {
template <>
struct hash<::payments::mojom::PaymentErrorReason>
: public mojo::internal::EnumHashImpl<::payments::mojom::PaymentErrorReason> { … };
template <>
struct hash<::payments::mojom::CanMakePaymentQueryResult>
: public mojo::internal::EnumHashImpl<::payments::mojom::CanMakePaymentQueryResult> { … };
template <>
struct hash<::payments::mojom::HasEnrolledInstrumentQueryResult>
: public mojo::internal::EnumHashImpl<::payments::mojom::HasEnrolledInstrumentQueryResult> { … };
template <>
struct hash<::payments::mojom::AndroidPayEnvironment>
: public mojo::internal::EnumHashImpl<::payments::mojom::AndroidPayEnvironment> { … };
template <>
struct hash<::payments::mojom::BasicCardNetwork>
: public mojo::internal::EnumHashImpl<::payments::mojom::BasicCardNetwork> { … };
template <>
struct hash<::payments::mojom::PaymentShippingType>
: public mojo::internal::EnumHashImpl<::payments::mojom::PaymentShippingType> { … };
template <>
struct hash<::payments::mojom::PaymentComplete>
: public mojo::internal::EnumHashImpl<::payments::mojom::PaymentComplete> { … };
}
namespace mojo {
namespace internal {
Serializer< ::payments::mojom::PaymentErrorReason, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::CanMakePaymentQueryResult, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::HasEnrolledInstrumentQueryResult, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::AndroidPayEnvironment, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::BasicCardNetwork, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentShippingType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentComplete, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentResponseDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PayerDetailDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentItemDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentShippingOptionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::SecurePaymentConfirmationRequestDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::NetworkOrIssuerInformationDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentMethodDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentDetailsModifierDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentDetailsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PaymentOptionsDataView, MaybeConstUserType>;
}
}
namespace payments::mojom {
inline void PaymentResponseDataView::GetMethodNameDataView(
mojo::StringDataView* output) { … }
inline void PaymentResponseDataView::GetStringifiedDetailsDataView(
mojo::StringDataView* output) { … }
inline void PaymentResponseDataView::GetShippingAddressDataView(
::payments::mojom::PaymentAddressDataView* output) { … }
inline void PaymentResponseDataView::GetShippingOptionDataView(
mojo::StringDataView* output) { … }
inline void PaymentResponseDataView::GetPayerDataView(
PayerDetailDataView* output) { … }
inline void PaymentResponseDataView::GetGetAssertionAuthenticatorResponseDataView(
::blink::mojom::GetAssertionAuthenticatorResponseDataView* output) { … }
inline void PayerDetailDataView::GetEmailDataView(
mojo::StringDataView* output) { … }
inline void PayerDetailDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void PayerDetailDataView::GetPhoneDataView(
mojo::StringDataView* output) { … }
inline void PaymentItemDataView::GetLabelDataView(
mojo::StringDataView* output) { … }
inline void PaymentItemDataView::GetAmountDataView(
::payments::mojom::PaymentCurrencyAmountDataView* output) { … }
inline void PaymentShippingOptionDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void PaymentShippingOptionDataView::GetLabelDataView(
mojo::StringDataView* output) { … }
inline void PaymentShippingOptionDataView::GetAmountDataView(
::payments::mojom::PaymentCurrencyAmountDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetCredentialIdsDataView(
mojo::ArrayDataView<mojo::ArrayDataView<uint8_t>>* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetChallengeDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetInstrumentDataView(
::blink::mojom::PaymentCredentialInstrumentDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetTimeoutDataView(
::mojo_base::mojom::TimeDeltaDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetPayeeOriginDataView(
::url::mojom::OriginDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetPayeeNameDataView(
mojo::StringDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetRpIdDataView(
mojo::StringDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetExtensionsDataView(
::blink::mojom::AuthenticationExtensionsClientInputsDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetNetworkInfoDataView(
NetworkOrIssuerInformationDataView* output) { … }
inline void SecurePaymentConfirmationRequestDataView::GetIssuerInfoDataView(
NetworkOrIssuerInformationDataView* output) { … }
inline void NetworkOrIssuerInformationDataView::GetNameDataView(
mojo::StringDataView* output) { … }
inline void NetworkOrIssuerInformationDataView::GetIconDataView(
::url::mojom::UrlDataView* output) { … }
inline void PaymentMethodDataDataView::GetSupportedMethodDataView(
mojo::StringDataView* output) { … }
inline void PaymentMethodDataDataView::GetStringifiedDataDataView(
mojo::StringDataView* output) { … }
inline void PaymentMethodDataDataView::GetSupportedNetworksDataView(
mojo::ArrayDataView<BasicCardNetwork>* output) { … }
inline void PaymentMethodDataDataView::GetSecurePaymentConfirmationDataView(
SecurePaymentConfirmationRequestDataView* output) { … }
inline void PaymentDetailsModifierDataView::GetTotalDataView(
PaymentItemDataView* output) { … }
inline void PaymentDetailsModifierDataView::GetAdditionalDisplayItemsDataView(
mojo::ArrayDataView<PaymentItemDataView>* output) { … }
inline void PaymentDetailsModifierDataView::GetMethodDataDataView(
PaymentMethodDataDataView* output) { … }
inline void PaymentDetailsDataView::GetTotalDataView(
PaymentItemDataView* output) { … }
inline void PaymentDetailsDataView::GetDisplayItemsDataView(
mojo::ArrayDataView<PaymentItemDataView>* output) { … }
inline void PaymentDetailsDataView::GetShippingOptionsDataView(
mojo::ArrayDataView<PaymentShippingOptionDataView>* output) { … }
inline void PaymentDetailsDataView::GetModifiersDataView(
mojo::ArrayDataView<PaymentDetailsModifierDataView>* output) { … }
inline void PaymentDetailsDataView::GetErrorDataView(
mojo::StringDataView* output) { … }
inline void PaymentDetailsDataView::GetShippingAddressErrorsDataView(
::payments::mojom::AddressErrorsDataView* output) { … }
inline void PaymentDetailsDataView::GetIdDataView(
mojo::StringDataView* output) { … }
inline void PaymentDetailsDataView::GetStringifiedPaymentMethodErrorsDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentErrorReason> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::CanMakePaymentQueryResult> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::HasEnrolledInstrumentQueryResult> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::AndroidPayEnvironment> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::BasicCardNetwork> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentShippingType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentComplete> { … };
}
#endif