1 package org.ldk.structs;
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
6 import java.util.Arrays;
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 {
14 bindings.MessageSendEvent_free(ptr);
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);
22 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendOpenChannel.class) {
23 return new SendOpenChannel(ptr, (bindings.LDKMessageSendEvent.SendOpenChannel)raw_val);
25 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingCreated.class) {
26 return new SendFundingCreated(ptr, (bindings.LDKMessageSendEvent.SendFundingCreated)raw_val);
28 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingSigned.class) {
29 return new SendFundingSigned(ptr, (bindings.LDKMessageSendEvent.SendFundingSigned)raw_val);
31 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingLocked.class) {
32 return new SendFundingLocked(ptr, (bindings.LDKMessageSendEvent.SendFundingLocked)raw_val);
34 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAnnouncementSignatures.class) {
35 return new SendAnnouncementSignatures(ptr, (bindings.LDKMessageSendEvent.SendAnnouncementSignatures)raw_val);
37 if (raw_val.getClass() == bindings.LDKMessageSendEvent.UpdateHTLCs.class) {
38 return new UpdateHTLCs(ptr, (bindings.LDKMessageSendEvent.UpdateHTLCs)raw_val);
40 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendRevokeAndACK.class) {
41 return new SendRevokeAndACK(ptr, (bindings.LDKMessageSendEvent.SendRevokeAndACK)raw_val);
43 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendClosingSigned.class) {
44 return new SendClosingSigned(ptr, (bindings.LDKMessageSendEvent.SendClosingSigned)raw_val);
46 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShutdown.class) {
47 return new SendShutdown(ptr, (bindings.LDKMessageSendEvent.SendShutdown)raw_val);
49 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelReestablish.class) {
50 return new SendChannelReestablish(ptr, (bindings.LDKMessageSendEvent.SendChannelReestablish)raw_val);
52 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement.class) {
53 return new BroadcastChannelAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement)raw_val);
55 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement.class) {
56 return new BroadcastNodeAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement)raw_val);
58 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelUpdate.class) {
59 return new BroadcastChannelUpdate(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelUpdate)raw_val);
61 if (raw_val.getClass() == bindings.LDKMessageSendEvent.HandleError.class) {
62 return new HandleError(ptr, (bindings.LDKMessageSendEvent.HandleError)raw_val);
64 if (raw_val.getClass() == bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate.class) {
65 return new PaymentFailureNetworkUpdate(ptr, (bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate)raw_val);
67 assert false; return null; // Unreachable without extending the (internal) bindings interface
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) {
75 this.node_id = obj.node_id;
77 AcceptChannel msg_hu_conv = new AcceptChannel(null, msg);
78 this.msg = msg_hu_conv;
80 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
87 this.node_id = obj.node_id;
89 OpenChannel msg_hu_conv = new OpenChannel(null, msg);
90 this.msg = msg_hu_conv;
92 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
99 this.node_id = obj.node_id;
101 FundingCreated msg_hu_conv = new FundingCreated(null, msg);
102 this.msg = msg_hu_conv;
104 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
111 this.node_id = obj.node_id;
113 FundingSigned msg_hu_conv = new FundingSigned(null, msg);
114 this.msg = msg_hu_conv;
116 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
123 this.node_id = obj.node_id;
125 FundingLocked msg_hu_conv = new FundingLocked(null, msg);
126 this.msg = msg_hu_conv;
128 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
135 this.node_id = obj.node_id;
137 AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg);
138 this.msg = msg_hu_conv;
140 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
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;
152 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
159 this.node_id = obj.node_id;
161 RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg);
162 this.msg = msg_hu_conv;
164 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
171 this.node_id = obj.node_id;
173 ClosingSigned msg_hu_conv = new ClosingSigned(null, msg);
174 this.msg = msg_hu_conv;
176 @Override long conv_to_c() { return 0; /*XXX*/ }
178 public final static class SendShutdown extends MessageSendEvent {
179 public byte[] node_id;
181 private SendShutdown(long ptr, bindings.LDKMessageSendEvent.SendShutdown obj) {
183 this.node_id = obj.node_id;
185 Shutdown msg_hu_conv = new Shutdown(null, msg);
186 this.msg = msg_hu_conv;
188 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
195 this.node_id = obj.node_id;
197 ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg);
198 this.msg = msg_hu_conv;
200 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
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;
214 @Override long conv_to_c() { return 0; /*XXX*/ }
216 public final static class BroadcastNodeAnnouncement extends MessageSendEvent {
217 public NodeAnnouncement msg;
218 private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) {
221 NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
222 this.msg = msg_hu_conv;
224 @Override long conv_to_c() { return 0; /*XXX*/ }
226 public final static class BroadcastChannelUpdate extends MessageSendEvent {
227 public ChannelUpdate msg;
228 private BroadcastChannelUpdate(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelUpdate obj) {
231 ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
232 this.msg = msg_hu_conv;
234 @Override long conv_to_c() { return 0; /*XXX*/ }
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) {
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;
246 @Override long conv_to_c() { return 0; /*XXX*/ }
248 public final static class PaymentFailureNetworkUpdate extends MessageSendEvent {
249 public HTLCFailChannelUpdate update;
250 private PaymentFailureNetworkUpdate(long ptr, bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate obj) {
252 long update = obj.update;
253 HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
254 this.update = update_hu_conv;
256 @Override long conv_to_c() { return 0; /*XXX*/ }