Package com.kenai.jffi
Class CallContext
java.lang.Object
com.kenai.jffi.CallContext
public final class CallContext
extends java.lang.Object
Native function call context
This class holds all the information that JFFI needs to correctly call a
native function, or to implement a callback from native code to java.
-
Constructor Summary
Constructors Constructor Description CallContext(Type returnType, Type... parameterTypes)Creates a new instance ofFunctionwith default calling convention.CallContext(Type returnType, Type[] parameterTypes, CallingConvention convention)Creates a new instance ofFunction.CallContext(Type returnType, Type[] parameterTypes, CallingConvention convention, boolean saveErrno) -
Method Summary
Modifier and Type Method Description voiddispose()Deprecated.booleanequals(java.lang.Object o)protected voidfinalize()static CallContextgetCallContext(Type returnType, int fixedParamCount, Type[] parameterTypes, CallingConvention convention, boolean saveErrno)static CallContextgetCallContext(Type returnType, Type[] parameterTypes, CallingConvention convention, boolean saveErrno)Returns aCallContextinstance.static CallContextgetCallContext(Type returnType, Type[] parameterTypes, CallingConvention convention, boolean saveErrno, boolean faultProtect)intgetParameterCount()Gets the number of parameters the native function accepts.TypegetParameterType(int index)Gets the type of a parameter.intgetRawParameterSize()Gets the number of bytes required to pack all the parameters this function accepts, into a region of memory.TypegetReturnType()Gets the native return type of this function.inthashCode()Methods inherited from class java.lang.Object
clone, getClass, notify, notifyAll, toString, wait, wait, wait
-
Constructor Details
-
CallContext
Creates a new instance ofFunctionwith default calling convention.- Parameters:
returnType- The return type of the native function.parameterTypes- The parameter types the function accepts.
-
CallContext
Creates a new instance ofFunction.Functioninstances created with this constructor will save the C errno contents after each call.- Parameters:
returnType- The return type of the native function.parameterTypes- The parameter types the function accepts.convention- The calling convention of the function.
-
CallContext
public CallContext(Type returnType, Type[] parameterTypes, CallingConvention convention, boolean saveErrno)
-
-
Method Details
-
getCallContext
public static CallContext getCallContext(Type returnType, Type[] parameterTypes, CallingConvention convention, boolean saveErrno)Returns aCallContextinstance. This may return a previously cached instance that matches the signature requested, and should be used in preference to instantiating new instances.- Parameters:
returnType- The return type of the native function.parameterTypes- The parameter types the function accepts.convention- The calling convention of the function.saveErrno- Indicates that the errno should be saved- Returns:
- An instance of CallContext
-
getCallContext
public static CallContext getCallContext(Type returnType, int fixedParamCount, Type[] parameterTypes, CallingConvention convention, boolean saveErrno) -
getCallContext
public static CallContext getCallContext(Type returnType, Type[] parameterTypes, CallingConvention convention, boolean saveErrno, boolean faultProtect) -
getParameterCount
public final int getParameterCount()Gets the number of parameters the native function accepts.- Returns:
- The number of parameters the native function accepts.
-
getRawParameterSize
public final int getRawParameterSize()Gets the number of bytes required to pack all the parameters this function accepts, into a region of memory.- Returns:
- The number of bytes required to store all paraameters of this function.
-
getReturnType
Gets the native return type of this function.- Returns:
- The native return type of this function.
-
getParameterType
Gets the type of a parameter.- Parameters:
index- The index of the parameter in the function signature- Returns:
- The
Typeof the parameter.
-
equals
public boolean equals(java.lang.Object o)- Overrides:
equalsin classjava.lang.Object
-
hashCode
public int hashCode()- Overrides:
hashCodein classjava.lang.Object
-
dispose
@Deprecated public final void dispose()Deprecated. -
finalize
protected void finalize() throws java.lang.Throwable- Overrides:
finalizein classjava.lang.Object- Throws:
java.lang.Throwable
-