Package org.lwjgl.system.dyncall
Class DynCallback
- java.lang.Object
-
- org.lwjgl.system.dyncall.DynCallback
-
public class DynCallback extends java.lang.Object
Native bindings to \"dyncall_callback.h\".The dyncallback dyncall library has an interface to create callback objects, that can be passed to functions as callback arguments. In other words, a pointer to the callback object can be "called", directly. The callback handler then allows iterating dynamically over the arguments once called back.
-
-
Field Summary
Fields Modifier and Type Field and Description static char
DCB_SIGCHAR_CC_ELLIPSIS
DCB_SIGCHAR_CC_FASTCALL_GNU
DCB_SIGCHAR_CC_FASTCALL_MS
DCB_SIGCHAR_CC_PREFIX
DCB_SIGCHAR_CC_STDCALL
DCB_SIGCHAR_CC_THISCALL_MSCallback signatures.
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method and Description static int
dcbArgBool(long args)
Returns the nextbool
argument.static byte
dcbArgChar(long args)
Returns the nextchar
argument.static double
dcbArgDouble(long args)
Returns the nextdouble
argument.static float
dcbArgFloat(long args)
Returns the nextfloat
argument.static int
dcbArgInt(long args)
Returns the nextint
argument.static int
dcbArgLong(long args)
Returns the nextlong
argument.static long
dcbArgLongLong(long args)
Returns the nextlong long
argument.static long
dcbArgPointer(long args)
Returns the nextpointer
argument.static short
dcbArgShort(long args)
Returns the nextshort
argument.static byte
dcbArgUChar(long args)
Returns the nextunsigned char
argument.static int
dcbArgUInt(long args)
Returns the nextunsigned int
argument.static int
dcbArgULong(long args)
Returns the nextunsigned long
argument.static long
dcbArgULongLong(long args)
Returns the nextunsigned long long
argument.static short
dcbArgUShort(long args)
Returns the nextunsigned short
argument.static void
dcbFreeCallback(long pcb)
Destroys and frees the callback object.static long
dcbGetUserData(long pcb)
Returns a pointer to theuserdata
passed to the callback object on creation or initialization.static void
dcbInitCallback(long pcb, java.nio.ByteBuffer signature, long handler, long userdata)
(Re)initializes a callback object.static void
dcbInitCallback(long pcb, java.lang.CharSequence signature, long handler, long userdata)
(Re)initializes a callback object.static long
dcbNewCallback(java.nio.ByteBuffer signature, long funcptr, long userdata)
Creates and initializes a newCallback
object.static long
dcbNewCallback(java.lang.CharSequence signature, long funcptr, long userdata)
Creates and initializes a newCallback
object.
-
-
-
Method Detail
-
dcbNewCallback
public static long dcbNewCallback(java.nio.ByteBuffer signature, long funcptr, long userdata) public static long dcbNewCallback(java.lang.CharSequence signature, long funcptr, long userdata)
Creates and initializes a newCallback
object.Use
FreeCallback
to destroy theCallback
object.- Parameters:
signature
- the function signature of the function to mimicfuncptr
- a pointer to a callback handleruserdata
- a pointer to custom data that might be useful in the handler
-
dcbInitCallback
public static void dcbInitCallback(long pcb, java.nio.ByteBuffer signature, long handler, long userdata) public static void dcbInitCallback(long pcb, java.lang.CharSequence signature, long handler, long userdata)
(Re)initializes a callback object.- Parameters:
pcb
- the callback objectsignature
- the function signature of the function to mimichandler
- a pointer to a callback handleruserdata
- a pointer to custom data that might be useful in the handler
-
dcbFreeCallback
public static void dcbFreeCallback(long pcb)
Destroys and frees the callback object.- Parameters:
pcb
- the callback object
-
dcbGetUserData
public static long dcbGetUserData(long pcb)
Returns a pointer to theuserdata
passed to the callback object on creation or initialization.- Parameters:
pcb
- the callback object
-
dcbArgBool
public static int dcbArgBool(long args)
Returns the nextbool
argument.- Parameters:
args
- the function arguments
-
dcbArgChar
public static byte dcbArgChar(long args)
Returns the nextchar
argument.- Parameters:
args
- the function arguments
-
dcbArgShort
public static short dcbArgShort(long args)
Returns the nextshort
argument.- Parameters:
args
- the function arguments
-
dcbArgInt
public static int dcbArgInt(long args)
Returns the nextint
argument.- Parameters:
args
- the function arguments
-
dcbArgLong
public static int dcbArgLong(long args)
Returns the nextlong
argument.- Parameters:
args
- the function arguments
-
dcbArgLongLong
public static long dcbArgLongLong(long args)
Returns the nextlong long
argument.- Parameters:
args
- the function arguments
-
dcbArgUChar
public static byte dcbArgUChar(long args)
Returns the nextunsigned char
argument.- Parameters:
args
- the function arguments
-
dcbArgUShort
public static short dcbArgUShort(long args)
Returns the nextunsigned short
argument.- Parameters:
args
- the function arguments
-
dcbArgUInt
public static int dcbArgUInt(long args)
Returns the nextunsigned int
argument.- Parameters:
args
- the function arguments
-
dcbArgULong
public static int dcbArgULong(long args)
Returns the nextunsigned long
argument.- Parameters:
args
- the function arguments
-
dcbArgULongLong
public static long dcbArgULongLong(long args)
Returns the nextunsigned long long
argument.- Parameters:
args
- the function arguments
-
dcbArgFloat
public static float dcbArgFloat(long args)
Returns the nextfloat
argument.- Parameters:
args
- the function arguments
-
dcbArgDouble
public static double dcbArgDouble(long args)
Returns the nextdouble
argument.- Parameters:
args
- the function arguments
-
dcbArgPointer
public static long dcbArgPointer(long args)
Returns the nextpointer
argument.- Parameters:
args
- the function arguments
-
-