#ifndef GPU_IPC_COMMON_GPU_DISK_CACHE_TYPE_MOJOM_SHARED_H_
#define GPU_IPC_COMMON_GPU_DISK_CACHE_TYPE_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 "gpu/ipc/common/gpu_disk_cache_type.mojom-shared-internal.h"
#include "base/component_export.h"
namespace gpu::mojom {
class GpuDiskCacheGlShaderHandleDataView;
class GpuDiskCacheDawnWebGPUHandleDataView;
class GpuDiskCacheDawnGraphiteHandleDataView;
class GpuDiskCacheHandleDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::gpu::mojom::GpuDiskCacheGlShaderHandleDataView> { … };
template <>
struct MojomTypeTraits<::gpu::mojom::GpuDiskCacheDawnWebGPUHandleDataView> { … };
template <>
struct MojomTypeTraits<::gpu::mojom::GpuDiskCacheDawnGraphiteHandleDataView> { … };
template <>
struct MojomTypeTraits<::gpu::mojom::GpuDiskCacheHandleDataView> { … };
}
}
namespace gpumojom
namespace std {
template <>
struct hash<::gpu::mojom::GpuDiskCacheType>
: public mojo::internal::EnumHashImpl<::gpu::mojom::GpuDiskCacheType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::gpu::mojom::GpuDiskCacheType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::gpu::mojom::GpuDiskCacheGlShaderHandleDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::gpu::mojom::GpuDiskCacheDawnWebGPUHandleDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::gpu::mojom::GpuDiskCacheDawnGraphiteHandleDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::gpu::mojom::GpuDiskCacheHandleDataView, MaybeConstUserType>;
}
}
namespace gpu::mojom {
inline void GpuDiskCacheHandleDataView::GetGlShaderHandleDataView(
GpuDiskCacheGlShaderHandleDataView* output) const { … }
inline void GpuDiskCacheHandleDataView::GetDawnWebgpuHandleDataView(
GpuDiskCacheDawnWebGPUHandleDataView* output) const { … }
inline void GpuDiskCacheHandleDataView::GetDawnGraphiteHandleDataView(
GpuDiskCacheDawnGraphiteHandleDataView* output) const { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJOM_SHARED_GPU_EXPORT) TraceFormatTraits<::gpu::mojom::GpuDiskCacheType> { … };
}
#endif