Interface BaseInitFunc

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 BaseInitFunc extends FunctionPointer

Functional interface declaration of the BaseInitFunc callback.

See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    run(TypeClass gClass)
    A callback function used by the type system to do base initialization of the class structures of derived types.
    Creates a native function pointer to the upcall(MemorySegment) method.
    default void
    The upcall method is called from native code.
  • Method Details

    • run

      void run(TypeClass gClass)

      A callback function used by the type system to do base initialization of the class structures of derived types.

      This function is called as part of the initialization process of all derived classes and should reallocate or reset all dynamic class members copied over from the parent class.

      For example, class members (such as strings) that are not sufficiently handled by a plain memory copy of the parent class into the derived class have to be altered. See GClassInitFunc() for a discussion of the class initialization process.

      Parameters:
      gClass - The GTypeClass structure to initialize
    • upcall

      default void upcall(MemorySegment gClass)
      The upcall method is called from native code. The parameters are marshaled and run(TypeClass) is executed.
    • toCallback

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