com.kenai.jffi
Class Function

java.lang.Object
  extended by com.kenai.jffi.Function

public final class Function
extends java.lang.Object

Native function invocation context This class holds all the information that JFFI needs to correctly call a native function.


Constructor Summary
Function(long address, Type returnType, Type... paramTypes)
          Creates a new instance of Function with default calling convention.
Function(long address, Type returnType, Type[] paramTypes, CallingConvention convention)
          Creates a new instance of Function.
Function(long address, Type returnType, Type[] paramTypes, CallingConvention convention, boolean saveErrno)
          Creates a new instance of Function.
 
Method Summary
protected  void finalize()
           
 long getFunctionAddress()
          Gets the address of the function.
 int getParameterCount()
          Gets the number of parameters the native function accepts.
 Type getParameterType(int index)
          Gets the type of a parameter.
 Type getReturnType()
          Gets the native return type of this function.
 
Methods inherited from class java.lang.Object
clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

Function

public Function(long address,
                Type returnType,
                Type... paramTypes)
Creates a new instance of Function with default calling convention.

Parameters:
address - The native address of the function to invoke.
returnType - The return type of the native function.
paramTypes - The parameter types the function accepts.

Function

public Function(long address,
                Type returnType,
                Type[] paramTypes,
                CallingConvention convention)
Creates a new instance of Function. Function instances created with this constructor will save the C errno contents after each call.

Parameters:
address - The native address of the function to invoke.
returnType - The return type of the native function.
paramTypes - The parameter types the function accepts.
convention - The calling convention of the function.

Function

public Function(long address,
                Type returnType,
                Type[] paramTypes,
                CallingConvention convention,
                boolean saveErrno)
Creates a new instance of Function.

Parameters:
address - The native address of the function to invoke.
returnType - The return type of the native function.
paramTypes - The parameter types the function accepts.
convention - The calling convention of the function.
saveErrno - Whether the errno should be saved or not
Method Detail

getParameterCount

public final int getParameterCount()
Gets the number of parameters the native function accepts.

Returns:
The number of parameters the native function accepts.

getFunctionAddress

public final long getFunctionAddress()
Gets the address of the function.

Returns:
The address of the native function.

getReturnType

public final Type getReturnType()
Gets the native return type of this function.

Returns:
The native return type of this function.

getParameterType

public final Type getParameterType(int index)
Gets the type of a parameter.

Parameters:
index - The index of the parameter in the function signature
Returns:
The Type of the parameter.

finalize

protected void finalize()
                 throws java.lang.Throwable
Overrides:
finalize in class java.lang.Object
Throws:
java.lang.Throwable