org.purejava.appindicator.GVaClosureMarshal Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of libappindicator-gtk3-java-full Show documentation
Show all versions of libappindicator-gtk3-java-full Show documentation
Java bindings for libappindicator-gtk3 in 100% pure Java
// Generated by jextract
package org.purejava.appindicator;
import java.lang.foreign.Arena;
import java.lang.foreign.MemorySegment;
/**
* {@snippet :
* void (*GVaClosureMarshal)(struct _GClosure* closure,struct _GValue* return_value,void* instance,struct __va_list args,void* marshal_data,int n_params,unsigned long* param_types);
* }
*/
public interface GVaClosureMarshal {
void apply(java.lang.foreign.MemorySegment closure, java.lang.foreign.MemorySegment return_value, java.lang.foreign.MemorySegment instance, java.lang.foreign.MemorySegment args, java.lang.foreign.MemorySegment marshal_data, int n_params, java.lang.foreign.MemorySegment param_types);
static MemorySegment allocate(GVaClosureMarshal fi, Arena scope) {
return RuntimeHelper.upcallStub(constants$585.const$1, fi, constants$585.const$0, scope);
}
static GVaClosureMarshal ofAddress(MemorySegment addr, Arena arena) {
MemorySegment symbol = addr.reinterpret(arena, null);
return (java.lang.foreign.MemorySegment _closure, java.lang.foreign.MemorySegment _return_value, java.lang.foreign.MemorySegment _instance, java.lang.foreign.MemorySegment _args, java.lang.foreign.MemorySegment _marshal_data, int _n_params, java.lang.foreign.MemorySegment _param_types) -> {
try {
constants$585.const$2.invokeExact(symbol, _closure, _return_value, _instance, _args, _marshal_data, _n_params, _param_types);
} catch (Throwable ex$) {
throw new AssertionError("should not reach here", ex$);
}
};
}
}