X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FMonitorEvent.java;h=d93c085a2d5c27c8bc6857ec1d8d469cbc19ef14;hb=1d0c372339e4d0148449728072c95964088412c4;hp=c6500e64fff13edc92b6c7483499517d364a62bf;hpb=246459dcbc3be28c38b4951140a5933f4b3aa024;p=ldk-java diff --git a/src/main/java/org/ldk/structs/MonitorEvent.java b/src/main/java/org/ldk/structs/MonitorEvent.java index c6500e64..d93c085a 100644 --- a/src/main/java/org/ldk/structs/MonitorEvent.java +++ b/src/main/java/org/ldk/structs/MonitorEvent.java @@ -4,7 +4,12 @@ import org.ldk.impl.bindings; import org.ldk.enums.*; import org.ldk.util.*; import java.util.Arrays; +import javax.annotation.Nullable; + +/** + * An event to be processed by the ChannelManager. + */ @SuppressWarnings("unchecked") // We correctly assign various generic arrays public class MonitorEvent extends CommonBase { private MonitorEvent(Object _dummy, long ptr) { super(ptr); } @@ -25,13 +30,58 @@ public class MonitorEvent extends CommonBase { } public final static class HTLCEvent extends MonitorEvent { + public final HTLCUpdate htlc_event; private HTLCEvent(long ptr, bindings.LDKMonitorEvent.HTLCEvent obj) { super(null, ptr); + long htlc_event = obj.htlc_event; + HTLCUpdate htlc_event_hu_conv = new HTLCUpdate(null, htlc_event); + htlc_event_hu_conv.ptrs_to.add(this); + this.htlc_event = htlc_event_hu_conv; } } public final static class CommitmentTxBroadcasted extends MonitorEvent { + public final OutPoint commitment_tx_broadcasted; private CommitmentTxBroadcasted(long ptr, bindings.LDKMonitorEvent.CommitmentTxBroadcasted obj) { super(null, ptr); + long commitment_tx_broadcasted = obj.commitment_tx_broadcasted; + OutPoint commitment_tx_broadcasted_hu_conv = new OutPoint(null, commitment_tx_broadcasted); + commitment_tx_broadcasted_hu_conv.ptrs_to.add(this); + this.commitment_tx_broadcasted = commitment_tx_broadcasted_hu_conv; } } + /** + * Creates a copy of the MonitorEvent + */ + public MonitorEvent clone() { + long ret = bindings.MonitorEvent_clone(this.ptr); + if (ret < 1024) { return null; } + MonitorEvent ret_hu_conv = MonitorEvent.constr_from_ptr(ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; + } + + /** + * Utility method to constructs a new HTLCEvent-variant MonitorEvent + */ + public static MonitorEvent htlcevent(HTLCUpdate a) { + long ret = bindings.MonitorEvent_htlcevent(a == null ? 0 : a.ptr & ~1); + if (ret < 1024) { return null; } + MonitorEvent ret_hu_conv = MonitorEvent.constr_from_ptr(ret); + ret_hu_conv.ptrs_to.add(ret_hu_conv); + ret_hu_conv.ptrs_to.add(a); + return ret_hu_conv; + } + + /** + * Utility method to constructs a new CommitmentTxBroadcasted-variant MonitorEvent + */ + public static MonitorEvent commitment_tx_broadcasted(OutPoint a) { + long ret = bindings.MonitorEvent_commitment_tx_broadcasted(a == null ? 0 : a.ptr & ~1); + if (ret < 1024) { return null; } + MonitorEvent ret_hu_conv = MonitorEvent.constr_from_ptr(ret); + ret_hu_conv.ptrs_to.add(ret_hu_conv); + ret_hu_conv.ptrs_to.add(a); + return ret_hu_conv; + } + }