aboutsummaryrefslogtreecommitdiffstats
path: root/src/java/jogamp/common/os/DynamicLinkerImpl.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/java/jogamp/common/os/DynamicLinkerImpl.java')
-rw-r--r--src/java/jogamp/common/os/DynamicLinkerImpl.java13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/java/jogamp/common/os/DynamicLinkerImpl.java b/src/java/jogamp/common/os/DynamicLinkerImpl.java
index 5ce94c1..13b08d7 100644
--- a/src/java/jogamp/common/os/DynamicLinkerImpl.java
+++ b/src/java/jogamp/common/os/DynamicLinkerImpl.java
@@ -45,6 +45,7 @@ import com.jogamp.common.util.SecurityUtil;
/**
* @throws SecurityException if user is not granted global access
*/
+ @Override
public final void claimAllLinkPermission() throws SecurityException {
synchronized( secSync ) {
allLinkPermissionGranted = true;
@@ -54,6 +55,7 @@ import com.jogamp.common.util.SecurityUtil;
/**
* @throws SecurityException if user is not granted global access
*/
+ @Override
public final void releaseAllLinkPermission() throws SecurityException {
synchronized( secSync ) {
allLinkPermissionGranted = false;
@@ -120,6 +122,17 @@ import com.jogamp.common.util.SecurityUtil;
protected abstract long openLibraryLocalImpl(final String pathname) throws SecurityException;
@Override
+ public final String lookupLibraryPathname(final long libraryHandle, final String symbolName) throws SecurityException {
+ checkLinkPermission(libraryHandle);
+ final String fname = lookupLibraryPathnameImpl(libraryHandle, symbolName);
+ if(DEBUG_LOOKUP) {
+ System.err.println("DynamicLinkerImpl.lookupLibraryPathname(0x"+Long.toHexString(libraryHandle)+", "+symbolName+") -> '"+fname+"'");
+ }
+ return fname;
+ }
+ protected abstract String lookupLibraryPathnameImpl(final long libraryHandle, String symbolName) throws SecurityException;
+
+ @Override
public final long lookupSymbolGlobal(final String symbolName) throws SecurityException {
checkAllLinkPermission();
final long addr = lookupSymbolGlobalImpl(symbolName);