X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FMonitorEvent.java;h=c6500e64fff13edc92b6c7483499517d364a62bf;hb=276893d3b8bd3fcb2bb10e3cab73a69d34831909;hp=68106397b928559bd1f772e3d38b930c8189ded6;hpb=fd59673b53bd5e74459132e685a10258b3c1d5a6;p=ldk-java diff --git a/src/main/java/org/ldk/structs/MonitorEvent.java b/src/main/java/org/ldk/structs/MonitorEvent.java index 68106397..c6500e64 100644 --- a/src/main/java/org/ldk/structs/MonitorEvent.java +++ b/src/main/java/org/ldk/structs/MonitorEvent.java @@ -7,18 +7,31 @@ import java.util.Arrays; @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 MonitorEvent clone() { - long ret = bindings.MonitorEvent_clone(this.ptr); - MonitorEvent ret_hu_conv = new MonitorEvent(null, ret); - ret_hu_conv.ptrs_to.add(this); - 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); + } + } }