Top Fields Constructors Methods
jogamp.openal

public final Class ALDynamicLibraryBundleInfo

extends Object
implements DynamicLibraryBundleInfo
Class Inheritance
All Implemented Interfaces
com.jogamp.common.os.DynamicLibraryBundleInfo
Imports
com.jogamp.common.jvm.JNILibLoaderBase, com.jogamp.common.os.DynamicLibraryBundle, .DynamicLibraryBundleInfo, .Platform, com.jogamp.common.util.RunnableExecutor, com.jogamp.common.util.cache.TempJarCache, com.jogamp.openal.ALFactory, java.security.AccessController, .PrivilegedAction, java.util.*

Field Summary

Modifier and TypeField and Description
private static final List<String>

Constructor Summary

AccessConstructor and Description
protected

Method Summary

Modifier and TypeMethod and Description
public final List<String>
getGlueLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.
public final RunnableExecutor
getLibLoaderExecutor()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getLibLoaderExecutor.

Returns a suitable RunnableExecutor implementation, which is being used to load the tool and glue native libraries.
public final List<String>
public final List<List<String>>
getToolLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.
public final boolean
shallLinkGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLinkGlobal.

Returns true, since we might load the library and allow symbol access to subsequent libs.

public final boolean
shallLookupGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLookupGlobal.

If method returns true and if a SecurityManager is installed, user needs link permissions for all libraries, i.e. for new RuntimePermission("loadLibrary.*");!
public final long
toolGetProcAddress(final long toolGetProcAddressHandle, final String funcName)

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.toolGetProcAddress.

May implement the lookup function using the Tools facility.
public final boolean
Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

glueLibNamesback to summary
private static final List<String> glueLibNames

Constructor Detail

ALDynamicLibraryBundleInfoback to summary
protected ALDynamicLibraryBundleInfo()

Method Detail

getGlueLibNamesback to summary
public final List<String> getGlueLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.

Returns:List<String>

a list of Glue library names.

  • GL: [ "nativewindow_x11", "jogl_gl2es12", "jogl_desktop" ]
  • NEWT: [ "nativewindow_x11", "newt" ]
  • Cg: [ "nativewindow_x11", "jogl_cg" ]

Only the last entry is crucial, ie all other are optional preload dependencies and may generate errors, which are ignored.
Annotations
@Override
getLibLoaderExecutorback to summary
public final RunnableExecutor getLibLoaderExecutor()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getLibLoaderExecutor.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getLibLoaderExecutor.

Returns a suitable RunnableExecutor implementation, which is being used to load the tool and glue native libraries.

This allows the generic DynamicLibraryBundle implementation to load the native libraries on a designated thread.

An implementation may return DynamicLibraryBundle#getDefaultRunnableExecutor().

Annotations
@Override
getToolGetProcAddressFuncNameListback to summary
public final List<String> getToolGetProcAddressFuncNameList()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getToolGetProcAddressFuncNameList.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getToolGetProcAddressFuncNameList.

May return the native libraries

GetProcAddressFunc
names, the first found function is being used.
This could be eg:
 glXGetProcAddressARB, glXGetProcAddressARB 
.
If your Tool does not has this facility, just return null.
Annotations
@Override
getToolLibNamesback to summary
public final List<List<String>> getToolLibNames()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames.

If a SecurityManager is installed, user needs link permissions for the named libraries.

Returns:List<List<String>>

a list of Tool library names or alternative library name lists.

  • GL/GLU example Unix: [ [ "libGL.so.1", "libGL.so", "GL" ], [ "libGLU.so", "GLU" ] ]
  • GL/GLU example Windows: [ "OpenGL32", "GLU32" ]
  • Cg/CgGL example: [ [ "libCg.so", "Cg" ], [ "libCgGL.so", "CgGL" ] ]
  • Annotations
    @Override
shallLinkGlobalback to summary
public final boolean shallLinkGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLinkGlobal.

Returns true, since we might load the library and allow symbol access to subsequent libs.

Returns:boolean

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.shallLinkGlobal.

true if the native library symbols shall be made available for symbol resolution of subsequently loaded libraries.

Annotations
@Override
shallLookupGlobalback to summary
public final boolean shallLookupGlobal()

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.shallLookupGlobal.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.shallLookupGlobal.

If method returns true and if a SecurityManager is installed, user needs link permissions for all libraries, i.e. for new RuntimePermission("loadLibrary.*");!

Returns false.

Returns:boolean

true if the dynamic symbol lookup shall happen system wide, over all loaded libraries. Otherwise only the loaded native libraries are used for lookup, which shall be the default.

Annotations
@Override
toolGetProcAddressback to summary
public final long toolGetProcAddress(final long toolGetProcAddressHandle, final String funcName)

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.toolGetProcAddress.

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.toolGetProcAddress.

May implement the lookup function using the Tools facility.
The actual function pointer is provided to allow proper bootstrapping of the ProcAddressTable, using one of the provided function names by getToolGetProcAddressFuncNameList().

Annotations
@Override
useToolGetProcAdressFirstback to summary
public final boolean useToolGetProcAdressFirst(final String funcName)

Implements com.jogamp.common.os.DynamicLibraryBundleInfo.useToolGetProcAdressFirst.

Returns:boolean

Doc from com.jogamp.common.os.DynamicLibraryBundleInfo.useToolGetProcAdressFirst.

true if toolGetProcAddress(long, String) shall be tried before the system loader for the given function lookup. Otherwise false. Default is true.

Annotations
@Override