diff options
Diffstat (limited to 'make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java')
-rw-r--r-- | make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java | 33 |
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; } + |