(String name, LibExtism.ExtismValType[] params, LibExtism.ExtismValType[] returns, ExtismFunction f, Optional<T> userData)
| 21 | public final LibExtism.ExtismValType[] returns; |
| 22 | |
| 23 | public HostFunction(String name, LibExtism.ExtismValType[] params, LibExtism.ExtismValType[] returns, ExtismFunction f, Optional<T> userData) { |
| 24 | this.freed = false; |
| 25 | this.name = name; |
| 26 | this.params = params; |
| 27 | this.returns = returns; |
| 28 | this.callback = new Callback(f, userData); |
| 29 | |
| 30 | this.pointer = LibExtism.INSTANCE.extism_function_new( |
| 31 | this.name, |
| 32 | Arrays.stream(this.params).mapToInt(r -> r.v).toArray(), |
| 33 | this.params.length, |
| 34 | Arrays.stream(this.returns).mapToInt(r -> r.v).toArray(), |
| 35 | this.returns.length, |
| 36 | this.callback, |
| 37 | userData.map(PointerType::getPointer).orElse(null), |
| 38 | null |
| 39 | ); |
| 40 | } |
| 41 | |
| 42 | static void convertOutput(LibExtism.ExtismVal original, LibExtism.ExtismVal fromHostFunction) { |
| 43 | if (fromHostFunction.t != original.t) |
nothing calls this directly
no test coverage detected