public class Callback
extends java.lang.Object
IMPORTANT: A callback is only valid when invoked on the thread which created it. The results are undefined (and typically bad) when a callback is passed out to the operating system (or other code) in such a way that the callback is called from a different thread.
Constructor and Description |
---|
Callback(java.lang.Object object,
java.lang.String method,
int argCount)
Constructs a new instance of this class given an object to send the
message to, a string naming the method to invoke and an argument count.
|
Callback(java.lang.Object object,
java.lang.String method,
int argCount,
boolean isArrayBased)
Constructs a new instance of this class given an object to send the
message to, a string naming the method to invoke, an argument count and a
flag indicating whether or not the arguments will be passed in an array.
|
Callback(java.lang.Object object,
java.lang.String method,
int argCount,
boolean isArrayBased,
long errorResult)
Constructs a new instance of this class given an object to send the
message to, a string naming the method to invoke, an argument count, a
flag indicating whether or not the arguments will be passed in an array
and a value to return when an exception happens.
|
Modifier and Type | Method and Description |
---|---|
void |
dispose()
Releases the native level resources associated with the callback, and
removes all references between the callback and other objects.
|
long |
getAddress()
Returns the address of a block of machine code which will invoke the
callback represented by the receiver.
|
static boolean |
getEnabled()
Returns whether or not callbacks which are triggered at the native level
should cause the messages described by the matching
Callback
objects to be invoked. |
static int |
getEntryCount()
Returns the number of times the system has been recursively entered
through a callback.
|
static java.lang.String |
getPlatform()
Returns the SWT platform name.
|
static void |
reset()
Immediately wipes out all native level state associated with all
callbacks.
|
static void |
setEnabled(boolean enable)
Indicates whether or not callbacks which are triggered at the native
level should cause the messages described by the matching
Callback objects to be invoked. |
public Callback(java.lang.Object object, java.lang.String method, int argCount)
Class
it is
assumed that the method is a static method on that class.object
- the object to send the message tomethod
- the name of the method to invokeargCount
- the number of arguments that the method takespublic Callback(java.lang.Object object, java.lang.String method, int argCount, boolean isArrayBased)
Class
it is
assumed that the method is a static method on that class.object
- the object to send the message tomethod
- the name of the method to invokeargCount
- the number of arguments that the method takesisArrayBased
- true
if the arguments should be passed in an
array and false otherwisepublic Callback(java.lang.Object object, java.lang.String method, int argCount, boolean isArrayBased, long errorResult)
Class
it is assumed that the method is a
static method on that class.object
- the object to send the message tomethod
- the name of the method to invokeargCount
- the number of arguments that the method takesisArrayBased
- true
if the arguments should be passed in an
array and false otherwiseerrorResult
- the return value if the java code throws an exceptionpublic void dispose()
public long getAddress()
public static java.lang.String getPlatform()
public static int getEntryCount()
Note: This should not be called by application code.
public static final void setEnabled(boolean enable)
Callback
objects to be invoked. This method is used to
safely shut down SWT when it is run within environments which can
generate spurious events.
Note: This should not be called by application code.
enable
- true if callbacks should be invokedpublic static final boolean getEnabled()
Callback
objects to be invoked. This method is used to safely shut down SWT when
it is run within environments which can generate spurious events.
Note: This should not be called by application code.
public static final void reset()
WARNING: This operation is extremely dangerous, and should never be performed by application code.