blob: 9439a487cffd4c22b1ec029b28bb8c9bd3a56a88 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
|
static final DynamicLibraryBundle alDynamicLookupHelper;
private static final ALProcAddressTable alProcAddressTable;
static {
alProcAddressTable = new ALProcAddressTable();
if(null==alProcAddressTable) {
throw new RuntimeException("Couldn't instantiate ALProcAddressTable");
}
alDynamicLookupHelper = SecurityUtil.doPrivileged(new PrivilegedAction<DynamicLibraryBundle>() {
public DynamicLibraryBundle run() {
final DynamicLibraryBundle bundle = new DynamicLibraryBundle(new ALDynamicLibraryBundleInfo());
if(!bundle.isToolLibLoaded()) {
throw new RuntimeException("Couln't load native AL library");
}
if(!bundle.isLibComplete()) {
throw new RuntimeException("Couln't load native AL/JNI glue library");
}
alProcAddressTable.reset(bundle);
/** Not required nor forced
if( !initializeImpl() ) {
throw new RuntimeException("Initialization failure");
} */
return bundle;
} } );
}
public static ALProcAddressTable getALProcAddressTable() { return alProcAddressTable; }
static long alGetProcAddress(long alGetProcAddressHandle, java.lang.String procname)
{
if (alGetProcAddressHandle == 0) {
throw new RuntimeException("Passed null pointer for method \"alGetProcAddress\"");
}
return dispatch_alGetProcAddressStatic(procname, alGetProcAddressHandle);
}
static native long dispatch_alGetProcAddressStatic(String fname, long procAddress);
|