e3af020d4aa19f68bf098c50ad0925f8232216a2
[ldk-java] / src / main / java / org / ldk / structs / MonitorEvent.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5 import org.ldk.util.*;
6 import java.util.Arrays;
7
8
9 /**
10  * An event to be processed by the ChannelManager.
11  */
12 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
13 public class MonitorEvent extends CommonBase {
14         private MonitorEvent(Object _dummy, long ptr) { super(ptr); }
15         @Override @SuppressWarnings("deprecation")
16         protected void finalize() throws Throwable {
17                 super.finalize();
18                 if (ptr != 0) { bindings.MonitorEvent_free(ptr); }
19         }
20         static MonitorEvent constr_from_ptr(long ptr) {
21                 bindings.LDKMonitorEvent raw_val = bindings.LDKMonitorEvent_ref_from_ptr(ptr);
22                 if (raw_val.getClass() == bindings.LDKMonitorEvent.HTLCEvent.class) {
23                         return new HTLCEvent(ptr, (bindings.LDKMonitorEvent.HTLCEvent)raw_val);
24                 }
25                 if (raw_val.getClass() == bindings.LDKMonitorEvent.CommitmentTxBroadcasted.class) {
26                         return new CommitmentTxBroadcasted(ptr, (bindings.LDKMonitorEvent.CommitmentTxBroadcasted)raw_val);
27                 }
28                 assert false; return null; // Unreachable without extending the (internal) bindings interface
29         }
30
31         public final static class HTLCEvent extends MonitorEvent {
32                 private HTLCEvent(long ptr, bindings.LDKMonitorEvent.HTLCEvent obj) {
33                         super(null, ptr);
34                 }
35         }
36         public final static class CommitmentTxBroadcasted extends MonitorEvent {
37                 private CommitmentTxBroadcasted(long ptr, bindings.LDKMonitorEvent.CommitmentTxBroadcasted obj) {
38                         super(null, ptr);
39                 }
40         }
41 }