chromium/out/Default/gen/third_party/blink/public/mojom/payments/payment_request.mojom-shared.h

// third_party/blink/public/mojom/payments/payment_request.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_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;



}  // payments::mojom

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 internal
}  // namespace mojo


namespace paymentsmojom  // payments::mojom

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 std

namespace mojo {


namespace internal {

Serializer< ::payments::mojom::PaymentErrorReason, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::CanMakePaymentQueryResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::HasEnrolledInstrumentQueryResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::AndroidPayEnvironment, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::BasicCardNetwork, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentShippingType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentComplete, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentResponseDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PayerDetailDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentItemDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentShippingOptionDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::SecurePaymentConfirmationRequestDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::NetworkOrIssuerInformationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentMethodDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentDetailsModifierDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentDetailsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::payments::mojom::PaymentOptionsDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


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) {}





}  // payments::mojom

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

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentErrorReason> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::CanMakePaymentQueryResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::HasEnrolledInstrumentQueryResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::AndroidPayEnvironment> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::BasicCardNetwork> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentShippingType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::payments::mojom::PaymentComplete> {};

} // namespace perfetto

#endif  // THIRD_PARTY_BLINK_PUBLIC_MOJOM_PAYMENTS_PAYMENT_REQUEST_MOJOM_SHARED_H_