2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
5 public class EventsProvider extends CommonBase {
6 final bindings.LDKEventsProvider bindings_instance;
7 EventsProvider(Object _dummy, long ptr) { super(ptr); bindings_instance = null; }
8 private EventsProvider(bindings.LDKEventsProvider arg) {
9 super(bindings.LDKEventsProvider_new(arg));
10 this.ptrs_to.add(arg);
11 this.bindings_instance = arg;
13 @Override @SuppressWarnings("deprecation")
14 protected void finalize() throws Throwable {
15 if (ptr != 0) { bindings.EventsProvider_free(ptr); } super.finalize();
18 public static interface EventsProviderInterface {
19 Event[] get_and_clear_pending_events();
21 private static class LDKEventsProviderHolder { EventsProvider held; }
22 public static EventsProvider new_impl(EventsProviderInterface arg) {
23 final LDKEventsProviderHolder impl_holder = new LDKEventsProviderHolder();
24 impl_holder.held = new EventsProvider(new bindings.LDKEventsProvider() {
25 @Override public uint32_t[] get_and_clear_pending_events() {
26 Event[] ret = arg.get_and_clear_pending_events();
27 uint32_t[] result = (uint32_t[])Arrays.stream(ret).map(arr_conv_7 -> arr_conv_7.ptr).toArray();
32 return impl_holder.held;
34 public Event[] get_and_clear_pending_events() {
35 uint32_t[] ret = bindings.EventsProvider_get_and_clear_pending_events(this.ptr);
36 Event[] arr_conv_7_arr = new Event[ret.length];
37 for (int h = 0; h < ret.length; h++) {
38 uint32_t arr_conv_7 = ret[h];
39 Event arr_conv_7_hu_conv = Event.constr_from_ptr(arr_conv_7);
40 arr_conv_7_hu_conv.ptrs_to.add(this);
41 arr_conv_7_arr[h] = arr_conv_7_hu_conv;
43 return arr_conv_7_arr;