Top Fields Methods
com.jogamp.common.os

public Interface DynamicLibraryBundleInfo

Imports
java.util.List, com.jogamp.common.util.RunnableExecutor

Field Summary

Modifier and TypeField and Description
public static final boolean

Method Summary

Modifier and TypeMethod and Description
public List<String>

Returns:

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.
getGlueLibNames
()

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

public RunnableExecutor
getLibLoaderExecutor()

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

public List<String>
getToolGetProcAddressFuncNameList()

May return the native libraries

GetProcAddressFunc
public List<List<String>>

Returns:

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" ] ]
getToolLibNames
()

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

public boolean

Returns:

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

public boolean

Returns:

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.
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 long
toolGetProcAddress(long toolGetProcAddressHandle, String funcName)

May implement the lookup function using the Tools facility.

public boolean

Returns:

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

Field Detail

DEBUGback to summary
public static final boolean DEBUG

Method Detail

getGlueLibNamesback to summary
public List<String> 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.
getLibLoaderExecutorback to summary
public RunnableExecutor 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().

getToolGetProcAddressFuncNameListback to summary
public List<String> 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.
See Also
toolGetProcAddress(long, String)
getToolLibNamesback to summary
public List<List<String>> 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" ] ]
shallLinkGlobalback to summary
public boolean shallLinkGlobal()
Returns:boolean

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

shallLookupGlobalback to summary
public boolean 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: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.

toolGetProcAddressback to summary
public long toolGetProcAddress(long toolGetProcAddressHandle, String funcName)

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().

useToolGetProcAdressFirstback to summary
public boolean useToolGetProcAdressFirst(String funcName)
Returns:boolean

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