Interface BusSyncHandler

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

Functional interface declaration of the BusSyncHandler callback.

See Also:
  • Method Details

    • run

      BusSyncReply run(Bus bus, Message message)

      Handler will be invoked synchronously, when a new message has been injected into the bus. This function is mostly used internally. Only one sync handler can be attached to a given bus.

      If the handler returns BusSyncReply.DROP, it should unref the message, else the message should not be unreffed by the sync handler.

      Parameters:
      bus - the GstBus that sent the message
      message - the GstMessage
      Returns:
      GstBusSyncReply stating what to do with the message
    • upcall

      default int upcall(MemorySegment bus, MemorySegment message, MemorySegment userData)
      The upcall method is called from native code. The parameters are marshaled and run(Bus, Message) is executed.
    • toCallback

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