#ifndef THIRD_PARTY_BLINK_PUBLIC_MOJOM_INDEXEDDB_INDEXEDDB_MOJOM_SHARED_H_
#define THIRD_PARTY_BLINK_PUBLIC_MOJOM_INDEXEDDB_INDEXEDDB_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/indexeddb/indexeddb.mojom-shared-internal.h"
#include "mojo/public/mojom/base/string16.mojom-shared.h"
#include "mojo/public/mojom/base/string16.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "third_party/blink/public/mojom/blob/blob.mojom-shared.h"
#include "third_party/blink/public/mojom/file_system_access/file_system_access_transfer_token.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 IDBKeyPathDataView;
class IDBKeyRangeDataView;
class IDBIndexMetadataDataView;
class IDBObjectStoreMetadataDataView;
class IDBDatabaseMetadataDataView;
class IDBNameAndVersionDataView;
class IDBIndexKeysDataView;
class IDBFileInfoDataView;
class IDBBlobInfoDataView;
class IDBValueDataView;
class IDBReturnValueDataView;
class IDBErrorDataView;
class IDBCursorValueDataView;
class IDBDatabaseOpenCursorValueDataView;
class IDBKeyDataView;
class IDBKeyPathDataDataView;
class IDBExternalObjectDataView;
class IDBCursorResultDataView;
class IDBTransactionPutResultDataView;
class IDBDatabaseGetResultDataView;
class IDBDatabaseOpenCursorResultDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::blink::mojom::IDBKeyPathDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBKeyRangeDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBIndexMetadataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBObjectStoreMetadataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBDatabaseMetadataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBNameAndVersionDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBIndexKeysDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBFileInfoDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBBlobInfoDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBValueDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBReturnValueDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBErrorDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBCursorValueDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBDatabaseOpenCursorValueDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBKeyDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBKeyPathDataDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBExternalObjectDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBCursorResultDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBTransactionPutResultDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBDatabaseGetResultDataView> { … };
template <>
struct MojomTypeTraits<::blink::mojom::IDBDatabaseOpenCursorResultDataView> { … };
}
}
namespace blinkmojom
namespace std {
template <>
struct hash<::blink::mojom::IDBCursorDirection>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBCursorDirection> { … };
template <>
struct hash<::blink::mojom::IDBDataLoss>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBDataLoss> { … };
template <>
struct hash<::blink::mojom::IDBKeyType>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBKeyType> { … };
template <>
struct hash<::blink::mojom::IDBTransactionDurability>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBTransactionDurability> { … };
template <>
struct hash<::blink::mojom::IDBKeyPathType>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBKeyPathType> { … };
template <>
struct hash<::blink::mojom::IDBOperationType>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBOperationType> { … };
template <>
struct hash<::blink::mojom::IDBPutMode>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBPutMode> { … };
template <>
struct hash<::blink::mojom::IDBTaskType>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBTaskType> { … };
template <>
struct hash<::blink::mojom::IDBTransactionMode>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBTransactionMode> { … };
template <>
struct hash<::blink::mojom::IDBException>
: public mojo::internal::EnumHashImpl<::blink::mojom::IDBException> { … };
}
namespace mojo {
namespace internal {
Serializer< ::blink::mojom::IDBCursorDirection, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBDataLoss, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBKeyType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBTransactionDurability, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBKeyPathType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBOperationType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBPutMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBTaskType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBTransactionMode, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBException, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBKeyPathDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBKeyRangeDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBIndexMetadataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBObjectStoreMetadataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBDatabaseMetadataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBNameAndVersionDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBIndexKeysDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBFileInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBBlobInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBValueDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBReturnValueDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBErrorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBCursorValueDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBDatabaseOpenCursorValueDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBKeyDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBKeyPathDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBExternalObjectDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBCursorResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBTransactionPutResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBDatabaseGetResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::blink::mojom::IDBDatabaseOpenCursorResultDataView, MaybeConstUserType>;
}
}
namespace blink::mojom {
inline void IDBKeyPathDataView::GetDataDataView(
IDBKeyPathDataDataView* output) { … }
inline void IDBKeyRangeDataView::GetLowerDataView(
IDBKeyDataView* output) { … }
inline void IDBKeyRangeDataView::GetUpperDataView(
IDBKeyDataView* output) { … }
inline void IDBIndexMetadataDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBIndexMetadataDataView::GetKeyPathDataView(
IDBKeyPathDataView* output) { … }
inline void IDBObjectStoreMetadataDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBObjectStoreMetadataDataView::GetKeyPathDataView(
IDBKeyPathDataView* output) { … }
inline void IDBObjectStoreMetadataDataView::GetIndexesDataView(
mojo::MapDataView<int64_t, IDBIndexMetadataDataView>* output) { … }
inline void IDBDatabaseMetadataDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBDatabaseMetadataDataView::GetObjectStoresDataView(
mojo::MapDataView<int64_t, IDBObjectStoreMetadataDataView>* output) { … }
inline void IDBNameAndVersionDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBIndexKeysDataView::GetIndexKeysDataView(
mojo::ArrayDataView<IDBKeyDataView>* output) { … }
inline void IDBFileInfoDataView::GetNameDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBFileInfoDataView::GetLastModifiedDataView(
::mojo_base::mojom::TimeDataView* output) { … }
inline void IDBBlobInfoDataView::GetUuidDataView(
mojo::StringDataView* output) { … }
inline void IDBBlobInfoDataView::GetMimeTypeDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBBlobInfoDataView::GetFileDataView(
IDBFileInfoDataView* output) { … }
inline void IDBValueDataView::GetBitsDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void IDBValueDataView::GetExternalObjectsDataView(
mojo::ArrayDataView<IDBExternalObjectDataView>* output) { … }
inline void IDBReturnValueDataView::GetValueDataView(
IDBValueDataView* output) { … }
inline void IDBReturnValueDataView::GetPrimaryKeyDataView(
IDBKeyDataView* output) { … }
inline void IDBReturnValueDataView::GetKeyPathDataView(
IDBKeyPathDataView* output) { … }
inline void IDBErrorDataView::GetErrorMessageDataView(
::mojo_base::mojom::String16DataView* output) { … }
inline void IDBCursorValueDataView::GetKeysDataView(
mojo::ArrayDataView<IDBKeyDataView>* output) { … }
inline void IDBCursorValueDataView::GetPrimaryKeysDataView(
mojo::ArrayDataView<IDBKeyDataView>* output) { … }
inline void IDBCursorValueDataView::GetValuesDataView(
mojo::ArrayDataView<IDBValueDataView>* output) { … }
inline void IDBDatabaseOpenCursorValueDataView::GetKeyDataView(
IDBKeyDataView* output) { … }
inline void IDBDatabaseOpenCursorValueDataView::GetPrimaryKeyDataView(
IDBKeyDataView* output) { … }
inline void IDBDatabaseOpenCursorValueDataView::GetValueDataView(
IDBValueDataView* output) { … }
inline void IDBKeyDataView::GetKeyArrayDataView(
mojo::ArrayDataView<IDBKeyDataView>* output) const { … }
inline void IDBKeyDataView::GetBinaryDataView(
mojo::ArrayDataView<uint8_t>* output) const { … }
inline void IDBKeyDataView::GetStringDataView(
::mojo_base::mojom::String16DataView* output) const { … }
inline void IDBKeyPathDataDataView::GetStringDataView(
::mojo_base::mojom::String16DataView* output) const { … }
inline void IDBKeyPathDataDataView::GetStringArrayDataView(
mojo::ArrayDataView<::mojo_base::mojom::String16DataView>* output) const { … }
inline void IDBExternalObjectDataView::GetBlobOrFileDataView(
IDBBlobInfoDataView* output) const { … }
inline void IDBCursorResultDataView::GetErrorResultDataView(
IDBErrorDataView* output) const { … }
inline void IDBCursorResultDataView::GetValuesDataView(
IDBCursorValueDataView* output) const { … }
inline void IDBTransactionPutResultDataView::GetErrorResultDataView(
IDBErrorDataView* output) const { … }
inline void IDBTransactionPutResultDataView::GetKeyDataView(
IDBKeyDataView* output) const { … }
inline void IDBDatabaseGetResultDataView::GetErrorResultDataView(
IDBErrorDataView* output) const { … }
inline void IDBDatabaseGetResultDataView::GetKeyDataView(
IDBKeyDataView* output) const { … }
inline void IDBDatabaseGetResultDataView::GetValueDataView(
IDBReturnValueDataView* output) const { … }
inline void IDBDatabaseOpenCursorResultDataView::GetErrorResultDataView(
IDBErrorDataView* output) const { … }
inline void IDBDatabaseOpenCursorResultDataView::GetValueDataView(
IDBDatabaseOpenCursorValueDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBCursorDirection> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBDataLoss> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBKeyType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBTransactionDurability> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBKeyPathType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBOperationType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBPutMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBTaskType> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBTransactionMode> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_BLINK_COMMON_EXPORT) TraceFormatTraits<::blink::mojom::IDBException> { … };
}
#endif