CallbackReference (JNA API)

com.sun.jna

## Class CallbackReference

- java.lang.Object
- - java.lang.ref.Reference<T>
  - - java.lang.ref.WeakReference
    - - com.sun.jna.CallbackReference

-      class CallbackReference
      extends java.lang.ref.WeakReference

  Provides a reference to an association between a native callback closure and a Java `Callback` closure.

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `(package private) static class` | `CallbackReference.AttachOptions`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `(package private) static java.util.Map` | `allocations`
    `(package private) static java.util.Map` | `callbackMap`
    `(package private) Pointer` | `cbstruct`
    `(package private) static java.util.Map` | `directCallbackMap`
    `(package private) java.lang.reflect.Method` | `method`
    `(package private) static java.util.Map` | `pointerCallbackMap`
    `(package private) CallbackProxy` | `proxy`
    `(package private) Pointer` | `trampoline`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `dispose()` Free native resources associated with this callback.
    `(package private) static void` | `disposeAll()` Dispose of all memory allocated for callbacks.
    `protected void` | `finalize()` Free native resources associated with this callback when GC'd.
    `(package private) static java.lang.Class` | `findCallbackClass(java.lang.Class type)` Find the first instance of an interface which implements the Callback interface or an interface derived from Callback, which defines an appropriate callback method.
    `static Callback` | `getCallback(java.lang.Class type, Pointer p)` Return a Callback associated with the given function pointer.
    `static Pointer` | `getFunctionPointer(Callback cb)` Return a `Pointer` to the native function address for the given callback.
    `Pointer` | `getTrampoline()` Obtain a pointer to the native glue code for this callback.
    `(package private) static void` | `setCallbackThreadInitializer(Callback cb, CallbackThreadInitializer initializer)`

    - ### Methods inherited from class java.lang.ref.Reference

      `clear, enqueue, get, isEnqueued`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### callbackMap

          static final java.util.Map callbackMap

    - #### directCallbackMap

          static final java.util.Map directCallbackMap

    - #### pointerCallbackMap

          static final java.util.Map pointerCallbackMap

    - #### allocations

          static final java.util.Map allocations

    - #### cbstruct

          Pointer cbstruct

    - #### trampoline

          Pointer trampoline

    - #### proxy

          CallbackProxy proxy

    - #### method

          java.lang.reflect.Method method

  - ### Method Detail

    - #### setCallbackThreadInitializer

          static void setCallbackThreadInitializer(Callback cb,
                                          CallbackThreadInitializer initializer)

    - #### getCallback

          public static Callback getCallback(java.lang.Class type,
                             Pointer p)

      Return a Callback associated with the given function pointer. If the pointer refers to a Java callback trampoline, return the original Java Callback. Otherwise, return a proxy to the native function pointer.
      Throws:
        `java.lang.IllegalStateException` - if the given pointer has already been mapped to a callback of a different type.

    - #### findCallbackClass

          static java.lang.Class findCallbackClass(java.lang.Class type)

      Find the first instance of an interface which implements the Callback interface or an interface derived from Callback, which defines an appropriate callback method.

    - #### getTrampoline

          public Pointer getTrampoline()

      Obtain a pointer to the native glue code for this callback.

    - #### finalize

          protected void finalize()

      Free native resources associated with this callback when GC'd.
      Overrides:
        `finalize` in class `java.lang.Object`

    - #### dispose

          protected void dispose()

      Free native resources associated with this callback.

    - #### disposeAll

          static void disposeAll()

      Dispose of all memory allocated for callbacks.

    - #### getFunctionPointer

          public static Pointer getFunctionPointer(Callback cb)

      Return a `Pointer` to the native function address for the given callback.

Copyright © 2007-2016 Timothy Wall. All Rights Reserved.