Make complex enums more complete, track reference-or-ownership by callsite
[ldk-java] / src / main / java / org / ldk / structs / MessageSendEvent.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 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
9 public class MessageSendEvent extends CommonBase {
10         private MessageSendEvent(Object _dummy, long ptr) { super(ptr); }
11         @Override @SuppressWarnings("deprecation")
12         protected void finalize() throws Throwable {
13                 super.finalize();
14                 bindings.MessageSendEvent_free(ptr);
15         }
16         long conv_to_c() { assert false; return 0; /* Should only be called on subclasses */ }
17         static MessageSendEvent constr_from_ptr(long ptr) {
18                 bindings.LDKMessageSendEvent raw_val = bindings.LDKMessageSendEvent_ref_from_ptr(ptr);
19                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAcceptChannel.class) {
20                         return new SendAcceptChannel(ptr, (bindings.LDKMessageSendEvent.SendAcceptChannel)raw_val);
21                 }
22                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendOpenChannel.class) {
23                         return new SendOpenChannel(ptr, (bindings.LDKMessageSendEvent.SendOpenChannel)raw_val);
24                 }
25                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingCreated.class) {
26                         return new SendFundingCreated(ptr, (bindings.LDKMessageSendEvent.SendFundingCreated)raw_val);
27                 }
28                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingSigned.class) {
29                         return new SendFundingSigned(ptr, (bindings.LDKMessageSendEvent.SendFundingSigned)raw_val);
30                 }
31                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingLocked.class) {
32                         return new SendFundingLocked(ptr, (bindings.LDKMessageSendEvent.SendFundingLocked)raw_val);
33                 }
34                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAnnouncementSignatures.class) {
35                         return new SendAnnouncementSignatures(ptr, (bindings.LDKMessageSendEvent.SendAnnouncementSignatures)raw_val);
36                 }
37                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.UpdateHTLCs.class) {
38                         return new UpdateHTLCs(ptr, (bindings.LDKMessageSendEvent.UpdateHTLCs)raw_val);
39                 }
40                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendRevokeAndACK.class) {
41                         return new SendRevokeAndACK(ptr, (bindings.LDKMessageSendEvent.SendRevokeAndACK)raw_val);
42                 }
43                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendClosingSigned.class) {
44                         return new SendClosingSigned(ptr, (bindings.LDKMessageSendEvent.SendClosingSigned)raw_val);
45                 }
46                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShutdown.class) {
47                         return new SendShutdown(ptr, (bindings.LDKMessageSendEvent.SendShutdown)raw_val);
48                 }
49                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelReestablish.class) {
50                         return new SendChannelReestablish(ptr, (bindings.LDKMessageSendEvent.SendChannelReestablish)raw_val);
51                 }
52                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement.class) {
53                         return new BroadcastChannelAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement)raw_val);
54                 }
55                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement.class) {
56                         return new BroadcastNodeAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement)raw_val);
57                 }
58                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelUpdate.class) {
59                         return new BroadcastChannelUpdate(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelUpdate)raw_val);
60                 }
61                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.HandleError.class) {
62                         return new HandleError(ptr, (bindings.LDKMessageSendEvent.HandleError)raw_val);
63                 }
64                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate.class) {
65                         return new PaymentFailureNetworkUpdate(ptr, (bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate)raw_val);
66                 }
67                 assert false; return null; // Unreachable without extending the (internal) bindings interface
68         }
69
70         public final static class SendAcceptChannel extends MessageSendEvent {
71                 public byte[] node_id;
72                 public AcceptChannel msg;
73                 private SendAcceptChannel(long ptr, bindings.LDKMessageSendEvent.SendAcceptChannel obj) {
74                         super(null, ptr);
75                         this.node_id = obj.node_id;
76                         long msg = obj.msg;
77                         AcceptChannel msg_hu_conv = new AcceptChannel(null, msg);
78                         this.msg = msg_hu_conv;
79                 }
80                 @Override long conv_to_c() { return 0; /*XXX*/ }
81         }
82         public final static class SendOpenChannel extends MessageSendEvent {
83                 public byte[] node_id;
84                 public OpenChannel msg;
85                 private SendOpenChannel(long ptr, bindings.LDKMessageSendEvent.SendOpenChannel obj) {
86                         super(null, ptr);
87                         this.node_id = obj.node_id;
88                         long msg = obj.msg;
89                         OpenChannel msg_hu_conv = new OpenChannel(null, msg);
90                         this.msg = msg_hu_conv;
91                 }
92                 @Override long conv_to_c() { return 0; /*XXX*/ }
93         }
94         public final static class SendFundingCreated extends MessageSendEvent {
95                 public byte[] node_id;
96                 public FundingCreated msg;
97                 private SendFundingCreated(long ptr, bindings.LDKMessageSendEvent.SendFundingCreated obj) {
98                         super(null, ptr);
99                         this.node_id = obj.node_id;
100                         long msg = obj.msg;
101                         FundingCreated msg_hu_conv = new FundingCreated(null, msg);
102                         this.msg = msg_hu_conv;
103                 }
104                 @Override long conv_to_c() { return 0; /*XXX*/ }
105         }
106         public final static class SendFundingSigned extends MessageSendEvent {
107                 public byte[] node_id;
108                 public FundingSigned msg;
109                 private SendFundingSigned(long ptr, bindings.LDKMessageSendEvent.SendFundingSigned obj) {
110                         super(null, ptr);
111                         this.node_id = obj.node_id;
112                         long msg = obj.msg;
113                         FundingSigned msg_hu_conv = new FundingSigned(null, msg);
114                         this.msg = msg_hu_conv;
115                 }
116                 @Override long conv_to_c() { return 0; /*XXX*/ }
117         }
118         public final static class SendFundingLocked extends MessageSendEvent {
119                 public byte[] node_id;
120                 public FundingLocked msg;
121                 private SendFundingLocked(long ptr, bindings.LDKMessageSendEvent.SendFundingLocked obj) {
122                         super(null, ptr);
123                         this.node_id = obj.node_id;
124                         long msg = obj.msg;
125                         FundingLocked msg_hu_conv = new FundingLocked(null, msg);
126                         this.msg = msg_hu_conv;
127                 }
128                 @Override long conv_to_c() { return 0; /*XXX*/ }
129         }
130         public final static class SendAnnouncementSignatures extends MessageSendEvent {
131                 public byte[] node_id;
132                 public AnnouncementSignatures msg;
133                 private SendAnnouncementSignatures(long ptr, bindings.LDKMessageSendEvent.SendAnnouncementSignatures obj) {
134                         super(null, ptr);
135                         this.node_id = obj.node_id;
136                         long msg = obj.msg;
137                         AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg);
138                         this.msg = msg_hu_conv;
139                 }
140                 @Override long conv_to_c() { return 0; /*XXX*/ }
141         }
142         public final static class UpdateHTLCs extends MessageSendEvent {
143                 public byte[] node_id;
144                 public CommitmentUpdate updates;
145                 private UpdateHTLCs(long ptr, bindings.LDKMessageSendEvent.UpdateHTLCs obj) {
146                         super(null, ptr);
147                         this.node_id = obj.node_id;
148                         long updates = obj.updates;
149                         CommitmentUpdate updates_hu_conv = new CommitmentUpdate(null, updates);
150                         this.updates = updates_hu_conv;
151                 }
152                 @Override long conv_to_c() { return 0; /*XXX*/ }
153         }
154         public final static class SendRevokeAndACK extends MessageSendEvent {
155                 public byte[] node_id;
156                 public RevokeAndACK msg;
157                 private SendRevokeAndACK(long ptr, bindings.LDKMessageSendEvent.SendRevokeAndACK obj) {
158                         super(null, ptr);
159                         this.node_id = obj.node_id;
160                         long msg = obj.msg;
161                         RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg);
162                         this.msg = msg_hu_conv;
163                 }
164                 @Override long conv_to_c() { return 0; /*XXX*/ }
165         }
166         public final static class SendClosingSigned extends MessageSendEvent {
167                 public byte[] node_id;
168                 public ClosingSigned msg;
169                 private SendClosingSigned(long ptr, bindings.LDKMessageSendEvent.SendClosingSigned obj) {
170                         super(null, ptr);
171                         this.node_id = obj.node_id;
172                         long msg = obj.msg;
173                         ClosingSigned msg_hu_conv = new ClosingSigned(null, msg);
174                         this.msg = msg_hu_conv;
175                 }
176                 @Override long conv_to_c() { return 0; /*XXX*/ }
177         }
178         public final static class SendShutdown extends MessageSendEvent {
179                 public byte[] node_id;
180                 public Shutdown msg;
181                 private SendShutdown(long ptr, bindings.LDKMessageSendEvent.SendShutdown obj) {
182                         super(null, ptr);
183                         this.node_id = obj.node_id;
184                         long msg = obj.msg;
185                         Shutdown msg_hu_conv = new Shutdown(null, msg);
186                         this.msg = msg_hu_conv;
187                 }
188                 @Override long conv_to_c() { return 0; /*XXX*/ }
189         }
190         public final static class SendChannelReestablish extends MessageSendEvent {
191                 public byte[] node_id;
192                 public ChannelReestablish msg;
193                 private SendChannelReestablish(long ptr, bindings.LDKMessageSendEvent.SendChannelReestablish obj) {
194                         super(null, ptr);
195                         this.node_id = obj.node_id;
196                         long msg = obj.msg;
197                         ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg);
198                         this.msg = msg_hu_conv;
199                 }
200                 @Override long conv_to_c() { return 0; /*XXX*/ }
201         }
202         public final static class BroadcastChannelAnnouncement extends MessageSendEvent {
203                 public ChannelAnnouncement msg;
204                 public ChannelUpdate update_msg;
205                 private BroadcastChannelAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement obj) {
206                         super(null, ptr);
207                         long msg = obj.msg;
208                         ChannelAnnouncement msg_hu_conv = new ChannelAnnouncement(null, msg);
209                         this.msg = msg_hu_conv;
210                         long update_msg = obj.update_msg;
211                         ChannelUpdate update_msg_hu_conv = new ChannelUpdate(null, update_msg);
212                         this.update_msg = update_msg_hu_conv;
213                 }
214                 @Override long conv_to_c() { return 0; /*XXX*/ }
215         }
216         public final static class BroadcastNodeAnnouncement extends MessageSendEvent {
217                 public NodeAnnouncement msg;
218                 private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) {
219                         super(null, ptr);
220                         long msg = obj.msg;
221                         NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
222                         this.msg = msg_hu_conv;
223                 }
224                 @Override long conv_to_c() { return 0; /*XXX*/ }
225         }
226         public final static class BroadcastChannelUpdate extends MessageSendEvent {
227                 public ChannelUpdate msg;
228                 private BroadcastChannelUpdate(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelUpdate obj) {
229                         super(null, ptr);
230                         long msg = obj.msg;
231                         ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
232                         this.msg = msg_hu_conv;
233                 }
234                 @Override long conv_to_c() { return 0; /*XXX*/ }
235         }
236         public final static class HandleError extends MessageSendEvent {
237                 public byte[] node_id;
238                 public ErrorAction action;
239                 private HandleError(long ptr, bindings.LDKMessageSendEvent.HandleError obj) {
240                         super(null, ptr);
241                         this.node_id = obj.node_id;
242                         long action = obj.action;
243                         ErrorAction action_hu_conv = ErrorAction.constr_from_ptr(action);
244                         this.action = action_hu_conv;
245                 }
246                 @Override long conv_to_c() { return 0; /*XXX*/ }
247         }
248         public final static class PaymentFailureNetworkUpdate extends MessageSendEvent {
249                 public HTLCFailChannelUpdate update;
250                 private PaymentFailureNetworkUpdate(long ptr, bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate obj) {
251                         super(null, ptr);
252                         long update = obj.update;
253                         HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
254                         this.update = update_hu_conv;
255                 }
256                 @Override long conv_to_c() { return 0; /*XXX*/ }
257         }
258 }