GlueGen v2.6.0-rc-20250712
GlueGen, Native Binding Generator for Java™ (public API).
com.jogamp.common.os.DynamicLibraryBundleInfo Interface Reference
Inheritance diagram for com.jogamp.common.os.DynamicLibraryBundleInfo:
Collaboration diagram for com.jogamp.common.os.DynamicLibraryBundleInfo:

Public Member Functions

boolean searchToolLibInSystemPath ()
 Returns true if tool libraries shall be searched in the system path (default), otherwise false. More...
 
boolean searchToolLibSystemPathFirst ()
 Returns true if system path shall be searched first (default), rather than searching it last. More...
 
List< List< String > > getToolLibNames ()
 If a SecurityManager is installed, user needs link permissions for the named libraries. More...
 
List< String > getSymbolForToolLibPath ()
 Returns optional list of optional symbol names per getToolLibNames() in same order for an OS which requires the symbol's address to retrieve the path of the containing library. More...
 
List< String > getGlueLibNames ()
 If a SecurityManager is installed, user needs link permissions for the named libraries. More...
 
List< String > getToolGetProcAddressFuncNameList ()
 May return the native libraries. More...
 
long toolGetProcAddress (long toolGetProcAddressHandle, String funcName)
 May implement the lookup function using the Tools facility. More...
 
boolean useToolGetProcAdressFirst (String funcName)
 
boolean shallLinkGlobal ()
 
boolean shallLookupGlobal ()
 If method returns true and if a SecurityManager is installed, user needs link permissions for all libraries, i.e. More...
 
RunnableExecutor getLibLoaderExecutor ()
 Returns a suitable RunnableExecutor implementation, which is being used to load the tool and glue native libraries. More...
 

Static Public Attributes

static final boolean DEBUG = DynamicLibraryBundle.DEBUG
 

Detailed Description

Definition at line 36 of file DynamicLibraryBundleInfo.java.

Member Function Documentation

◆ getGlueLibNames()

List< String > com.jogamp.common.os.DynamicLibraryBundleInfo.getGlueLibNames ( )

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

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.

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

Here is the caller graph for this function:

◆ getLibLoaderExecutor()

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

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

Here is the caller graph for this function:

◆ getSymbolForToolLibPath()

List< String > com.jogamp.common.os.DynamicLibraryBundleInfo.getSymbolForToolLibPath ( )

Returns optional list of optional symbol names per getToolLibNames() in same order for an OS which requires the symbol's address to retrieve the path of the containing library.

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

Here is the caller graph for this function:

◆ getToolGetProcAddressFuncNameList()

List< String > 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.

See also
toolGetProcAddress(long, String)

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

Here is the caller graph for this function:

◆ getToolLibNames()

List< List< String > > com.jogamp.common.os.DynamicLibraryBundleInfo.getToolLibNames ( )

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

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" ] ]

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

Here is the caller graph for this function:

◆ searchToolLibInSystemPath()

boolean com.jogamp.common.os.DynamicLibraryBundleInfo.searchToolLibInSystemPath ( )

Returns true if tool libraries shall be searched in the system path (default), otherwise false.

Since
2.4.0

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

◆ searchToolLibSystemPathFirst()

boolean com.jogamp.common.os.DynamicLibraryBundleInfo.searchToolLibSystemPathFirst ( )

Returns true if system path shall be searched first (default), rather than searching it last.

If searchToolLibInSystemPath() is false the return value is ignored.

Since
2.4.0

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

◆ shallLinkGlobal()

boolean com.jogamp.common.os.DynamicLibraryBundleInfo.shallLinkGlobal ( )
Returns
true if the native library symbols shall be made available for symbol resolution of subsequently loaded libraries.

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

◆ shallLookupGlobal()

boolean 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 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.

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

◆ toolGetProcAddress()

long com.jogamp.common.os.DynamicLibraryBundleInfo.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().

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

◆ useToolGetProcAdressFirst()

boolean com.jogamp.common.os.DynamicLibraryBundleInfo.useToolGetProcAdressFirst ( String  funcName)
Parameters
funcName
Returns
true if toolGetProcAddress(long, String) shall be tried before the system loader for the given function lookup. Otherwise false. Default is true.

Implemented in com.jogamp.gluegen.test.junit.generation.Test1p2DynamicLibraryBundle.Test1DynLibBundleInfo.

Here is the caller graph for this function:

Member Data Documentation

◆ DEBUG

final boolean com.jogamp.common.os.DynamicLibraryBundleInfo.DEBUG = DynamicLibraryBundle.DEBUG
static

Definition at line 37 of file DynamicLibraryBundleInfo.java.


The documentation for this interface was generated from the following file: