#ifndef DEVICE_VR_PUBLIC_MOJOM_VR_SERVICE_MOJOM_SHARED_INTERNAL_H_
#define DEVICE_VR_PUBLIC_MOJOM_VR_SERVICE_MOJOM_SHARED_INTERNAL_H_
#include "mojo/public/cpp/bindings/lib/array_internal.h"
#include "mojo/public/cpp/bindings/lib/bindings_internal.h"
#include "mojo/public/cpp/bindings/lib/map_data_internal.h"
#include "mojo/public/cpp/bindings/lib/buffer.h"
#include "device/gamepad/public/mojom/gamepad.mojom-shared-internal.h"
#include "device/vr/public/mojom/xr_session.mojom-shared-internal.h"
#include "mojo/public/mojom/base/big_buffer.mojom-shared-internal.h"
#include "mojo/public/mojom/base/time.mojom-shared-internal.h"
#include "gpu/ipc/common/exported_shared_image.mojom-shared-internal.h"
#include "gpu/ipc/common/shared_image_metadata.mojom-shared-internal.h"
#include "gpu/ipc/common/mailbox_holder.mojom-shared-internal.h"
#include "gpu/ipc/common/sync_token.mojom-shared-internal.h"
#include "ui/display/mojom/display.mojom-shared-internal.h"
#include "ui/gfx/geometry/mojom/geometry.mojom-shared-internal.h"
#include "ui/gfx/mojom/gpu_fence_handle.mojom-shared-internal.h"
#include "ui/gfx/mojom/transform.mojom-shared-internal.h"
#include "mojo/public/cpp/bindings/lib/native_enum_data.h"
#include "mojo/public/interfaces/bindings/native_struct.mojom-shared-internal.h"
#include "base/component_export.h"
namespace mojo {
namespace internal {
class ValidationContext;
}
}
namespace device::mojom {
namespace internal {
class XRDepthConfig_Data;
class XRSessionDeviceConfig_Data;
class XRSession_Data;
class XRPresentationConnection_Data;
class XRInputSourceDescription_Data;
class XRHandJointData_Data;
class XRHandTrackingData_Data;
class XRInputSourceState_Data;
class VRFieldOfView_Data;
class VRPose_Data;
class Pose_Data;
class XRRay_Data;
class XRHitResult_Data;
class XRView_Data;
class VRStageParameters_Data;
class XRPresentationTransportOptions_Data;
class XRInputSourceSpaceInfo_Data;
class XRHandJointSpaceInfo_Data;
class XRPlanePointData_Data;
class XRPlaneData_Data;
class XRPlaneDetectionData_Data;
class XRAnchorData_Data;
class XRAnchorsData_Data;
class XRHitTestSubscriptionResultData_Data;
class XRHitTestTransientInputSubscriptionResultData_Data;
class XRHitTestSubscriptionResultsData_Data;
class RgbTupleF32_Data;
class XRSphericalHarmonics_Data;
class RgbaTupleF16_Data;
class XRCubeMap_Data;
class XRLightProbe_Data;
class XRReflectionProbe_Data;
class XRLightEstimationData_Data;
class XRDepthDataStillValid_Data;
class XRDepthDataUpdated_Data;
class XRTrackedImageData_Data;
class XRTrackedImagesData_Data;
class XRFrameData_Data;
class RequestSessionSuccess_Data;
class XRFrameDataRequestOptions_Data;
class XRNativeOriginInformation_Data;
class XRDepthData_Data;
class RequestSessionResult_Data;
struct XRHandedness_Data { … };
struct XRTargetRayMode_Data { … };
struct XRSessionFeatureRequestStatus_Data { … };
struct XREnvironmentBlendMode_Data { … };
struct XRInteractionMode_Data { … };
struct XRHandJoint_Data { … };
struct XREye_Data { … };
struct XRPresentationTransportMethod_Data { … };
struct XRReferenceSpaceType_Data { … };
struct XRInputSourceSpaceType_Data { … };
struct XRPlaneOrientation_Data { … };
struct XrCompatibleResult_Data { … };
struct CreateAnchorResult_Data { … };
struct SubscribeToHitTestResult_Data { … };
struct EntityTypeForHitTest_Data { … };
struct XRVisibilityState_Data { … };
#pragma pack(push, 1)
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRNativeOriginInformation_Data { … };
static_assert …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRDepthData_Data { … };
static_assert …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) RequestSessionResult_Data { … };
static_assert …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRDepthConfig_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRDepthConfig_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRDepthConfig_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRSessionDeviceConfig_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRSessionDeviceConfig_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRSessionDeviceConfig_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRSession_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRSession_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRSession_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRPresentationConnection_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRPresentationConnection_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRPresentationConnection_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRInputSourceDescription_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRInputSourceDescription_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRInputSourceDescription_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHandJointData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHandJointData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHandJointData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHandTrackingData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHandTrackingData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHandTrackingData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRInputSourceState_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRInputSourceState_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRInputSourceState_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) VRFieldOfView_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct VRFieldOfView_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
VRFieldOfView_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) VRPose_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct VRPose_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
VRPose_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) Pose_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct Pose_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
Pose_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRRay_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRRay_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRRay_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHitResult_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHitResult_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHitResult_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRView_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRView_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRView_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) VRStageParameters_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct VRStageParameters_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
VRStageParameters_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRPresentationTransportOptions_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRPresentationTransportOptions_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRPresentationTransportOptions_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRInputSourceSpaceInfo_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRInputSourceSpaceInfo_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRInputSourceSpaceInfo_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHandJointSpaceInfo_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHandJointSpaceInfo_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHandJointSpaceInfo_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRPlanePointData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRPlanePointData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRPlanePointData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRPlaneData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRPlaneData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRPlaneData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRPlaneDetectionData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRPlaneDetectionData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRPlaneDetectionData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRAnchorData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRAnchorData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRAnchorData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRAnchorsData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRAnchorsData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRAnchorsData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHitTestSubscriptionResultData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHitTestSubscriptionResultData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHitTestSubscriptionResultData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHitTestTransientInputSubscriptionResultData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHitTestTransientInputSubscriptionResultData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHitTestTransientInputSubscriptionResultData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRHitTestSubscriptionResultsData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRHitTestSubscriptionResultsData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRHitTestSubscriptionResultsData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) RgbTupleF32_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct RgbTupleF32_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
RgbTupleF32_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRSphericalHarmonics_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRSphericalHarmonics_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRSphericalHarmonics_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) RgbaTupleF16_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct RgbaTupleF16_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
RgbaTupleF16_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRCubeMap_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRCubeMap_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRCubeMap_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRLightProbe_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRLightProbe_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRLightProbe_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRReflectionProbe_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRReflectionProbe_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRReflectionProbe_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRLightEstimationData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRLightEstimationData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRLightEstimationData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRDepthDataStillValid_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRDepthDataStillValid_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRDepthDataStillValid_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRDepthDataUpdated_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRDepthDataUpdated_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRDepthDataUpdated_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRTrackedImageData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRTrackedImageData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRTrackedImageData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRTrackedImagesData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRTrackedImagesData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRTrackedImagesData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRFrameData_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRFrameData_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRFrameData_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) RequestSessionSuccess_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct RequestSessionSuccess_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
RequestSessionSuccess_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
class COMPONENT_EXPORT(DEVICE_VR_SERVICE_MOJO_BINDINGS_SHARED) XRFrameDataRequestOptions_Data { … };
static_assert …;
template <typename UserType, typename DataView>
struct XRFrameDataRequestOptions_UnserializedMessageContext
: public mojo::internal::UnserializedMessageContext { … };
template <typename UserType, typename DataView>
const mojo::internal::UnserializedMessageContext::Tag
XRFrameDataRequestOptions_UnserializedMessageContext<UserType, DataView>::kMessageTag = …;
#pragma pack(pop)
}
}
#endif