#ifndef MOJO_PUBLIC_INTERFACES_BINDINGS_NATIVE_STRUCT_MOJOM_SHARED_H_
#define MOJO_PUBLIC_INTERFACES_BINDINGS_NATIVE_STRUCT_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 "mojo/public/interfaces/bindings/native_struct.mojom-shared-internal.h"
#include "base/component_export.h"
namespace mojo::native {
class SerializedHandleDataView;
class NativeStructDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::mojo::native::SerializedHandleDataView> { … };
template <>
struct MojomTypeTraits<::mojo::native::NativeStructDataView> { … };
}
}
namespace mojonative
namespace std {
template <>
struct hash<::mojo::native::SerializedHandleType>
: public mojo::internal::EnumHashImpl<::mojo::native::SerializedHandleType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::mojo::native::SerializedHandleType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::mojo::native::SerializedHandleDataView, MaybeConstUserType>;
}
}
namespace mojo::native {
inline void NativeStructDataView::GetDataDataView(
mojo::ArrayDataView<uint8_t>* output) { … }
inline void NativeStructDataView::GetHandlesDataView(
mojo::ArrayDataView<SerializedHandleDataView>* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(MOJO_MOJOM_BINDINGS_SHARED) TraceFormatTraits<::mojo::native::SerializedHandleType> { … };
}
#endif