#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_PRINTING_WEB_PRINTING_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_PRINTING_WEB_PRINTING_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/printing/web_printing.mojom-shared-internal.h"
#include "third_party/blink/public/mojom/blob/blob.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.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 blink::mojom {
class WebPrinterInfoDataView;
class WebPrintingRangeDataView;
class WebPrintingMediaSizeDataView;
class WebPrintingMediaCollectionDataView;
class WebPrinterAttributesDataView;
class WebPrintingMediaCollectionRequestedDataView;
class WebPrintJobTemplateAttributesDataView;
class WebPrintJobUpdateDataView;
class WebPrintJobInfoDataView;
class WebPrintingMediaSizeDimensionDataView;
class GetPrintersResultDataView;
class WebPrinterFetchResultDataView;
class WebPrintResultDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::blink::mojom::WebPrinterInfoDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintingRangeDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintingMediaSizeDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintingMediaCollectionDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrinterAttributesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintingMediaCollectionRequestedDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintJobTemplateAttributesDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintJobUpdateDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintJobInfoDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintingMediaSizeDimensionDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::GetPrintersResultDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrinterFetchResultDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::WebPrintResultDataView> { … };
}
}
namespace blinkmojom
namespace std {
template <>
struct hash<::blink::mojom::WebPrintingMultipleDocumentHandling>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrintingMultipleDocumentHandling> { … };
template <>
struct hash<::blink::mojom::WebPrintingSides>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrintingSides> { … };
template <>
struct hash<::blink::mojom::WebPrintColorMode>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrintColorMode> { … };
template <>
struct hash<::blink::mojom::WebPrintingOrientationRequested>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrintingOrientationRequested> { … };
template <>
struct hash<::blink::mojom::WebPrinterState>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrinterState> { … };
template <>
struct hash<::blink::mojom::WebPrinterStateReason>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrinterStateReason> { … };
template <>
struct hash<::blink::mojom::WebPrintJobState>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrintJobState> { … };
template <>
struct hash<::blink::mojom::GetPrintersError>
: public mojo::internal::EnumHashImpl<::blink::mojom::GetPrintersError> { … };
template <>
struct hash<::blink::mojom::WebPrinterFetchError>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrinterFetchError> { … };
template <>
struct hash<::blink::mojom::WebPrintError>
: public mojo::internal::EnumHashImpl<::blink::mojom::WebPrintError> { … };
}
namespace mojo {
namespace internal {
Serializer< ::blink::mojom::WebPrintingMultipleDocumentHandling, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingSides, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintColorMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingOrientationRequested, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrinterState, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrinterStateReason, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintJobState, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::GetPrintersError, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrinterFetchError, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintError, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrinterInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingRangeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingMediaSizeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingMediaCollectionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrinterAttributesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingMediaCollectionRequestedDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintJobTemplateAttributesDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintJobUpdateDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintJobInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintingMediaSizeDimensionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::GetPrintersResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrinterFetchResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::WebPrintResultDataView, MaybeConstUserType>;
}
}
namespace blink::mojom {
inline void WebPrinterInfoDataView::GetPrinterNameDataView(
mojo::StringDataView* output) { … }
inline void WebPrintingMediaSizeDataView::GetXDimensionDataView(
WebPrintingMediaSizeDimensionDataView* output) { … }
inline void WebPrintingMediaSizeDataView::GetYDimensionDataView(
WebPrintingMediaSizeDimensionDataView* output) { … }
inline void WebPrintingMediaCollectionDataView::GetMediaSizeDataView(
WebPrintingMediaSizeDataView* output) { … }
inline void WebPrintingMediaCollectionDataView::GetMediaSizeNameDataView(
mojo::StringDataView* output) { … }
inline void WebPrinterAttributesDataView::GetCopiesSupportedDataView(
WebPrintingRangeDataView* output) { … }
inline void WebPrinterAttributesDataView::GetMediaColDefaultDataView(
WebPrintingMediaCollectionDataView* output) { … }
inline void WebPrinterAttributesDataView::GetMediaColDatabaseDataView(
mojo::ArrayDataView<WebPrintingMediaCollectionDataView>* output) { … }
inline void WebPrinterAttributesDataView::GetMediaSourceDefaultDataView(
mojo::StringDataView* output) { … }
inline void WebPrinterAttributesDataView::GetMediaSourceSupportedDataView(
mojo::ArrayDataView<mojo::StringDataView>* output) { … }
inline void WebPrinterAttributesDataView::GetMultipleDocumentHandlingSupportedDataView(
mojo::ArrayDataView<WebPrintingMultipleDocumentHandling>* output) { … }
inline void WebPrinterAttributesDataView::GetOrientationRequestedSupportedDataView(
mojo::ArrayDataView<WebPrintingOrientationRequested>* output) { … }
inline void WebPrinterAttributesDataView::GetPrinterResolutionDefaultDataView(
::gfx::mojom::SizeDataView* output) { … }
inline void WebPrinterAttributesDataView::GetPrinterResolutionSupportedDataView(
mojo::ArrayDataView<::gfx::mojom::SizeDataView>* output) { … }
inline void WebPrinterAttributesDataView::GetPrintColorModeSupportedDataView(
mojo::ArrayDataView<WebPrintColorMode>* output) { … }
inline void WebPrinterAttributesDataView::GetPrinterStateMessageDataView(
mojo::StringDataView* output) { … }
inline void WebPrinterAttributesDataView::GetPrinterStateReasonsDataView(
mojo::ArrayDataView<WebPrinterStateReason>* output) { … }
inline void WebPrinterAttributesDataView::GetSidesSupportedDataView(
mojo::ArrayDataView<WebPrintingSides>* output) { … }
inline void WebPrintingMediaCollectionRequestedDataView::GetMediaSizeDataView(
::gfx::mojom::SizeDataView* output) { … }
inline void WebPrintJobTemplateAttributesDataView::GetJobNameDataView(
mojo::StringDataView* output) { … }
inline void WebPrintJobTemplateAttributesDataView::GetMediaColDataView(
WebPrintingMediaCollectionRequestedDataView* output) { … }
inline void WebPrintJobTemplateAttributesDataView::GetMediaSourceDataView(
mojo::StringDataView* output) { … }
inline void WebPrintJobTemplateAttributesDataView::GetPrinterResolutionDataView(
::gfx::mojom::SizeDataView* output) { … }
inline void WebPrintJobInfoDataView::GetJobNameDataView(
mojo::StringDataView* output) { … }
inline void WebPrintingMediaSizeDimensionDataView::GetRangeDataView(
WebPrintingRangeDataView* output) const { … }
inline void GetPrintersResultDataView::GetPrintersDataView(
mojo::ArrayDataView<WebPrinterInfoDataView>* output) const { … }
inline void WebPrinterFetchResultDataView::GetPrinterAttributesDataView(
WebPrinterAttributesDataView* output) const { … }
inline void WebPrintResultDataView::GetPrintJobInfoDataView(
WebPrintJobInfoDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrintingMultipleDocumentHandling> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrintingSides> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrintColorMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrintingOrientationRequested> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrinterState> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrinterStateReason> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrintJobState> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::GetPrintersError> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrinterFetchError> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::WebPrintError> { … };
}
#endif