#ifndef COMPONENTS_DIGITAL_GOODS_MOJOM_DIGITAL_GOODS_MOJOM_SHARED_H_
#define COMPONENTS_DIGITAL_GOODS_MOJOM_DIGITAL_GOODS_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/digital_goods/mojom/digital_goods.mojom-shared-internal.h"
#include "url/mojom/url.mojom-shared.h"
#include "components/payments/mojom/payment_request_data.mojom-shared.h"
namespace payments::mojom {
class ItemDetailsDataView;
class PurchaseReferenceDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::payments::mojom::ItemDetailsDataView> { … };
template <>
struct MojomTypeTraits<::payments::mojom::PurchaseReferenceDataView> { … };
}
}
namespace payments::mojom {
enum class BillingResponseCode : int32_t { … };
std::ostream& operator<<(std::ostream& os, BillingResponseCode value);
inline bool IsKnownEnumValue(BillingResponseCode value) { … }
inline BillingResponseCode ToKnownEnumValue(BillingResponseCode value) { … }
enum class ItemType : int32_t { … };
std::ostream& operator<<(std::ostream& os, ItemType value);
inline bool IsKnownEnumValue(ItemType value) { … }
inline ItemType ToKnownEnumValue(ItemType value) { … }
enum class CreateDigitalGoodsResponseCode : int32_t { … };
std::ostream& operator<<(std::ostream& os, CreateDigitalGoodsResponseCode value);
inline bool IsKnownEnumValue(CreateDigitalGoodsResponseCode value) { … }
inline CreateDigitalGoodsResponseCode ToKnownEnumValue(CreateDigitalGoodsResponseCode value) { … }
class ItemDetailsDataView { … };
class PurchaseReferenceDataView { … };
}
namespace std {
template <>
struct hash<::payments::mojom::BillingResponseCode>
: public mojo::internal::EnumHashImpl<::payments::mojom::BillingResponseCode> { … };
template <>
struct hash<::payments::mojom::ItemType>
: public mojo::internal::EnumHashImpl<::payments::mojom::ItemType> { … };
template <>
struct hash<::payments::mojom::CreateDigitalGoodsResponseCode>
: public mojo::internal::EnumHashImpl<::payments::mojom::CreateDigitalGoodsResponseCode> { … };
}
namespace mojo {
namespace internal {
Serializer< ::payments::mojom::BillingResponseCode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::ItemType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::CreateDigitalGoodsResponseCode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::ItemDetailsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::payments::mojom::PurchaseReferenceDataView, MaybeConstUserType>;
}
}
namespace payments::mojom {
inline void ItemDetailsDataView::GetItemIdDataView(
mojo::StringDataView* output) { … }
inline void ItemDetailsDataView::GetTitleDataView(
mojo::StringDataView* output) { … }
inline void ItemDetailsDataView::GetDescriptionDataView(
mojo::StringDataView* output) { … }
inline void ItemDetailsDataView::GetPriceDataView(
::payments::mojom::PaymentCurrencyAmountDataView* output) { … }
inline void ItemDetailsDataView::GetSubscriptionPeriodDataView(
mojo::StringDataView* output) { … }
inline void ItemDetailsDataView::GetFreeTrialPeriodDataView(
mojo::StringDataView* output) { … }
inline void ItemDetailsDataView::GetIntroductoryPriceDataView(
::payments::mojom::PaymentCurrencyAmountDataView* output) { … }
inline void ItemDetailsDataView::GetIntroductoryPricePeriodDataView(
mojo::StringDataView* output) { … }
inline void ItemDetailsDataView::GetIconUrlsDataView(
mojo::ArrayDataView<::url::mojom::UrlDataView>* output) { … }
inline void PurchaseReferenceDataView::GetItemIdDataView(
mojo::StringDataView* output) { … }
inline void PurchaseReferenceDataView::GetPurchaseTokenDataView(
mojo::StringDataView* output) { … }
}
namespace perfetto {
template <>
struct TraceFormatTraits<::payments::mojom::BillingResponseCode> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::payments::mojom::ItemType> { … };
}
namespace perfetto {
template <>
struct TraceFormatTraits<::payments::mojom::CreateDigitalGoodsResponseCode> { … };
}
#endif