#ifndef DEVICE_VR_PUBLIC_MOJOM_BROWSER_TEST_INTERFACES_MOJOM_SHARED_H_
#define DEVICE_VR_PUBLIC_MOJOM_BROWSER_TEST_INTERFACES_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 "device/vr/public/mojom/browser_test_interfaces.mojom-shared-internal.h"
#include "device/vr/public/mojom/openxr_interaction_profile_type.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/mojom/transform.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 device_test::mojom {
class ColorDataView;
class ViewDataDataView;
class PoseFrameDataDataView;
class ProjectionRawDataView;
class DeviceConfigDataView;
class ControllerAxisDataDataView;
class ControllerFrameDataDataView;
class EventDataDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::device_test::mojom::ColorDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::ViewDataDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::PoseFrameDataDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::ProjectionRawDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::DeviceConfigDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::ControllerAxisDataDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::ControllerFrameDataDataView> { … };
template <>
struct MojomTypeTraits<::device_test::mojom::EventDataDataView> { … };
}
}
namespace device_testmojom
namespace std {
template <>
struct hash<::device_test::mojom::Eye>
: public mojo::internal::EnumHashImpl<::device_test::mojom::Eye> { … };
template <>
struct hash<::device_test::mojom::TrackedDeviceClass>
: public mojo::internal::EnumHashImpl<::device_test::mojom::TrackedDeviceClass> { … };
template <>
struct hash<::device_test::mojom::ControllerRole>
: public mojo::internal::EnumHashImpl<::device_test::mojom::ControllerRole> { … };
template <>
struct hash<::device_test::mojom::EventType>
: public mojo::internal::EnumHashImpl<::device_test::mojom::EventType> { … };
}
namespace mojo {
namespace internal {
Serializer< ::device_test::mojom::Eye, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::TrackedDeviceClass, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::ControllerRole, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::EventType, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::ColorDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::ViewDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::PoseFrameDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::ProjectionRawDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::DeviceConfigDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::ControllerAxisDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::ControllerFrameDataDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device_test::mojom::EventDataDataView, MaybeConstUserType>;
}
}
namespace device_test::mojom {
inline void ViewDataDataView::GetColorDataView(
ColorDataView* output) { … }
inline void ViewDataDataView::GetViewportDataView(
::gfx::mojom::RectDataView* output) { … }
inline void PoseFrameDataDataView::GetDeviceToOriginDataView(
::gfx::mojom::TransformDataView* output) { … }
inline void DeviceConfigDataView::GetProjectionLeftDataView(
ProjectionRawDataView* output) { … }
inline void DeviceConfigDataView::GetProjectionRightDataView(
ProjectionRawDataView* output) { … }
inline void ControllerFrameDataDataView::GetAxisDataDataView(
mojo::ArrayDataView<ControllerAxisDataDataView>* output) { … }
inline void ControllerFrameDataDataView::GetPoseDataDataView(
PoseFrameDataDataView* output) { … }
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(DEVICE_VR_TEST_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device_test::mojom::Eye> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(DEVICE_VR_TEST_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device_test::mojom::TrackedDeviceClass> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(DEVICE_VR_TEST_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device_test::mojom::ControllerRole> { … };
}
namespace perfetto {
template <>
struct COMPONENT_EXPORT(DEVICE_VR_TEST_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device_test::mojom::EventType> { … };
}
#endif