chromium/out/Default/gen/device/vr/public/mojom/vr_service.mojom-shared.h

// device/vr/public/mojom/vr_service.mojom-shared.h is auto generated by mojom_bindings_generator.py, do not edit

// Copyright 2016 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef DEVICE_VR_PUBLIC_MOJOM_VR_SERVICE_MOJOM_SHARED_H_
#define DEVICE_VR_PUBLIC_MOJOM_VR_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/vr_service.mojom-shared-internal.h"
#include "device/gamepad/public/mojom/gamepad.mojom-shared.h"
#include "device/vr/public/mojom/xr_session.mojom-shared.h"
#include "mojo/public/mojom/base/big_buffer.mojom-shared.h"
#include "mojo/public/mojom/base/time.mojom-shared.h"
#include "gpu/ipc/common/exported_shared_image.mojom-shared.h"
#include "gpu/ipc/common/shared_image_metadata.mojom-shared.h"
#include "gpu/ipc/common/mailbox_holder.mojom-shared.h"
#include "gpu/ipc/common/sync_token.mojom-shared.h"
#include "ui/display/mojom/display.mojom-shared.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared.h"
#include "ui/gfx/mojom/gpu_fence_handle.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::mojom {
class XRDepthConfigDataView;

class XRSessionDeviceConfigDataView;

class XRSessionDataView;

class XRPresentationConnectionDataView;

class XRInputSourceDescriptionDataView;

class XRHandJointDataDataView;

class XRHandTrackingDataDataView;

class XRInputSourceStateDataView;

class VRFieldOfViewDataView;

class VRPoseDataView;

class PoseDataView;

class XRRayDataView;

class XRHitResultDataView;

class XRViewDataView;

class VRStageParametersDataView;

class XRPresentationTransportOptionsDataView;

class XRInputSourceSpaceInfoDataView;

class XRHandJointSpaceInfoDataView;

class XRPlanePointDataDataView;

class XRPlaneDataDataView;

class XRPlaneDetectionDataDataView;

class XRAnchorDataDataView;

class XRAnchorsDataDataView;

class XRHitTestSubscriptionResultDataDataView;

class XRHitTestTransientInputSubscriptionResultDataDataView;

class XRHitTestSubscriptionResultsDataDataView;

class RgbTupleF32DataView;

class XRSphericalHarmonicsDataView;

class RgbaTupleF16DataView;

class XRCubeMapDataView;

class XRLightProbeDataView;

class XRReflectionProbeDataView;

class XRLightEstimationDataDataView;

class XRDepthDataStillValidDataView;

class XRDepthDataUpdatedDataView;

class XRTrackedImageDataDataView;

class XRTrackedImagesDataDataView;

class XRFrameDataDataView;

class RequestSessionSuccessDataView;

class XRFrameDataRequestOptionsDataView;

class XRNativeOriginInformationDataView;
class XRDepthDataDataView;
class RequestSessionResultDataView;


}  // device::mojom

namespace mojo {
namespace internal {

template <>
struct MojomTypeTraits<::device::mojom::XRDepthConfigDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRSessionDeviceConfigDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRSessionDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRPresentationConnectionDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRInputSourceDescriptionDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHandJointDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHandTrackingDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRInputSourceStateDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::VRFieldOfViewDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::VRPoseDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::PoseDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRRayDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHitResultDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRViewDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::VRStageParametersDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRPresentationTransportOptionsDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRInputSourceSpaceInfoDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHandJointSpaceInfoDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRPlanePointDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRPlaneDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRPlaneDetectionDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRAnchorDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRAnchorsDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHitTestSubscriptionResultDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHitTestTransientInputSubscriptionResultDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRHitTestSubscriptionResultsDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::RgbTupleF32DataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRSphericalHarmonicsDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::RgbaTupleF16DataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRCubeMapDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRLightProbeDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRReflectionProbeDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRLightEstimationDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRDepthDataStillValidDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRDepthDataUpdatedDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRTrackedImageDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRTrackedImagesDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRFrameDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::RequestSessionSuccessDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRFrameDataRequestOptionsDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRNativeOriginInformationDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::XRDepthDataDataView> {};

template <>
struct MojomTypeTraits<::device::mojom::RequestSessionResultDataView> {};

}  // namespace internal
}  // namespace mojo


namespace devicemojom  // device::mojom

namespace std {

template <>
struct hash<::device::mojom::XRHandedness>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRHandedness> {};

template <>
struct hash<::device::mojom::XRTargetRayMode>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRTargetRayMode> {};

template <>
struct hash<::device::mojom::XRSessionFeatureRequestStatus>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRSessionFeatureRequestStatus> {};

template <>
struct hash<::device::mojom::XREnvironmentBlendMode>
    : public mojo::internal::EnumHashImpl<::device::mojom::XREnvironmentBlendMode> {};

template <>
struct hash<::device::mojom::XRInteractionMode>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRInteractionMode> {};

template <>
struct hash<::device::mojom::XRHandJoint>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRHandJoint> {};

template <>
struct hash<::device::mojom::XREye>
    : public mojo::internal::EnumHashImpl<::device::mojom::XREye> {};

template <>
struct hash<::device::mojom::XRPresentationTransportMethod>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRPresentationTransportMethod> {};

template <>
struct hash<::device::mojom::XRReferenceSpaceType>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRReferenceSpaceType> {};

template <>
struct hash<::device::mojom::XRInputSourceSpaceType>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRInputSourceSpaceType> {};

template <>
struct hash<::device::mojom::XRPlaneOrientation>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRPlaneOrientation> {};

template <>
struct hash<::device::mojom::XrCompatibleResult>
    : public mojo::internal::EnumHashImpl<::device::mojom::XrCompatibleResult> {};

template <>
struct hash<::device::mojom::CreateAnchorResult>
    : public mojo::internal::EnumHashImpl<::device::mojom::CreateAnchorResult> {};

template <>
struct hash<::device::mojom::SubscribeToHitTestResult>
    : public mojo::internal::EnumHashImpl<::device::mojom::SubscribeToHitTestResult> {};

template <>
struct hash<::device::mojom::EntityTypeForHitTest>
    : public mojo::internal::EnumHashImpl<::device::mojom::EntityTypeForHitTest> {};

template <>
struct hash<::device::mojom::XRVisibilityState>
    : public mojo::internal::EnumHashImpl<::device::mojom::XRVisibilityState> {};

}  // namespace std

namespace mojo {


namespace internal {

Serializer< ::device::mojom::XRHandedness, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRTargetRayMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRSessionFeatureRequestStatus, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XREnvironmentBlendMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRInteractionMode, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHandJoint, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XREye, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPresentationTransportMethod, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRReferenceSpaceType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRInputSourceSpaceType, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPlaneOrientation, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XrCompatibleResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::CreateAnchorResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::SubscribeToHitTestResult, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::EntityTypeForHitTest, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRVisibilityState, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRDepthConfigDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRSessionDeviceConfigDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRSessionDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPresentationConnectionDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRInputSourceDescriptionDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHandJointDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHandTrackingDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRInputSourceStateDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::VRFieldOfViewDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::VRPoseDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::PoseDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRRayDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHitResultDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRViewDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::VRStageParametersDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPresentationTransportOptionsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRInputSourceSpaceInfoDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHandJointSpaceInfoDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPlanePointDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPlaneDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRPlaneDetectionDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRAnchorDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRAnchorsDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHitTestSubscriptionResultDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHitTestTransientInputSubscriptionResultDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRHitTestSubscriptionResultsDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::RgbTupleF32DataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRSphericalHarmonicsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::RgbaTupleF16DataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRCubeMapDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRLightProbeDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRReflectionProbeDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRLightEstimationDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRDepthDataStillValidDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRDepthDataUpdatedDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRTrackedImageDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRTrackedImagesDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRFrameDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::RequestSessionSuccessDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRFrameDataRequestOptionsDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRNativeOriginInformationDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::XRDepthDataDataView, MaybeConstUserType>;

}  // namespace internal


namespace internal {

Serializer< ::device::mojom::RequestSessionResultDataView, MaybeConstUserType>;

}  // namespace internal

}  // namespace mojo


namespace device::mojom {



inline void XRSessionDeviceConfigDataView::GetViewsDataView(
    mojo::ArrayDataView<XRViewDataView>* output) {}
inline void XRSessionDeviceConfigDataView::GetDepthConfigurationDataView(
    XRDepthConfigDataView* output) {}


inline void XRSessionDataView::GetSubmitFrameSinkDataView(
    XRPresentationConnectionDataView* output) {}
inline void XRSessionDataView::GetEnabledFeaturesDataView(
    mojo::ArrayDataView<::device::mojom::XRSessionFeature>* output) {}
inline void XRSessionDataView::GetDeviceConfigDataView(
    XRSessionDeviceConfigDataView* output) {}


inline void XRPresentationConnectionDataView::GetTransportOptionsDataView(
    XRPresentationTransportOptionsDataView* output) {}


inline void XRInputSourceDescriptionDataView::GetInputFromPointerDataView(
    ::gfx::mojom::TransformDataView* output) {}
inline void XRInputSourceDescriptionDataView::GetProfilesDataView(
    mojo::ArrayDataView<mojo::StringDataView>* output) {}


inline void XRHandJointDataDataView::GetMojoFromJointDataView(
    ::gfx::mojom::TransformDataView* output) {}


inline void XRHandTrackingDataDataView::GetHandJointDataDataView(
    mojo::ArrayDataView<XRHandJointDataDataView>* output) {}


inline void XRInputSourceStateDataView::GetDescriptionDataView(
    XRInputSourceDescriptionDataView* output) {}
inline void XRInputSourceStateDataView::GetMojoFromInputDataView(
    ::gfx::mojom::TransformDataView* output) {}
inline void XRInputSourceStateDataView::GetGamepadDataView(
    ::device::mojom::GamepadDataView* output) {}
inline void XRInputSourceStateDataView::GetOverlayPointerPositionDataView(
    ::gfx::mojom::PointFDataView* output) {}
inline void XRInputSourceStateDataView::GetHandTrackingDataDataView(
    XRHandTrackingDataDataView* output) {}




inline void VRPoseDataView::GetOrientationDataView(
    ::gfx::mojom::QuaternionDataView* output) {}
inline void VRPoseDataView::GetPositionDataView(
    ::gfx::mojom::Point3FDataView* output) {}


inline void PoseDataView::GetOrientationDataView(
    ::gfx::mojom::QuaternionDataView* output) {}
inline void PoseDataView::GetPositionDataView(
    ::gfx::mojom::Point3FDataView* output) {}


inline void XRRayDataView::GetOriginDataView(
    ::gfx::mojom::Point3FDataView* output) {}
inline void XRRayDataView::GetDirectionDataView(
    ::gfx::mojom::Vector3dFDataView* output) {}


inline void XRHitResultDataView::GetMojoFromResultDataView(
    PoseDataView* output) {}


inline void XRViewDataView::GetFieldOfViewDataView(
    VRFieldOfViewDataView* output) {}
inline void XRViewDataView::GetMojoFromViewDataView(
    ::gfx::mojom::TransformDataView* output) {}
inline void XRViewDataView::GetViewportDataView(
    ::gfx::mojom::RectDataView* output) {}
inline void XRViewDataView::GetDepthDataDataView(
    XRDepthDataDataView* output) {}


inline void VRStageParametersDataView::GetMojoFromFloorDataView(
    ::gfx::mojom::TransformDataView* output) {}
inline void VRStageParametersDataView::GetBoundsDataView(
    mojo::ArrayDataView<::gfx::mojom::Point3FDataView>* output) {}










inline void XRPlaneDataDataView::GetMojoFromPlaneDataView(
    PoseDataView* output) {}
inline void XRPlaneDataDataView::GetPolygonDataView(
    mojo::ArrayDataView<XRPlanePointDataDataView>* output) {}


inline void XRPlaneDetectionDataDataView::GetAllPlanesIdsDataView(
    mojo::ArrayDataView<uint64_t>* output) {}
inline void XRPlaneDetectionDataDataView::GetUpdatedPlanesDataDataView(
    mojo::ArrayDataView<XRPlaneDataDataView>* output) {}


inline void XRAnchorDataDataView::GetMojoFromAnchorDataView(
    PoseDataView* output) {}


inline void XRAnchorsDataDataView::GetAllAnchorsIdsDataView(
    mojo::ArrayDataView<uint64_t>* output) {}
inline void XRAnchorsDataDataView::GetUpdatedAnchorsDataDataView(
    mojo::ArrayDataView<XRAnchorDataDataView>* output) {}


inline void XRHitTestSubscriptionResultDataDataView::GetHitTestResultsDataView(
    mojo::ArrayDataView<XRHitResultDataView>* output) {}


inline void XRHitTestTransientInputSubscriptionResultDataDataView::GetInputSourceIdToHitTestResultsDataView(
    mojo::MapDataView<uint32_t, mojo::ArrayDataView<XRHitResultDataView>>* output) {}


inline void XRHitTestSubscriptionResultsDataDataView::GetResultsDataView(
    mojo::ArrayDataView<XRHitTestSubscriptionResultDataDataView>* output) {}
inline void XRHitTestSubscriptionResultsDataDataView::GetTransientInputResultsDataView(
    mojo::ArrayDataView<XRHitTestTransientInputSubscriptionResultDataDataView>* output) {}




inline void XRSphericalHarmonicsDataView::GetCoefficientsDataView(
    mojo::ArrayDataView<RgbTupleF32DataView>* output) {}




inline void XRCubeMapDataView::GetPositiveXDataView(
    mojo::ArrayDataView<RgbaTupleF16DataView>* output) {}
inline void XRCubeMapDataView::GetNegativeXDataView(
    mojo::ArrayDataView<RgbaTupleF16DataView>* output) {}
inline void XRCubeMapDataView::GetPositiveYDataView(
    mojo::ArrayDataView<RgbaTupleF16DataView>* output) {}
inline void XRCubeMapDataView::GetNegativeYDataView(
    mojo::ArrayDataView<RgbaTupleF16DataView>* output) {}
inline void XRCubeMapDataView::GetPositiveZDataView(
    mojo::ArrayDataView<RgbaTupleF16DataView>* output) {}
inline void XRCubeMapDataView::GetNegativeZDataView(
    mojo::ArrayDataView<RgbaTupleF16DataView>* output) {}


inline void XRLightProbeDataView::GetSphericalHarmonicsDataView(
    XRSphericalHarmonicsDataView* output) {}
inline void XRLightProbeDataView::GetMainLightDirectionDataView(
    ::gfx::mojom::Vector3dFDataView* output) {}
inline void XRLightProbeDataView::GetMainLightIntensityDataView(
    RgbTupleF32DataView* output) {}


inline void XRReflectionProbeDataView::GetCubeMapDataView(
    XRCubeMapDataView* output) {}


inline void XRLightEstimationDataDataView::GetLightProbeDataView(
    XRLightProbeDataView* output) {}
inline void XRLightEstimationDataDataView::GetReflectionProbeDataView(
    XRReflectionProbeDataView* output) {}




inline void XRDepthDataUpdatedDataView::GetPixelDataDataView(
    ::mojo_base::mojom::BigBufferDataView* output) {}
inline void XRDepthDataUpdatedDataView::GetNormTextureFromNormViewDataView(
    ::gfx::mojom::TransformDataView* output) {}
inline void XRDepthDataUpdatedDataView::GetSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}


inline void XRTrackedImageDataDataView::GetMojoFromImageDataView(
    PoseDataView* output) {}


inline void XRTrackedImagesDataDataView::GetImagesDataDataView(
    mojo::ArrayDataView<XRTrackedImageDataDataView>* output) {}
inline void XRTrackedImagesDataDataView::GetImageTrackableScoresDataView(
    mojo::ArrayDataView<bool>* output) {}


inline void XRFrameDataDataView::GetMojoFromViewerDataView(
    VRPoseDataView* output) {}
inline void XRFrameDataDataView::GetTimeDeltaDataView(
    ::mojo_base::mojom::TimeDeltaDataView* output) {}
inline void XRFrameDataDataView::GetBufferSharedImageDataView(
    ::gpu::mojom::ExportedSharedImageDataView* output) {}
inline void XRFrameDataDataView::GetBufferSyncTokenDataView(
    ::gpu::mojom::SyncTokenDataView* output) {}
inline void XRFrameDataDataView::GetCameraImageBufferSharedImageDataView(
    ::gpu::mojom::ExportedSharedImageDataView* output) {}
inline void XRFrameDataDataView::GetCameraImageBufferSyncTokenDataView(
    ::gpu::mojom::SyncTokenDataView* output) {}
inline void XRFrameDataDataView::GetCameraImageSizeDataView(
    ::gfx::mojom::SizeDataView* output) {}
inline void XRFrameDataDataView::GetViewsDataView(
    mojo::ArrayDataView<XRViewDataView>* output) {}
inline void XRFrameDataDataView::GetInputStateDataView(
    mojo::ArrayDataView<XRInputSourceStateDataView>* output) {}
inline void XRFrameDataDataView::GetStageParametersDataView(
    VRStageParametersDataView* output) {}
inline void XRFrameDataDataView::GetDetectedPlanesDataDataView(
    XRPlaneDetectionDataDataView* output) {}
inline void XRFrameDataDataView::GetAnchorsDataDataView(
    XRAnchorsDataDataView* output) {}
inline void XRFrameDataDataView::GetLightEstimationDataDataView(
    XRLightEstimationDataDataView* output) {}
inline void XRFrameDataDataView::GetHitTestSubscriptionResultsDataView(
    XRHitTestSubscriptionResultsDataDataView* output) {}
inline void XRFrameDataDataView::GetTrackedImagesDataView(
    XRTrackedImagesDataDataView* output) {}


inline void RequestSessionSuccessDataView::GetSessionDataView(
    XRSessionDataView* output) {}




inline void XRNativeOriginInformationDataView::GetInputSourceSpaceInfoDataView(
    XRInputSourceSpaceInfoDataView* output) const {}
inline void XRNativeOriginInformationDataView::GetHandJointSpaceInfoDataView(
    XRHandJointSpaceInfoDataView* output) const {}

inline void XRDepthDataDataView::GetDataStillValidDataView(
    XRDepthDataStillValidDataView* output) const {}
inline void XRDepthDataDataView::GetUpdatedDepthDataDataView(
    XRDepthDataUpdatedDataView* output) const {}

inline void RequestSessionResultDataView::GetSuccessDataView(
    RequestSessionSuccessDataView* output) const {}


}  // device::mojom

// Declare TraceFormatTraits for enums, which should be defined in ::perfetto
// namespace.

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRHandedness> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRTargetRayMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRSessionFeatureRequestStatus> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XREnvironmentBlendMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRInteractionMode> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRHandJoint> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XREye> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRPresentationTransportMethod> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRReferenceSpaceType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRInputSourceSpaceType> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRPlaneOrientation> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XrCompatibleResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::CreateAnchorResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::SubscribeToHitTestResult> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::EntityTypeForHitTest> {};

} // namespace perfetto

namespace perfetto {

template <>
struct COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) TraceFormatTraits<::device::mojom::XRVisibilityState> {};

} // namespace perfetto

#endif  // DEVICE_VR_PUBLIC_MOJOM_VR_SERVICE_MOJOM_SHARED_H_