Top Fields Constructors Methods
com.jogamp.opencl.llb.impl

public final Class CLDynamicLibraryBundleInfo

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, java.security.AccessController, .PrivilegedAction, java.util.*, jogamp.common.os.PlatformPropsImpl

Field Summary

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

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, 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
Impl_lenback to summary
private static int Impl_len
Impl_strback to summary
private static String Impl_str
isAndroidback to summary
private static final boolean isAndroid

Constructor Detail

CLDynamicLibraryBundleInfoback to summary
protected CLDynamicLibraryBundleInfo()

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 true on Android, and false otherwise.

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, 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