All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.purejava.appindicator.GVaClosureMarshal Maven / Gradle / Ivy

There is a newer version: 1.4.1
Show newest version
// 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$);
            }
        };
    }
}






© 2015 - 2024 Weber Informatics LLC | Privacy Policy