Update java bindings with new generator and new upstream code
[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
9 /**
10  * An event generated by ChannelManager which indicates a message should be sent to a peer (or
11  * broadcast to most peers).
12  * These events are handled by PeerManager::process_events if you are using a PeerManager.
13  */
14 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
15 public class MessageSendEvent extends CommonBase {
16         private MessageSendEvent(Object _dummy, long ptr) { super(ptr); }
17         @Override @SuppressWarnings("deprecation")
18         protected void finalize() throws Throwable {
19                 super.finalize();
20                 if (ptr != 0) { bindings.MessageSendEvent_free(ptr); }
21         }
22         static MessageSendEvent constr_from_ptr(long ptr) {
23                 bindings.LDKMessageSendEvent raw_val = bindings.LDKMessageSendEvent_ref_from_ptr(ptr);
24                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAcceptChannel.class) {
25                         return new SendAcceptChannel(ptr, (bindings.LDKMessageSendEvent.SendAcceptChannel)raw_val);
26                 }
27                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendOpenChannel.class) {
28                         return new SendOpenChannel(ptr, (bindings.LDKMessageSendEvent.SendOpenChannel)raw_val);
29                 }
30                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingCreated.class) {
31                         return new SendFundingCreated(ptr, (bindings.LDKMessageSendEvent.SendFundingCreated)raw_val);
32                 }
33                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingSigned.class) {
34                         return new SendFundingSigned(ptr, (bindings.LDKMessageSendEvent.SendFundingSigned)raw_val);
35                 }
36                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendFundingLocked.class) {
37                         return new SendFundingLocked(ptr, (bindings.LDKMessageSendEvent.SendFundingLocked)raw_val);
38                 }
39                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendAnnouncementSignatures.class) {
40                         return new SendAnnouncementSignatures(ptr, (bindings.LDKMessageSendEvent.SendAnnouncementSignatures)raw_val);
41                 }
42                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.UpdateHTLCs.class) {
43                         return new UpdateHTLCs(ptr, (bindings.LDKMessageSendEvent.UpdateHTLCs)raw_val);
44                 }
45                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendRevokeAndACK.class) {
46                         return new SendRevokeAndACK(ptr, (bindings.LDKMessageSendEvent.SendRevokeAndACK)raw_val);
47                 }
48                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendClosingSigned.class) {
49                         return new SendClosingSigned(ptr, (bindings.LDKMessageSendEvent.SendClosingSigned)raw_val);
50                 }
51                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShutdown.class) {
52                         return new SendShutdown(ptr, (bindings.LDKMessageSendEvent.SendShutdown)raw_val);
53                 }
54                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelReestablish.class) {
55                         return new SendChannelReestablish(ptr, (bindings.LDKMessageSendEvent.SendChannelReestablish)raw_val);
56                 }
57                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement.class) {
58                         return new BroadcastChannelAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement)raw_val);
59                 }
60                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement.class) {
61                         return new BroadcastNodeAnnouncement(ptr, (bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement)raw_val);
62                 }
63                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.BroadcastChannelUpdate.class) {
64                         return new BroadcastChannelUpdate(ptr, (bindings.LDKMessageSendEvent.BroadcastChannelUpdate)raw_val);
65                 }
66                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.HandleError.class) {
67                         return new HandleError(ptr, (bindings.LDKMessageSendEvent.HandleError)raw_val);
68                 }
69                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate.class) {
70                         return new PaymentFailureNetworkUpdate(ptr, (bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate)raw_val);
71                 }
72                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelRangeQuery.class) {
73                         return new SendChannelRangeQuery(ptr, (bindings.LDKMessageSendEvent.SendChannelRangeQuery)raw_val);
74                 }
75                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShortIdsQuery.class) {
76                         return new SendShortIdsQuery(ptr, (bindings.LDKMessageSendEvent.SendShortIdsQuery)raw_val);
77                 }
78                 assert false; return null; // Unreachable without extending the (internal) bindings interface
79         }
80
81         public final static class SendAcceptChannel extends MessageSendEvent {
82                 public final byte[] node_id;
83                 public final AcceptChannel msg;
84                 private SendAcceptChannel(long ptr, bindings.LDKMessageSendEvent.SendAcceptChannel obj) {
85                         super(null, ptr);
86                         this.node_id = obj.node_id;
87                         long msg = obj.msg;
88                         AcceptChannel msg_hu_conv = new AcceptChannel(null, msg);
89                         msg_hu_conv.ptrs_to.add(this);
90                         this.msg = msg_hu_conv;
91                 }
92         }
93         public final static class SendOpenChannel extends MessageSendEvent {
94                 public final byte[] node_id;
95                 public final OpenChannel msg;
96                 private SendOpenChannel(long ptr, bindings.LDKMessageSendEvent.SendOpenChannel obj) {
97                         super(null, ptr);
98                         this.node_id = obj.node_id;
99                         long msg = obj.msg;
100                         OpenChannel msg_hu_conv = new OpenChannel(null, msg);
101                         msg_hu_conv.ptrs_to.add(this);
102                         this.msg = msg_hu_conv;
103                 }
104         }
105         public final static class SendFundingCreated extends MessageSendEvent {
106                 public final byte[] node_id;
107                 public final FundingCreated msg;
108                 private SendFundingCreated(long ptr, bindings.LDKMessageSendEvent.SendFundingCreated obj) {
109                         super(null, ptr);
110                         this.node_id = obj.node_id;
111                         long msg = obj.msg;
112                         FundingCreated msg_hu_conv = new FundingCreated(null, msg);
113                         msg_hu_conv.ptrs_to.add(this);
114                         this.msg = msg_hu_conv;
115                 }
116         }
117         public final static class SendFundingSigned extends MessageSendEvent {
118                 public final byte[] node_id;
119                 public final FundingSigned msg;
120                 private SendFundingSigned(long ptr, bindings.LDKMessageSendEvent.SendFundingSigned obj) {
121                         super(null, ptr);
122                         this.node_id = obj.node_id;
123                         long msg = obj.msg;
124                         FundingSigned msg_hu_conv = new FundingSigned(null, msg);
125                         msg_hu_conv.ptrs_to.add(this);
126                         this.msg = msg_hu_conv;
127                 }
128         }
129         public final static class SendFundingLocked extends MessageSendEvent {
130                 public final byte[] node_id;
131                 public final FundingLocked msg;
132                 private SendFundingLocked(long ptr, bindings.LDKMessageSendEvent.SendFundingLocked obj) {
133                         super(null, ptr);
134                         this.node_id = obj.node_id;
135                         long msg = obj.msg;
136                         FundingLocked msg_hu_conv = new FundingLocked(null, msg);
137                         msg_hu_conv.ptrs_to.add(this);
138                         this.msg = msg_hu_conv;
139                 }
140         }
141         public final static class SendAnnouncementSignatures extends MessageSendEvent {
142                 public final byte[] node_id;
143                 public final AnnouncementSignatures msg;
144                 private SendAnnouncementSignatures(long ptr, bindings.LDKMessageSendEvent.SendAnnouncementSignatures obj) {
145                         super(null, ptr);
146                         this.node_id = obj.node_id;
147                         long msg = obj.msg;
148                         AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg);
149                         msg_hu_conv.ptrs_to.add(this);
150                         this.msg = msg_hu_conv;
151                 }
152         }
153         public final static class UpdateHTLCs extends MessageSendEvent {
154                 public final byte[] node_id;
155                 public final CommitmentUpdate updates;
156                 private UpdateHTLCs(long ptr, bindings.LDKMessageSendEvent.UpdateHTLCs obj) {
157                         super(null, ptr);
158                         this.node_id = obj.node_id;
159                         long updates = obj.updates;
160                         CommitmentUpdate updates_hu_conv = new CommitmentUpdate(null, updates);
161                         updates_hu_conv.ptrs_to.add(this);
162                         this.updates = updates_hu_conv;
163                 }
164         }
165         public final static class SendRevokeAndACK extends MessageSendEvent {
166                 public final byte[] node_id;
167                 public final RevokeAndACK msg;
168                 private SendRevokeAndACK(long ptr, bindings.LDKMessageSendEvent.SendRevokeAndACK obj) {
169                         super(null, ptr);
170                         this.node_id = obj.node_id;
171                         long msg = obj.msg;
172                         RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg);
173                         msg_hu_conv.ptrs_to.add(this);
174                         this.msg = msg_hu_conv;
175                 }
176         }
177         public final static class SendClosingSigned extends MessageSendEvent {
178                 public final byte[] node_id;
179                 public final ClosingSigned msg;
180                 private SendClosingSigned(long ptr, bindings.LDKMessageSendEvent.SendClosingSigned obj) {
181                         super(null, ptr);
182                         this.node_id = obj.node_id;
183                         long msg = obj.msg;
184                         ClosingSigned msg_hu_conv = new ClosingSigned(null, msg);
185                         msg_hu_conv.ptrs_to.add(this);
186                         this.msg = msg_hu_conv;
187                 }
188         }
189         public final static class SendShutdown extends MessageSendEvent {
190                 public final byte[] node_id;
191                 public final Shutdown msg;
192                 private SendShutdown(long ptr, bindings.LDKMessageSendEvent.SendShutdown obj) {
193                         super(null, ptr);
194                         this.node_id = obj.node_id;
195                         long msg = obj.msg;
196                         Shutdown msg_hu_conv = new Shutdown(null, msg);
197                         msg_hu_conv.ptrs_to.add(this);
198                         this.msg = msg_hu_conv;
199                 }
200         }
201         public final static class SendChannelReestablish extends MessageSendEvent {
202                 public final byte[] node_id;
203                 public final ChannelReestablish msg;
204                 private SendChannelReestablish(long ptr, bindings.LDKMessageSendEvent.SendChannelReestablish obj) {
205                         super(null, ptr);
206                         this.node_id = obj.node_id;
207                         long msg = obj.msg;
208                         ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg);
209                         msg_hu_conv.ptrs_to.add(this);
210                         this.msg = msg_hu_conv;
211                 }
212         }
213         public final static class BroadcastChannelAnnouncement extends MessageSendEvent {
214                 public final ChannelAnnouncement msg;
215                 public final ChannelUpdate update_msg;
216                 private BroadcastChannelAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement obj) {
217                         super(null, ptr);
218                         long msg = obj.msg;
219                         ChannelAnnouncement msg_hu_conv = new ChannelAnnouncement(null, msg);
220                         msg_hu_conv.ptrs_to.add(this);
221                         this.msg = msg_hu_conv;
222                         long update_msg = obj.update_msg;
223                         ChannelUpdate update_msg_hu_conv = new ChannelUpdate(null, update_msg);
224                         update_msg_hu_conv.ptrs_to.add(this);
225                         this.update_msg = update_msg_hu_conv;
226                 }
227         }
228         public final static class BroadcastNodeAnnouncement extends MessageSendEvent {
229                 public final NodeAnnouncement msg;
230                 private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) {
231                         super(null, ptr);
232                         long msg = obj.msg;
233                         NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
234                         msg_hu_conv.ptrs_to.add(this);
235                         this.msg = msg_hu_conv;
236                 }
237         }
238         public final static class BroadcastChannelUpdate extends MessageSendEvent {
239                 public final ChannelUpdate msg;
240                 private BroadcastChannelUpdate(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelUpdate obj) {
241                         super(null, ptr);
242                         long msg = obj.msg;
243                         ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
244                         msg_hu_conv.ptrs_to.add(this);
245                         this.msg = msg_hu_conv;
246                 }
247         }
248         public final static class HandleError extends MessageSendEvent {
249                 public final byte[] node_id;
250                 public final ErrorAction action;
251                 private HandleError(long ptr, bindings.LDKMessageSendEvent.HandleError obj) {
252                         super(null, ptr);
253                         this.node_id = obj.node_id;
254                         long action = obj.action;
255                         ErrorAction action_hu_conv = ErrorAction.constr_from_ptr(action);
256                         action_hu_conv.ptrs_to.add(this);
257                         this.action = action_hu_conv;
258                 }
259         }
260         public final static class PaymentFailureNetworkUpdate extends MessageSendEvent {
261                 public final HTLCFailChannelUpdate update;
262                 private PaymentFailureNetworkUpdate(long ptr, bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate obj) {
263                         super(null, ptr);
264                         long update = obj.update;
265                         HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
266                         update_hu_conv.ptrs_to.add(this);
267                         this.update = update_hu_conv;
268                 }
269         }
270         public final static class SendChannelRangeQuery extends MessageSendEvent {
271                 public final byte[] node_id;
272                 public final QueryChannelRange msg;
273                 private SendChannelRangeQuery(long ptr, bindings.LDKMessageSendEvent.SendChannelRangeQuery obj) {
274                         super(null, ptr);
275                         this.node_id = obj.node_id;
276                         long msg = obj.msg;
277                         QueryChannelRange msg_hu_conv = new QueryChannelRange(null, msg);
278                         msg_hu_conv.ptrs_to.add(this);
279                         this.msg = msg_hu_conv;
280                 }
281         }
282         public final static class SendShortIdsQuery extends MessageSendEvent {
283                 public final byte[] node_id;
284                 public final QueryShortChannelIds msg;
285                 private SendShortIdsQuery(long ptr, bindings.LDKMessageSendEvent.SendShortIdsQuery obj) {
286                         super(null, ptr);
287                         this.node_id = obj.node_id;
288                         long msg = obj.msg;
289                         QueryShortChannelIds msg_hu_conv = new QueryShortChannelIds(null, msg);
290                         msg_hu_conv.ptrs_to.add(this);
291                         this.msg = msg_hu_conv;
292                 }
293         }
294 }