diff options
Diffstat (limited to 'make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java')
-rw-r--r-- | make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java | 51 |
1 files changed, 31 insertions, 20 deletions
diff --git a/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java b/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java index 06f7b3234..281610a20 100644 --- a/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java +++ b/make/config/oculusvr/oculusvr-ovr-CustomJavaCode.java @@ -1,22 +1,33 @@ -static { - 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()) { - throw new RuntimeException("Couln't load native OVR library"); - } */ - if(!bundle.isLibComplete()) { - throw new RuntimeException("Couln't load native OVR/JNI glue library"); - } - if( !initializeImpl() ) { - throw new RuntimeException("Initialization failure"); - } - return bundle; - } } ); -} + 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; } |