Update auto-generated bindings to LDK v0.0.99
[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.SendChannelUpdate.class) {
67                         return new SendChannelUpdate(ptr, (bindings.LDKMessageSendEvent.SendChannelUpdate)raw_val);
68                 }
69                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.HandleError.class) {
70                         return new HandleError(ptr, (bindings.LDKMessageSendEvent.HandleError)raw_val);
71                 }
72                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate.class) {
73                         return new PaymentFailureNetworkUpdate(ptr, (bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate)raw_val);
74                 }
75                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendChannelRangeQuery.class) {
76                         return new SendChannelRangeQuery(ptr, (bindings.LDKMessageSendEvent.SendChannelRangeQuery)raw_val);
77                 }
78                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendShortIdsQuery.class) {
79                         return new SendShortIdsQuery(ptr, (bindings.LDKMessageSendEvent.SendShortIdsQuery)raw_val);
80                 }
81                 if (raw_val.getClass() == bindings.LDKMessageSendEvent.SendReplyChannelRange.class) {
82                         return new SendReplyChannelRange(ptr, (bindings.LDKMessageSendEvent.SendReplyChannelRange)raw_val);
83                 }
84                 assert false; return null; // Unreachable without extending the (internal) bindings interface
85         }
86
87         public final static class SendAcceptChannel extends MessageSendEvent {
88                 public final byte[] node_id;
89                 public final AcceptChannel msg;
90                 private SendAcceptChannel(long ptr, bindings.LDKMessageSendEvent.SendAcceptChannel obj) {
91                         super(null, ptr);
92                         this.node_id = obj.node_id;
93                         long msg = obj.msg;
94                         AcceptChannel msg_hu_conv = new AcceptChannel(null, msg);
95                         msg_hu_conv.ptrs_to.add(this);
96                         this.msg = msg_hu_conv;
97                 }
98         }
99         public final static class SendOpenChannel extends MessageSendEvent {
100                 public final byte[] node_id;
101                 public final OpenChannel msg;
102                 private SendOpenChannel(long ptr, bindings.LDKMessageSendEvent.SendOpenChannel obj) {
103                         super(null, ptr);
104                         this.node_id = obj.node_id;
105                         long msg = obj.msg;
106                         OpenChannel msg_hu_conv = new OpenChannel(null, msg);
107                         msg_hu_conv.ptrs_to.add(this);
108                         this.msg = msg_hu_conv;
109                 }
110         }
111         public final static class SendFundingCreated extends MessageSendEvent {
112                 public final byte[] node_id;
113                 public final FundingCreated msg;
114                 private SendFundingCreated(long ptr, bindings.LDKMessageSendEvent.SendFundingCreated obj) {
115                         super(null, ptr);
116                         this.node_id = obj.node_id;
117                         long msg = obj.msg;
118                         FundingCreated msg_hu_conv = new FundingCreated(null, msg);
119                         msg_hu_conv.ptrs_to.add(this);
120                         this.msg = msg_hu_conv;
121                 }
122         }
123         public final static class SendFundingSigned extends MessageSendEvent {
124                 public final byte[] node_id;
125                 public final FundingSigned msg;
126                 private SendFundingSigned(long ptr, bindings.LDKMessageSendEvent.SendFundingSigned obj) {
127                         super(null, ptr);
128                         this.node_id = obj.node_id;
129                         long msg = obj.msg;
130                         FundingSigned msg_hu_conv = new FundingSigned(null, msg);
131                         msg_hu_conv.ptrs_to.add(this);
132                         this.msg = msg_hu_conv;
133                 }
134         }
135         public final static class SendFundingLocked extends MessageSendEvent {
136                 public final byte[] node_id;
137                 public final FundingLocked msg;
138                 private SendFundingLocked(long ptr, bindings.LDKMessageSendEvent.SendFundingLocked obj) {
139                         super(null, ptr);
140                         this.node_id = obj.node_id;
141                         long msg = obj.msg;
142                         FundingLocked msg_hu_conv = new FundingLocked(null, msg);
143                         msg_hu_conv.ptrs_to.add(this);
144                         this.msg = msg_hu_conv;
145                 }
146         }
147         public final static class SendAnnouncementSignatures extends MessageSendEvent {
148                 public final byte[] node_id;
149                 public final AnnouncementSignatures msg;
150                 private SendAnnouncementSignatures(long ptr, bindings.LDKMessageSendEvent.SendAnnouncementSignatures obj) {
151                         super(null, ptr);
152                         this.node_id = obj.node_id;
153                         long msg = obj.msg;
154                         AnnouncementSignatures msg_hu_conv = new AnnouncementSignatures(null, msg);
155                         msg_hu_conv.ptrs_to.add(this);
156                         this.msg = msg_hu_conv;
157                 }
158         }
159         public final static class UpdateHTLCs extends MessageSendEvent {
160                 public final byte[] node_id;
161                 public final CommitmentUpdate updates;
162                 private UpdateHTLCs(long ptr, bindings.LDKMessageSendEvent.UpdateHTLCs obj) {
163                         super(null, ptr);
164                         this.node_id = obj.node_id;
165                         long updates = obj.updates;
166                         CommitmentUpdate updates_hu_conv = new CommitmentUpdate(null, updates);
167                         updates_hu_conv.ptrs_to.add(this);
168                         this.updates = updates_hu_conv;
169                 }
170         }
171         public final static class SendRevokeAndACK extends MessageSendEvent {
172                 public final byte[] node_id;
173                 public final RevokeAndACK msg;
174                 private SendRevokeAndACK(long ptr, bindings.LDKMessageSendEvent.SendRevokeAndACK obj) {
175                         super(null, ptr);
176                         this.node_id = obj.node_id;
177                         long msg = obj.msg;
178                         RevokeAndACK msg_hu_conv = new RevokeAndACK(null, msg);
179                         msg_hu_conv.ptrs_to.add(this);
180                         this.msg = msg_hu_conv;
181                 }
182         }
183         public final static class SendClosingSigned extends MessageSendEvent {
184                 public final byte[] node_id;
185                 public final ClosingSigned msg;
186                 private SendClosingSigned(long ptr, bindings.LDKMessageSendEvent.SendClosingSigned obj) {
187                         super(null, ptr);
188                         this.node_id = obj.node_id;
189                         long msg = obj.msg;
190                         ClosingSigned msg_hu_conv = new ClosingSigned(null, msg);
191                         msg_hu_conv.ptrs_to.add(this);
192                         this.msg = msg_hu_conv;
193                 }
194         }
195         public final static class SendShutdown extends MessageSendEvent {
196                 public final byte[] node_id;
197                 public final Shutdown msg;
198                 private SendShutdown(long ptr, bindings.LDKMessageSendEvent.SendShutdown obj) {
199                         super(null, ptr);
200                         this.node_id = obj.node_id;
201                         long msg = obj.msg;
202                         Shutdown msg_hu_conv = new Shutdown(null, msg);
203                         msg_hu_conv.ptrs_to.add(this);
204                         this.msg = msg_hu_conv;
205                 }
206         }
207         public final static class SendChannelReestablish extends MessageSendEvent {
208                 public final byte[] node_id;
209                 public final ChannelReestablish msg;
210                 private SendChannelReestablish(long ptr, bindings.LDKMessageSendEvent.SendChannelReestablish obj) {
211                         super(null, ptr);
212                         this.node_id = obj.node_id;
213                         long msg = obj.msg;
214                         ChannelReestablish msg_hu_conv = new ChannelReestablish(null, msg);
215                         msg_hu_conv.ptrs_to.add(this);
216                         this.msg = msg_hu_conv;
217                 }
218         }
219         public final static class BroadcastChannelAnnouncement extends MessageSendEvent {
220                 public final ChannelAnnouncement msg;
221                 public final ChannelUpdate update_msg;
222                 private BroadcastChannelAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelAnnouncement obj) {
223                         super(null, ptr);
224                         long msg = obj.msg;
225                         ChannelAnnouncement msg_hu_conv = new ChannelAnnouncement(null, msg);
226                         msg_hu_conv.ptrs_to.add(this);
227                         this.msg = msg_hu_conv;
228                         long update_msg = obj.update_msg;
229                         ChannelUpdate update_msg_hu_conv = new ChannelUpdate(null, update_msg);
230                         update_msg_hu_conv.ptrs_to.add(this);
231                         this.update_msg = update_msg_hu_conv;
232                 }
233         }
234         public final static class BroadcastNodeAnnouncement extends MessageSendEvent {
235                 public final NodeAnnouncement msg;
236                 private BroadcastNodeAnnouncement(long ptr, bindings.LDKMessageSendEvent.BroadcastNodeAnnouncement obj) {
237                         super(null, ptr);
238                         long msg = obj.msg;
239                         NodeAnnouncement msg_hu_conv = new NodeAnnouncement(null, msg);
240                         msg_hu_conv.ptrs_to.add(this);
241                         this.msg = msg_hu_conv;
242                 }
243         }
244         public final static class BroadcastChannelUpdate extends MessageSendEvent {
245                 public final ChannelUpdate msg;
246                 private BroadcastChannelUpdate(long ptr, bindings.LDKMessageSendEvent.BroadcastChannelUpdate obj) {
247                         super(null, ptr);
248                         long msg = obj.msg;
249                         ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
250                         msg_hu_conv.ptrs_to.add(this);
251                         this.msg = msg_hu_conv;
252                 }
253         }
254         public final static class SendChannelUpdate extends MessageSendEvent {
255                 public final byte[] node_id;
256                 public final ChannelUpdate msg;
257                 private SendChannelUpdate(long ptr, bindings.LDKMessageSendEvent.SendChannelUpdate obj) {
258                         super(null, ptr);
259                         this.node_id = obj.node_id;
260                         long msg = obj.msg;
261                         ChannelUpdate msg_hu_conv = new ChannelUpdate(null, msg);
262                         msg_hu_conv.ptrs_to.add(this);
263                         this.msg = msg_hu_conv;
264                 }
265         }
266         public final static class HandleError extends MessageSendEvent {
267                 public final byte[] node_id;
268                 public final ErrorAction action;
269                 private HandleError(long ptr, bindings.LDKMessageSendEvent.HandleError obj) {
270                         super(null, ptr);
271                         this.node_id = obj.node_id;
272                         long action = obj.action;
273                         ErrorAction action_hu_conv = ErrorAction.constr_from_ptr(action);
274                         action_hu_conv.ptrs_to.add(this);
275                         this.action = action_hu_conv;
276                 }
277         }
278         public final static class PaymentFailureNetworkUpdate extends MessageSendEvent {
279                 public final HTLCFailChannelUpdate update;
280                 private PaymentFailureNetworkUpdate(long ptr, bindings.LDKMessageSendEvent.PaymentFailureNetworkUpdate obj) {
281                         super(null, ptr);
282                         long update = obj.update;
283                         HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
284                         update_hu_conv.ptrs_to.add(this);
285                         this.update = update_hu_conv;
286                 }
287         }
288         public final static class SendChannelRangeQuery extends MessageSendEvent {
289                 public final byte[] node_id;
290                 public final QueryChannelRange msg;
291                 private SendChannelRangeQuery(long ptr, bindings.LDKMessageSendEvent.SendChannelRangeQuery obj) {
292                         super(null, ptr);
293                         this.node_id = obj.node_id;
294                         long msg = obj.msg;
295                         QueryChannelRange msg_hu_conv = new QueryChannelRange(null, msg);
296                         msg_hu_conv.ptrs_to.add(this);
297                         this.msg = msg_hu_conv;
298                 }
299         }
300         public final static class SendShortIdsQuery extends MessageSendEvent {
301                 public final byte[] node_id;
302                 public final QueryShortChannelIds msg;
303                 private SendShortIdsQuery(long ptr, bindings.LDKMessageSendEvent.SendShortIdsQuery obj) {
304                         super(null, ptr);
305                         this.node_id = obj.node_id;
306                         long msg = obj.msg;
307                         QueryShortChannelIds msg_hu_conv = new QueryShortChannelIds(null, msg);
308                         msg_hu_conv.ptrs_to.add(this);
309                         this.msg = msg_hu_conv;
310                 }
311         }
312         public final static class SendReplyChannelRange extends MessageSendEvent {
313                 public final byte[] node_id;
314                 public final ReplyChannelRange msg;
315                 private SendReplyChannelRange(long ptr, bindings.LDKMessageSendEvent.SendReplyChannelRange obj) {
316                         super(null, ptr);
317                         this.node_id = obj.node_id;
318                         long msg = obj.msg;
319                         ReplyChannelRange msg_hu_conv = new ReplyChannelRange(null, msg);
320                         msg_hu_conv.ptrs_to.add(this);
321                         this.msg = msg_hu_conv;
322                 }
323         }
324         /**
325          * Creates a copy of the MessageSendEvent
326          */
327         public MessageSendEvent clone() {
328                 long ret = bindings.MessageSendEvent_clone(this.ptr);
329                 MessageSendEvent ret_hu_conv = MessageSendEvent.constr_from_ptr(ret);
330                 ret_hu_conv.ptrs_to.add(this);
331                 return ret_hu_conv;
332         }
333
334 }