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

// device/vr/public/mojom/isolated_xr_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_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;



}  // device::mojom

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 internal
}  // namespace mojo


namespace device::mojom {
// Interface base classes. They are used for type safety check.
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 {};


}  // device::mojom

namespace std {

}  // namespace std

namespace mojo {


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal


namespace internal {

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

}  // namespace internal

}  // namespace mojo


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) {}



}  // device::mojom

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

#endif  // DEVICE_VR_PUBLIC_MOJOM_ISOLATED_XR_SERVICE_MOJOM_SHARED_H_