summaryrefslogtreecommitdiffstats
path: root/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java
diff options
context:
space:
mode:
Diffstat (limited to 'make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java')
-rw-r--r--make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java33
1 files changed, 33 insertions, 0 deletions
diff --git a/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java b/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java
new file mode 100644
index 000000000..281610a20
--- /dev/null
+++ b/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java
@@ -0,0 +1,33 @@
+
+ static final DynamicLibraryBundle dynamicLookupHelper;
+
+ static {
+ dynamicLookupHelper = AccessController.doPrivileged(new PrivilegedAction<DynamicLibraryBundle>() {
+ public DynamicLibraryBundle run() {
+ final DynamicLibraryBundle bundle = new DynamicLibraryBundle(new OVRDynamicLibraryBundleInfo());
+ if(null==bundle) {
+ throw new RuntimeException("Null DynamicLibraryBundle");
+ }
+ /** No native tool library to load
+ if(!bundle.isToolLibLoaded()) {
+ System.err.println("Couln't load native OVR/JNI glue library");
+ return null;
+ } */
+ if(!bundle.isLibComplete()) {
+ System.err.println("Couln't load native OVR/JNI glue library");
+ return null;
+ }
+ if( !initializeImpl() ) {
+ System.err.println("Native initialization failure of OVR/JNI glue library");
+ return null;
+ }
+ return bundle;
+ } } );
+ }
+
+ /**
+ * Accessor.
+ * @returns true if OVR library is available on this machine.
+ */
+ public static boolean isAvailable() { return dynamicLookupHelper != null; }
+