Interface DynamicLibraryBundleInfo


public interface DynamicLibraryBundleInfo
  • Field Details

    • DEBUG

      static final boolean DEBUG
  • Method Details

    • getToolLibNames

      List<List<String>> 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" ] ]
    • getGlueLibNames

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

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

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

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

      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:
      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.
    • getLibLoaderExecutor

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