Update auto-generated bindings to 0.0.103
[ldk-java] / src / main / java / org / ldk / structs / ClosureReason.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 import javax.annotation.Nullable;
8
9
10 /**
11  * The reason the channel was closed. See individual variants more details.
12  */
13 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
14 public class ClosureReason extends CommonBase {
15         private ClosureReason(Object _dummy, long ptr) { super(ptr); }
16         @Override @SuppressWarnings("deprecation")
17         protected void finalize() throws Throwable {
18                 super.finalize();
19                 if (ptr != 0) { bindings.ClosureReason_free(ptr); }
20         }
21         static ClosureReason constr_from_ptr(long ptr) {
22                 bindings.LDKClosureReason raw_val = bindings.LDKClosureReason_ref_from_ptr(ptr);
23                 if (raw_val.getClass() == bindings.LDKClosureReason.CounterpartyForceClosed.class) {
24                         return new CounterpartyForceClosed(ptr, (bindings.LDKClosureReason.CounterpartyForceClosed)raw_val);
25                 }
26                 if (raw_val.getClass() == bindings.LDKClosureReason.HolderForceClosed.class) {
27                         return new HolderForceClosed(ptr, (bindings.LDKClosureReason.HolderForceClosed)raw_val);
28                 }
29                 if (raw_val.getClass() == bindings.LDKClosureReason.CooperativeClosure.class) {
30                         return new CooperativeClosure(ptr, (bindings.LDKClosureReason.CooperativeClosure)raw_val);
31                 }
32                 if (raw_val.getClass() == bindings.LDKClosureReason.CommitmentTxConfirmed.class) {
33                         return new CommitmentTxConfirmed(ptr, (bindings.LDKClosureReason.CommitmentTxConfirmed)raw_val);
34                 }
35                 if (raw_val.getClass() == bindings.LDKClosureReason.ProcessingError.class) {
36                         return new ProcessingError(ptr, (bindings.LDKClosureReason.ProcessingError)raw_val);
37                 }
38                 if (raw_val.getClass() == bindings.LDKClosureReason.DisconnectedPeer.class) {
39                         return new DisconnectedPeer(ptr, (bindings.LDKClosureReason.DisconnectedPeer)raw_val);
40                 }
41                 if (raw_val.getClass() == bindings.LDKClosureReason.OutdatedChannelManager.class) {
42                         return new OutdatedChannelManager(ptr, (bindings.LDKClosureReason.OutdatedChannelManager)raw_val);
43                 }
44                 assert false; return null; // Unreachable without extending the (internal) bindings interface
45         }
46
47         public final static class CounterpartyForceClosed extends ClosureReason {
48                 /**
49                  * The error which the peer sent us.
50                  * 
51                  * The string should be sanitized before it is used (e.g emitted to logs
52                  * or printed to stdout). Otherwise, a well crafted error message may exploit
53                  * a security vulnerability in the terminal emulator or the logging subsystem.
54                 */
55                 public final String peer_msg;
56                 private CounterpartyForceClosed(long ptr, bindings.LDKClosureReason.CounterpartyForceClosed obj) {
57                         super(null, ptr);
58                         this.peer_msg = obj.peer_msg;
59                 }
60         }
61         public final static class HolderForceClosed extends ClosureReason {
62                 private HolderForceClosed(long ptr, bindings.LDKClosureReason.HolderForceClosed obj) {
63                         super(null, ptr);
64                 }
65         }
66         public final static class CooperativeClosure extends ClosureReason {
67                 private CooperativeClosure(long ptr, bindings.LDKClosureReason.CooperativeClosure obj) {
68                         super(null, ptr);
69                 }
70         }
71         public final static class CommitmentTxConfirmed extends ClosureReason {
72                 private CommitmentTxConfirmed(long ptr, bindings.LDKClosureReason.CommitmentTxConfirmed obj) {
73                         super(null, ptr);
74                 }
75         }
76         public final static class ProcessingError extends ClosureReason {
77                 /**
78                  * A developer-readable error message which we generated.
79                 */
80                 public final String err;
81                 private ProcessingError(long ptr, bindings.LDKClosureReason.ProcessingError obj) {
82                         super(null, ptr);
83                         this.err = obj.err;
84                 }
85         }
86         public final static class DisconnectedPeer extends ClosureReason {
87                 private DisconnectedPeer(long ptr, bindings.LDKClosureReason.DisconnectedPeer obj) {
88                         super(null, ptr);
89                 }
90         }
91         public final static class OutdatedChannelManager extends ClosureReason {
92                 private OutdatedChannelManager(long ptr, bindings.LDKClosureReason.OutdatedChannelManager obj) {
93                         super(null, ptr);
94                 }
95         }
96         /**
97          * Creates a copy of the ClosureReason
98          */
99         public ClosureReason clone() {
100                 long ret = bindings.ClosureReason_clone(this.ptr);
101                 if (ret >= 0 && ret <= 4096) { return null; }
102                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
103                 ret_hu_conv.ptrs_to.add(this);
104                 return ret_hu_conv;
105         }
106
107         /**
108          * Utility method to constructs a new CounterpartyForceClosed-variant ClosureReason
109          */
110         public static ClosureReason counterparty_force_closed(java.lang.String peer_msg) {
111                 long ret = bindings.ClosureReason_counterparty_force_closed(peer_msg);
112                 if (ret >= 0 && ret <= 4096) { return null; }
113                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
114                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
115                 return ret_hu_conv;
116         }
117
118         /**
119          * Utility method to constructs a new HolderForceClosed-variant ClosureReason
120          */
121         public static ClosureReason holder_force_closed() {
122                 long ret = bindings.ClosureReason_holder_force_closed();
123                 if (ret >= 0 && ret <= 4096) { return null; }
124                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
125                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
126                 return ret_hu_conv;
127         }
128
129         /**
130          * Utility method to constructs a new CooperativeClosure-variant ClosureReason
131          */
132         public static ClosureReason cooperative_closure() {
133                 long ret = bindings.ClosureReason_cooperative_closure();
134                 if (ret >= 0 && ret <= 4096) { return null; }
135                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
136                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
137                 return ret_hu_conv;
138         }
139
140         /**
141          * Utility method to constructs a new CommitmentTxConfirmed-variant ClosureReason
142          */
143         public static ClosureReason commitment_tx_confirmed() {
144                 long ret = bindings.ClosureReason_commitment_tx_confirmed();
145                 if (ret >= 0 && ret <= 4096) { return null; }
146                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
147                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
148                 return ret_hu_conv;
149         }
150
151         /**
152          * Utility method to constructs a new ProcessingError-variant ClosureReason
153          */
154         public static ClosureReason processing_error(java.lang.String err) {
155                 long ret = bindings.ClosureReason_processing_error(err);
156                 if (ret >= 0 && ret <= 4096) { return null; }
157                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
158                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
159                 return ret_hu_conv;
160         }
161
162         /**
163          * Utility method to constructs a new DisconnectedPeer-variant ClosureReason
164          */
165         public static ClosureReason disconnected_peer() {
166                 long ret = bindings.ClosureReason_disconnected_peer();
167                 if (ret >= 0 && ret <= 4096) { return null; }
168                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
169                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
170                 return ret_hu_conv;
171         }
172
173         /**
174          * Utility method to constructs a new OutdatedChannelManager-variant ClosureReason
175          */
176         public static ClosureReason outdated_channel_manager() {
177                 long ret = bindings.ClosureReason_outdated_channel_manager();
178                 if (ret >= 0 && ret <= 4096) { return null; }
179                 ClosureReason ret_hu_conv = ClosureReason.constr_from_ptr(ret);
180                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
181                 return ret_hu_conv;
182         }
183
184         /**
185          * Serialize the ClosureReason object into a byte array which can be read by ClosureReason_read
186          */
187         public byte[] write() {
188                 byte[] ret = bindings.ClosureReason_write(this.ptr);
189                 return ret;
190         }
191
192 }