| java.lang.Object | |
| ↳ | com.pnfsoftware.jeb.core.units.code.asm.type.TypeLibraryService |
Sole implementation of the TLS. There is one TLS per JEB engines context. It can be retrieved via
getTypeLibraryService().
This class is thread-safe.
| Constants | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| int | GROUPID_TYPELIB_LINUX | ||||||||||
| int | GROUPID_TYPELIB_LINUX_ANDROID | ||||||||||
| int | GROUPID_TYPELIB_POSIX | ||||||||||
| int | GROUPID_TYPELIB_TEST | ||||||||||
| int | GROUPID_TYPELIB_TEST1 | ||||||||||
| int | GROUPID_TYPELIB_TEST2 | ||||||||||
| int | GROUPID_TYPELIB_TEST3 | ||||||||||
| int | GROUPID_TYPELIB_TEST4 | ||||||||||
| int | GROUPID_TYPELIB_WIN32 | ||||||||||
| int | GROUPID_TYPELIB_WINDDK | ||||||||||
| String | TYPELIB_FILE_EXTENSION | ||||||||||
| Public Constructors | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
|
TypeLibraryService()
Create a new TLS.
| |||||||||||
|
TypeLibraryService(File folder)
Create a new TLS with an initial folder.
| |||||||||||
| Public Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| synchronized void |
addFolder(File folder, boolean doRescan)
Add a typelib folder to this TLS.
| ||||||||||
| synchronized INativeMethodItem |
findRoutineByName(String name, ProcessorType procType, int groupId)
Find a routine by simple name in the currently loaded typelibs.
| ||||||||||
| synchronized INativeMethodItem |
findRoutineByName(String name, ProcessorType procType)
Convenience method.
| ||||||||||
| synchronized INativeType |
findTypeBySignature(String signature, ProcessorType procType, int groupId)
Find a type by signature in the currently loaded typelibs.
| ||||||||||
| synchronized INativeType |
findTypeBySignature(String signature, ProcessorType procType)
Find a type by signature in the currently loaded typelibs.
| ||||||||||
| synchronized List<TypeLibraryEntry> |
getAvailables()
Get the list of available type library entries.
| ||||||||||
| synchronized List<ITypeLibrary> |
getLoadedTypeLibraries()
Get the list of loaded type libraries.
| ||||||||||
| synchronized List<ITypeLibrary> |
getNotLoadedTypeLibraries()
Get the list of type libraries that have not been loaded yet.
| ||||||||||
| static String | groupIdToName(int id) | ||||||||||
| synchronized boolean |
load(ProcessorType processorType, int groupId, int maxCount)
Load type libraries matching the given processor and group.
| ||||||||||
| synchronized boolean |
load(ProcessorType processorType, int groupId)
Load all type libraries matching the given processor and group.
| ||||||||||
| synchronized boolean |
load(TypeLibraryEntry entry)
Load the provided type library into this TLS.
| ||||||||||
| synchronized boolean | loadExternal(ITypeLibrary typelib) | ||||||||||
| synchronized boolean |
loadSingle(ProcessorType processorType, int groupId)
Load the highest priority type library matching the given processor type and group.
| ||||||||||
| synchronized void |
rescan()
Rescan the type library folders to register/unregister additional/removed typelib binary
files.
| ||||||||||
|
[Expand]
Inherited Methods | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
| |||||||||||
Create a new TLS. At least one folder must be added using addFolder(File, boolean).
Create a new TLS with an initial folder. The folder will be scanned.
Add a typelib folder to this TLS.
| doRescan | if true, rescan() will be invoked after the folder addition
|
|---|
Find a routine by simple name in the currently loaded typelibs. Convenience routine.
| name | routine name |
|---|---|
| procType | optional |
| groupId | optional (0 if none/unknown) |
Convenience method.
| name | routine name |
|---|---|
| procType | optional |
Find a type by signature in the currently loaded typelibs. Convenience routine.
| procType | optional |
|---|---|
| groupId | optional (0 if none/unknown) |
Find a type by signature in the currently loaded typelibs. Convenience routine.
| procType | optional |
|---|
Get the list of available type library entries. An available typelib is not necessarily
loaded. Refer to TypeLibraryEntry for additional details about the state of a given
typelib.
Get the list of loaded type libraries. More type libraries may be available, eg non-loaded ones.
Get the list of type libraries that have not been loaded yet.
Load type libraries matching the given processor and group.
Load all type libraries matching the given processor and group.
Load the provided type library into this TLS.
Load the highest priority type library matching the given processor type and group.
Rescan the type library folders to register/unregister additional/removed typelib binary files.