X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FMonitorEvent.java;h=e3af020d4aa19f68bf098c50ad0925f8232216a2;hb=17113550a5fefab21f39f27fbfe02646b8db53ae;hp=7fd2ab6e3cbf0f67761c2ce7dfbf93561abcbcce;hpb=0ddbeb5d1cddaa1d89cad2a63548434b2e1e227a;p=ldk-java diff --git a/src/main/java/org/ldk/structs/MonitorEvent.java b/src/main/java/org/ldk/structs/MonitorEvent.java index 7fd2ab6e..e3af020d 100644 --- a/src/main/java/org/ldk/structs/MonitorEvent.java +++ b/src/main/java/org/ldk/structs/MonitorEvent.java @@ -5,20 +5,37 @@ import org.ldk.enums.*; import org.ldk.util.*; import java.util.Arrays; + +/** + * An event to be processed by the ChannelManager. + */ @SuppressWarnings("unchecked") // We correctly assign various generic arrays public class MonitorEvent extends CommonBase { - MonitorEvent(Object _dummy, long ptr) { super(ptr); } + private MonitorEvent(Object _dummy, long ptr) { super(ptr); } @Override @SuppressWarnings("deprecation") protected void finalize() throws Throwable { super.finalize(); if (ptr != 0) { bindings.MonitorEvent_free(ptr); } } - - public static MonitorEvent constructor_clone(MonitorEvent orig) { - long ret = bindings.MonitorEvent_clone(orig == null ? 0 : orig.ptr & ~1); - MonitorEvent ret_hu_conv = new MonitorEvent(null, ret); - ret_hu_conv.ptrs_to.add(orig); - return ret_hu_conv; + static MonitorEvent constr_from_ptr(long ptr) { + bindings.LDKMonitorEvent raw_val = bindings.LDKMonitorEvent_ref_from_ptr(ptr); + if (raw_val.getClass() == bindings.LDKMonitorEvent.HTLCEvent.class) { + return new HTLCEvent(ptr, (bindings.LDKMonitorEvent.HTLCEvent)raw_val); + } + if (raw_val.getClass() == bindings.LDKMonitorEvent.CommitmentTxBroadcasted.class) { + return new CommitmentTxBroadcasted(ptr, (bindings.LDKMonitorEvent.CommitmentTxBroadcasted)raw_val); + } + assert false; return null; // Unreachable without extending the (internal) bindings interface } + public final static class HTLCEvent extends MonitorEvent { + private HTLCEvent(long ptr, bindings.LDKMonitorEvent.HTLCEvent obj) { + super(null, ptr); + } + } + public final static class CommitmentTxBroadcasted extends MonitorEvent { + private CommitmentTxBroadcasted(long ptr, bindings.LDKMonitorEvent.CommitmentTxBroadcasted obj) { + super(null, ptr); + } + } }