X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FEventsProvider.java;h=f7218d2b1e63a70b92d0b54aafda2c6bc38d54a7;hb=76b59fb93494e68d9b02d204c9ed9a153c73dd9b;hp=960ab4494333f475f11286740592d7870071f834;hpb=aa0e2aade37133339f4113a0cd7465b111f0a0d0;p=ldk-java diff --git a/src/main/java/org/ldk/structs/EventsProvider.java b/src/main/java/org/ldk/structs/EventsProvider.java index 960ab449..f7218d2b 100644 --- a/src/main/java/org/ldk/structs/EventsProvider.java +++ b/src/main/java/org/ldk/structs/EventsProvider.java @@ -22,15 +22,18 @@ public class EventsProvider extends CommonBase { public static interface EventsProviderInterface { Event[] get_and_clear_pending_events(); } - public EventsProvider(EventsProviderInterface arg) { - this(new bindings.LDKEventsProvider() { + private static class LDKEventsProviderHolder { EventsProvider held; } + public static EventsProvider new_impl(EventsProviderInterface arg) { + final LDKEventsProviderHolder impl_holder = new LDKEventsProviderHolder(); + impl_holder.held = new EventsProvider(new bindings.LDKEventsProvider() { @Override public long[] get_and_clear_pending_events() { Event[] ret = arg.get_and_clear_pending_events(); long[] result = Arrays.stream(ret).mapToLong(arr_conv_7 -> arr_conv_7.ptr).toArray(); - /* TODO 2 Event */ + /* TODO 2 Event */; return result; } }); + return impl_holder.held; } public Event[] get_and_clear_pending_events() { long[] ret = bindings.EventsProvider_get_and_clear_pending_events(this.ptr); @@ -38,6 +41,7 @@ public class EventsProvider extends CommonBase { for (int h = 0; h < ret.length; h++) { long arr_conv_7 = ret[h]; Event arr_conv_7_hu_conv = Event.constr_from_ptr(arr_conv_7); + arr_conv_7_hu_conv.ptrs_to.add(this); arr_conv_7_arr[h] = arr_conv_7_hu_conv; } return arr_conv_7_arr;