#ifndef DEVICE_VR_PUBLIC_MOJOM_ISOLATED_XR_SERVICE_MOJOM_SHARED_H_
#define DEVICE_VR_PUBLIC_MOJOM_ISOLATED_XR_SERVICE_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/isolated_xr_service.mojom-shared-internal.h"
#include "device/vr/public/mojom/browser_test_interfaces.mojom-shared.h"
#include "device/vr/public/mojom/vr_service.mojom-shared.h"
#include "device/vr/public/mojom/xr_device.mojom-shared.h"
#include "device/vr/public/mojom/xr_session.mojom-shared.h"
#include "gpu/ipc/common/sync_token.mojom-shared.h"
#include "sandbox/policy/mojom/sandbox.mojom-shared.h"
#include "services/viz/public/mojom/compositing/frame_sink_id.mojom-shared.h"
#include "services/viz/public/mojom/gpu.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/mojom/buffer_types.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::mojom {
class XRRuntimeSessionOptionsDataView;
class XRRuntimeSessionResultDataView;
class XRRenderInfoDataView;
class XRDeviceDataDataView;
}
namespace mojo {
namespace internal {
template <>
struct MojomTypeTraits<::device::mojom::XRRuntimeSessionOptionsDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::XRRuntimeSessionResultDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::XRRenderInfoDataView> { … };
template <>
struct MojomTypeTraits<::device::mojom::XRDeviceDataDataView> { … };
}
}
namespace device::mojom {
class XRSessionControllerInterfaceBase { … };
XRSessionControllerPtrDataView;
XRSessionControllerRequestDataView;
XRSessionControllerAssociatedPtrInfoDataView;
XRSessionControllerAssociatedRequestDataView;
class XRRuntimeEventListenerInterfaceBase { … };
XRRuntimeEventListenerPtrDataView;
XRRuntimeEventListenerRequestDataView;
XRRuntimeEventListenerAssociatedPtrInfoDataView;
XRRuntimeEventListenerAssociatedRequestDataView;
class XRRuntimeInterfaceBase { … };
XRRuntimePtrDataView;
XRRuntimeRequestDataView;
XRRuntimeAssociatedPtrInfoDataView;
XRRuntimeAssociatedRequestDataView;
class ImmersiveOverlayInterfaceBase { … };
ImmersiveOverlayPtrDataView;
ImmersiveOverlayRequestDataView;
ImmersiveOverlayAssociatedPtrInfoDataView;
ImmersiveOverlayAssociatedRequestDataView;
class IsolatedXRRuntimeProviderClientInterfaceBase { … };
IsolatedXRRuntimeProviderClientPtrDataView;
IsolatedXRRuntimeProviderClientRequestDataView;
IsolatedXRRuntimeProviderClientAssociatedPtrInfoDataView;
IsolatedXRRuntimeProviderClientAssociatedRequestDataView;
class IsolatedXRRuntimeProviderInterfaceBase { … };
IsolatedXRRuntimeProviderPtrDataView;
IsolatedXRRuntimeProviderRequestDataView;
IsolatedXRRuntimeProviderAssociatedPtrInfoDataView;
IsolatedXRRuntimeProviderAssociatedRequestDataView;
class XRDeviceServiceInterfaceBase { … };
XRDeviceServicePtrDataView;
XRDeviceServiceRequestDataView;
XRDeviceServiceAssociatedPtrInfoDataView;
XRDeviceServiceAssociatedRequestDataView;
class XRDeviceServiceHostInterfaceBase { … };
XRDeviceServiceHostPtrDataView;
XRDeviceServiceHostRequestDataView;
XRDeviceServiceHostAssociatedPtrInfoDataView;
XRDeviceServiceHostAssociatedRequestDataView;
class XRRuntimeSessionOptionsDataView { … };
class XRRuntimeSessionResultDataView { … };
class XRRenderInfoDataView { … };
class XRDeviceDataDataView { … };
}
namespace std {
}
namespace mojo {
namespace internal {
Serializer< ::device::mojom::XRRuntimeSessionOptionsDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::XRRuntimeSessionResultDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::XRRenderInfoDataView, MaybeConstUserType>;
}
namespace internal {
Serializer< ::device::mojom::XRDeviceDataDataView, MaybeConstUserType>;
}
}
namespace device::mojom {
inline void XRRuntimeSessionOptionsDataView::GetRequiredFeaturesDataView(
mojo::ArrayDataView<::device::mojom::XRSessionFeature>* output) { … }
inline void XRRuntimeSessionOptionsDataView::GetOptionalFeaturesDataView(
mojo::ArrayDataView<::device::mojom::XRSessionFeature>* output) { … }
inline void XRRuntimeSessionOptionsDataView::GetTrackedImagesDataView(
mojo::ArrayDataView<::device::mojom::XRTrackedImageDataView>* output) { … }
inline void XRRuntimeSessionOptionsDataView::GetDepthOptionsDataView(
::device::mojom::XRDepthOptionsDataView* output) { … }
inline void XRRuntimeSessionResultDataView::GetSessionDataView(
::device::mojom::XRSessionDataView* output) { … }
inline void XRRuntimeSessionResultDataView::GetFrameSinkIdDataView(
::viz::mojom::FrameSinkIdDataView* output) { … }
inline void XRRenderInfoDataView::GetMojoFromViewerDataView(
::device::mojom::VRPoseDataView* output) { … }
inline void XRRenderInfoDataView::GetViewsDataView(
mojo::ArrayDataView<::device::mojom::XRViewDataView>* output) { … }
inline void XRDeviceDataDataView::GetSupportedFeaturesDataView(
mojo::ArrayDataView<::device::mojom::XRSessionFeature>* output) { … }
}
#endif