Interface LogFunc

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

Functional interface declaration of the LogFunc callback.

See Also:
  • Method Details

    • run

      void run(@Nullable String logDomain, Set<LogLevelFlags> logLevel, String message)

      Specifies the prototype of log handler functions.

      The default log handler, GLib.logDefaultHandler(String, Set, String, MemorySegment), automatically appends a new-line character to message when printing it. It is advised that any custom log handler functions behave similarly, so that logging calls in user code do not need modifying to add a new-line character to the message if the log handler is changed.

      The log_domain parameter can be set to NULL or an empty string to use the default application domain.

      This is not used if structured logging is enabled; see Using Structured Logging.

      Parameters:
      logDomain - the log domain of the message
      logLevel - the log level of the message (including the fatal and recursion flags)
      message - the message to process
    • upcall

      default void upcall(MemorySegment logDomain, int logLevel, MemorySegment message, MemorySegment userData)
      The upcall method is called from native code. The parameters are marshaled and run(String, Set, String) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, int, 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