public final class HeapInvocationBuffer extends java.lang.Object implements InvocationBuffer
InvocationBuffer
that packs its parameters onto
a java heap allocated buffer.Constructor and Description |
---|
HeapInvocationBuffer(CallInfo info)
Creates a new instance of HeapInvocationBuffer.
|
HeapInvocationBuffer(Function function)
Creates a new instance of HeapInvocationBuffer.
|
Modifier and Type | Method and Description |
---|---|
void |
putAddress(long value)
Adds a native address parameter.
|
void |
putArray(byte[] array,
int offset,
int length,
int flags)
Adds a java byte array as a pointer parameter.
|
void |
putArray(double[] array,
int offset,
int length,
int flags)
Adds a java double array as a pointer parameter.
|
void |
putArray(float[] array,
int offset,
int length,
int flags)
Adds a java float array as a pointer parameter.
|
void |
putArray(int[] array,
int offset,
int length,
int flags)
Adds a java int array as a pointer parameter.
|
void |
putArray(long[] array,
int offset,
int length,
int flags)
Adds a java long array as a pointer parameter.
|
void |
putArray(short[] array,
int offset,
int length,
int flags)
Adds a java short array as a pointer parameter.
|
void |
putByte(int value)
Adds an 8 bit integer parameter.
|
void |
putDirectBuffer(java.nio.Buffer value,
int offset,
int length)
Adds a java direct buffer as a pointer parameter.
|
void |
putDouble(double value)
Adds a 64 bit floating point parameter.
|
void |
putFloat(float value)
Adds a 32 bit floating point parameter.
|
void |
putInt(int value)
Adds a 32 bit integer parameter.
|
void |
putJNIEnvironment() |
void |
putJNIObject(java.lang.Object obj) |
void |
putLong(long value)
Adds a 64 bit integer parameter.
|
void |
putShort(int value)
Adds a 16 bit integer parameter.
|
void |
putStruct(byte[] struct,
int offset)
Adds a struct or union as a parameter.
|
void |
putStruct(long struct)
Adds a struct or union as a parameter.
|
public HeapInvocationBuffer(CallInfo info)
info
- The call info that describes the function parameterspublic HeapInvocationBuffer(Function function)
function
- The function that this buffer is going to be used with.public final void putByte(int value)
InvocationBuffer
putByte
in interface InvocationBuffer
value
- An 8 bit integer value to use as the parameter.public final void putShort(int value)
InvocationBuffer
putShort
in interface InvocationBuffer
value
- A 16 bit integer value to use as the parameter.public final void putInt(int value)
InvocationBuffer
putInt
in interface InvocationBuffer
value
- A 32 bit integer value to use as the parameter.public final void putLong(long value)
InvocationBuffer
putLong
in interface InvocationBuffer
value
- A 64 bit integer value to use as the parameter.public final void putFloat(float value)
InvocationBuffer
putFloat
in interface InvocationBuffer
value
- A 32 bit floating point value to use as the parameter.public final void putDouble(double value)
InvocationBuffer
putDouble
in interface InvocationBuffer
value
- A 64 bit floating point value to use as the parameter.public final void putAddress(long value)
InvocationBuffer
putAddress
in interface InvocationBuffer
value
- A native address value to use as the parameter.public final void putArray(byte[] array, int offset, int length, int flags)
InvocationBuffer
putArray
in interface InvocationBuffer
array
- The java array to use as the pointer parameter.offset
- The offset from the start of the array.length
- The length of the array to use.flags
- The flags to use (IN, OUT)public final void putArray(short[] array, int offset, int length, int flags)
InvocationBuffer
putArray
in interface InvocationBuffer
array
- The java array to use as the pointer parameter.offset
- The offset from the start of the array.length
- The length of the array to use.flags
- The flags to use (IN, OUT)public final void putArray(int[] array, int offset, int length, int flags)
InvocationBuffer
putArray
in interface InvocationBuffer
array
- The java array to use as the pointer parameter.offset
- The offset from the start of the array.length
- The length of the array to use.flags
- The flags to use (IN, OUT)public final void putArray(long[] array, int offset, int length, int flags)
InvocationBuffer
putArray
in interface InvocationBuffer
array
- The java array to use as the pointer parameter.offset
- The offset from the start of the array.length
- The length of the array to use.flags
- The flags to use (IN, OUT)public final void putArray(float[] array, int offset, int length, int flags)
InvocationBuffer
putArray
in interface InvocationBuffer
array
- The java array to use as the pointer parameter.offset
- The offset from the start of the array.length
- The length of the array to use.flags
- The flags to use (IN, OUT)public final void putArray(double[] array, int offset, int length, int flags)
InvocationBuffer
putArray
in interface InvocationBuffer
array
- The java array to use as the pointer parameter.offset
- The offset from the start of the array.length
- The length of the array to use.flags
- The flags to use (IN, OUT)public final void putDirectBuffer(java.nio.Buffer value, int offset, int length)
InvocationBuffer
putDirectBuffer
in interface InvocationBuffer
value
- The buffer to use as a pointer argument.offset
- An offset to add to the buffer native address.length
- The length of the buffer to use.public final void putStruct(byte[] struct, int offset)
InvocationBuffer
putStruct
in interface InvocationBuffer
struct
- A java byte array with the struct contents.offset
- The offset from the start of the array.public final void putStruct(long struct)
InvocationBuffer
putStruct
in interface InvocationBuffer
struct
- The native address to use as the struct contents.public final void putJNIEnvironment()
public final void putJNIObject(java.lang.Object obj)