8 #ifndef META_OCEAN_PLATFORM_META_QUEST_OPENXR_APPLICATION_NATIVE_APPLICATION_H
9 #define META_OCEAN_PLATFORM_META_QUEST_OPENXR_APPLICATION_NATIVE_APPLICATION_H
19 #include <openxr/openxr.h>
21 #ifdef OCEAN_PLATFORM_BUILD_ANDROID
22 #include <android/native_window_jni.h>
23 #include <android_native_app_glue.h>
24 #include <android/window.h>
61 static constexpr
int permissionNotYetRequested_ = -2;
64 static constexpr
int permissionNotYetGranted_ = -1;
100 inline std::string deviceName()
const;
116 inline void requestAndroidPermissions(std::vector<std::string>&& permissions);
126 #ifdef OCEAN_PLATFORM_BUILD_ANDROID
175 inline XrSessionState xrSessionState()
const;
314 XrViewConfigurationType xrViewConfigurationType_ = XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO;
316 #ifdef OCEAN_PLATFORM_BUILD_ANDROID
319 JNIEnv* jniEnv_ =
nullptr;
322 struct android_app* androidApp_ =
nullptr;
327 bool applicationResumed_ =
false;
330 ANativeWindow* androidNativeWindow_ =
nullptr;
347 XrSessionState xrSessionState_ = XR_SESSION_STATE_UNKNOWN;
350 bool xrSessionIsReady_ =
false;
367 for (std::string& permission : permissions)
This class implements a recursive lock object.
Definition: Lock.h:31
This class implements a scoped lock object for recursive lock objects.
Definition: Lock.h:135
The namespace covering the entire Ocean framework.
Definition: Accessor.h:15