Package edu.wpi.first.util
Class CombinedRuntimeLoader
java.lang.Object
edu.wpi.first.util.CombinedRuntimeLoader
public final class CombinedRuntimeLoader extends Object
Loads dynamic libraries for all platforms.
-
Method Summary
Modifier and Type Method Description static <T> List<String>
extractLibraries(Class<T> clazz, String resourceName)
Extract a list of native libraries.static String
getExtractionDirectory()
Returns library extraction directory.static <T> void
loadLibraries(Class<T> clazz, String... librariesToLoad)
Load a list of native libraries out of a single directory.static void
loadLibrary(String libraryName, List<String> extractedFiles)
Load a single library from a list of extracted files.static String
setDllDirectory(String directory)
Sets DLL directory.
-
Method Details
-
getExtractionDirectory
Returns library extraction directory.- Returns:
- Library extraction directory.
-
setDllDirectory
Sets DLL directory.- Parameters:
directory
- Directory.- Returns:
- DLL directory.
-
extractLibraries
public static <T> List<String> extractLibraries(Class<T> clazz, String resourceName) throws IOExceptionExtract a list of native libraries.- Type Parameters:
T
- The class where the resources would be located- Parameters:
clazz
- The actual class objectresourceName
- The resource name on the classpath to use for file lookup- Returns:
- List of all libraries that were extracted
- Throws:
IOException
- Thrown if resource not found or file could not be extracted
-
loadLibrary
Load a single library from a list of extracted files.- Parameters:
libraryName
- The library name to loadextractedFiles
- The extracted files to search- Throws:
IOException
- If library was not found
-
loadLibraries
Load a list of native libraries out of a single directory.- Type Parameters:
T
- The class where the resources would be located- Parameters:
clazz
- The actual class objectlibrariesToLoad
- List of libraries to load- Throws:
IOException
- Throws an IOException if not found
-