public class DynamicLibraryBundle extends Object implements DynamicLookupHelper
An DynamicLibraryBundleInfo
instance is being passed in the constructor,
providing the required information about the tool and glue libraries.
The ClassLoader of it's implementation is also being used to help locating the native libraries.
DynamicLookupHelper
to reset
the ProcAddressTable
.NativeLibrary's open method
Glue native library
GetProcAddress
. (optional)Modifier and Type | Field and Description |
---|---|
protected List<NativeLibrary> |
nativeLibraries |
DEBUG, DEBUG_LOOKUP
Constructor and Description |
---|
DynamicLibraryBundle(DynamicLibraryBundleInfo info)
Instantiates and loads all
NativeLibrary s incl. |
Modifier and Type | Method and Description |
---|---|
void |
claimAllLinkPermission() |
void |
destroy()
Unload all
NativeLibrary s, and remove all references. |
long |
dynamicLookupFunction(String funcName)
Returns the function handle for function 'funcName'.
|
DynamicLibraryBundleInfo |
getBundleInfo() |
static RunnableExecutor |
getDefaultRunnableExecutor()
Returns an AWT-EDT
RunnableExecutor implementation if AWT is available, otherwise RunnableExecutor.currentThreadExecutor . |
int |
getGlueLibLoadedNumber() |
int |
getGlueLibNumber() |
protected long |
getToolGetProcAddressHandle() |
int |
getToolLibLoadedNumber() |
int |
getToolLibNumber() |
boolean |
isFunctionAvailable(String funcName)
Queries whether function 'funcName' is available.
|
boolean |
isGlueLibComplete() |
boolean |
isGlueLibLoaded(int i) |
boolean |
isLibComplete() |
boolean |
isToolLibComplete() |
boolean |
isToolLibLoaded() |
boolean |
isToolLibLoaded(int i) |
protected static NativeLibrary |
loadFirstAvailable(List<String> libNames,
ClassLoader loader,
boolean global) |
void |
releaseAllLinkPermission() |
protected final List<NativeLibrary> nativeLibraries
public DynamicLibraryBundle(DynamicLibraryBundleInfo info)
NativeLibrary
s incl. JNI libraries.
The ClassLoader of the DynamicLibraryBundleInfo
implementation class
is being used to help locating the native libraries.
public static RunnableExecutor getDefaultRunnableExecutor()
RunnableExecutor
implementation if AWT is available, otherwise RunnableExecutor.currentThreadExecutor
.public final void destroy()
NativeLibrary
s, and remove all references.public final boolean isLibComplete()
public final int getToolLibNumber()
public final int getToolLibLoadedNumber()
public final boolean isToolLibComplete()
DynamicLibraryBundleInfo.getToolLibNames()
public final boolean isToolLibLoaded()
public final boolean isToolLibLoaded(int i)
public final int getGlueLibNumber()
public final int getGlueLibLoadedNumber()
public final boolean isGlueLibComplete()
DynamicLibraryBundleInfo.getGlueLibNames()
public final boolean isGlueLibLoaded(int i)
public final DynamicLibraryBundleInfo getBundleInfo()
protected final long getToolGetProcAddressHandle() throws SecurityException
SecurityException
protected static final NativeLibrary loadFirstAvailable(List<String> libNames, ClassLoader loader, boolean global) throws SecurityException
SecurityException
public final void claimAllLinkPermission() throws SecurityException
claimAllLinkPermission
in interface DynamicLookupHelper
SecurityException
- if user is not granted access for the library set.public final void releaseAllLinkPermission() throws SecurityException
releaseAllLinkPermission
in interface DynamicLookupHelper
SecurityException
- if user is not granted access for the library set.public final long dynamicLookupFunction(String funcName) throws SecurityException
DynamicLookupHelper
dynamicLookupFunction
in interface DynamicLookupHelper
SecurityException
- if user is not granted access for the library set.public final boolean isFunctionAvailable(String funcName) throws SecurityException
DynamicLookupHelper
isFunctionAvailable
in interface DynamicLookupHelper
SecurityException
- if user is not granted access for the library set.