Package jnr.ffi.provider.jffi
Class NativeRuntime
- java.lang.Object
-
- jnr.ffi.Runtime
-
- jnr.ffi.provider.AbstractRuntime
-
- jnr.ffi.provider.jffi.NativeRuntime
-
public final class NativeRuntime extends AbstractRuntime
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static classNativeRuntime.SingletonHolderprivate static classNativeRuntime.TypeDelegate
-
Field Summary
Fields Modifier and Type Field Description private Type[]aliasesprivate NativeClosureManagerclosureManagerprivate NativeMemoryManagermm
-
Constructor Summary
Constructors Modifier Constructor Description privateNativeRuntime()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static NativeType[]buildNativeTypeAliases()private static java.util.EnumMap<NativeType,Type>buildTypeMap()booleanequals(java.lang.Object o)TypefindType(TypeAlias type)Looks up the runtime-specific type that corresponds to the type aliasNativeClosureManagergetClosureManager()Gets the native closure manager for this runtimestatic NativeRuntimegetInstance()intgetLastError()Gets the last native error code.NativeMemoryManagergetMemoryManager()Gets the native memory manager instance for this runtimeinthashCode()booleanisCompatible(Runtime other)Indicates whether this Runtime instance is compatible with another Runtime instance.private static TypejafflType(NativeType type)ObjectReferenceManagernewObjectReferenceManager()Creates a newObjectReferenceManagervoidsetLastError(int error)Sets the native error code.-
Methods inherited from class jnr.ffi.provider.AbstractRuntime
addressMask, addressSize, byteOrder, findType, longSize
-
Methods inherited from class jnr.ffi.Runtime
getRuntime, getSystemRuntime
-
-
-
-
Field Detail
-
mm
private final NativeMemoryManager mm
-
closureManager
private final NativeClosureManager closureManager
-
aliases
private final Type[] aliases
-
-
Method Detail
-
getInstance
public static NativeRuntime getInstance()
-
buildTypeMap
private static java.util.EnumMap<NativeType,Type> buildTypeMap()
-
buildNativeTypeAliases
private static NativeType[] buildNativeTypeAliases()
-
findType
public Type findType(TypeAlias type)
Description copied from class:RuntimeLooks up the runtime-specific type that corresponds to the type alias
-
getMemoryManager
public final NativeMemoryManager getMemoryManager()
Description copied from class:AbstractRuntimeGets the native memory manager instance for this runtime- Specified by:
getMemoryManagerin classAbstractRuntime- Returns:
- a
MemoryManager
-
getClosureManager
public NativeClosureManager getClosureManager()
Description copied from class:RuntimeGets the native closure manager for this runtime- Specified by:
getClosureManagerin classRuntime- Returns:
- The
ClosureManagerof the runtime
-
newObjectReferenceManager
public ObjectReferenceManager newObjectReferenceManager()
Description copied from class:RuntimeCreates a newObjectReferenceManager- Specified by:
newObjectReferenceManagerin classRuntime- Returns:
- A new
ObjectReferenceManager
-
getLastError
public int getLastError()
Description copied from class:AbstractRuntimeGets the last native error code.This returns the errno value that was set at the time of the last native function call.
- Specified by:
getLastErrorin classAbstractRuntime- Returns:
- The errno value.
-
setLastError
public void setLastError(int error)
Description copied from class:AbstractRuntimeSets the native error code.- Specified by:
setLastErrorin classAbstractRuntime- Parameters:
error- The value to set errno to.
-
isCompatible
public boolean isCompatible(Runtime other)
Description copied from class:RuntimeIndicates whether this Runtime instance is compatible with another Runtime instance.This is not the same as calling
Object.equals(java.lang.Object)- this method only indicates whether or not artifacts from the runtime (e.g. memory addresses) are compatible with artifacts from this one.This is mostly for internal use.
- Specified by:
isCompatiblein classRuntime- Parameters:
other- the other runtime to test for compatibility- Returns:
- true if the other runtime is compatible with this one
-
equals
public boolean equals(java.lang.Object o)
- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()
- Overrides:
hashCodein classjava.lang.Object
-
jafflType
private static Type jafflType(NativeType type)
-
-