Skip navigation links
JNA API 3.5.2-SNAPSHOT
com.sun.jna

Interface Callback

  • All Known Subinterfaces:
    CallbackProxy, Carbon.EventHandlerProcPtr, DLLCallback, StdCallLibrary.StdCallCallback, WinNT.OVERLAPPED_COMPLETION_ROUTINE, WinUser.HOOKPROC, WinUser.LowLevelKeyboardProc, WinUser.WindowProc, WinUser.WNDENUMPROC, X11.XErrorHandler


    public interface Callback
    All callback definitions must derive from this interface. Any derived interfaces must define a single public method (which may not be named "hashCode", "equals", or "toString"), or one public method named "callback". You are responsible for deregistering your callback (if necessary) in its Object.finalize() method. If native code attempts to call a callback which has been GC'd, you will likely crash the VM. If there is no method to deregister the callback (e.g. atexit in the C library), you must ensure that you always keep a live reference to the callback object.

    A callback should generally never throw an exception, since it doesn't necessarily have an encompassing Java environment to catch it. Any exceptions thrown will be passed to the default callback exception handler.

    • Field Summary

      Fields 
      Modifier and Type Field and Description
      static java.util.Collection FORBIDDEN_NAMES
      These method names may not be used for a callback method.
      static java.lang.String METHOD_NAME
      You must this method name if your callback interface has multiple public methods.
    • Field Detail

      • METHOD_NAME

        static final java.lang.String METHOD_NAME
        You must this method name if your callback interface has multiple public methods. Typically a callback will have only one such method, in which case any method name may be used, with the exception of those in FORBIDDEN_NAMES.
        See Also:
        Constant Field Values
      • FORBIDDEN_NAMES

        static final java.util.Collection FORBIDDEN_NAMES
        These method names may not be used for a callback method.
JNA API 3.5.2-SNAPSHOT

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