Interface WeakNotify

All Superinterfaces:
FunctionPointer
Functional Interface:
This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.

@FunctionalInterface @Generated("org.javagi.JavaGI") public interface WeakNotify extends FunctionPointer

Functional interface declaration of the WeakNotify callback.

See Also:
  • Method Details

    • run

      void run(@Nullable MemorySegment data, GObject whereTheObjectWas)

      A GWeakNotify function can be added to an object as a callback that gets triggered when the object is finalized.

      Since the object is already being disposed when the GWeakNotify is called, there's not much you could do with the object, apart from e.g. using its address as hash-index or the like.

      In particular, this means it’s invalid to call g_object_ref(), g_weak_ref_init(), g_weak_ref_set(), g_object_add_toggle_ref(), g_object_weak_ref(), g_object_add_weak_pointer() or any function which calls them on the object from this callback.

      Parameters:
      data - data that was provided when the weak reference was established
      whereTheObjectWas - the object being disposed
    • upcall

      default void upcall(MemorySegment data, MemorySegment whereTheObjectWas)
      The upcall method is called from native code. The parameters are marshaled and run(MemorySegment, GObject) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer