Expose human functions that use Result objects
[ldk-java] / src / main / java / org / ldk / structs / RoutingMessageHandler.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 RoutingMessageHandler extends CommonBase {
10         RoutingMessageHandler(Object _dummy, long ptr) { super(ptr); }
11         public RoutingMessageHandler(bindings.LDKRoutingMessageHandler arg) {
12                 super(bindings.LDKRoutingMessageHandler_new(arg));
13                 this.ptrs_to.add(arg);
14         }
15         @Override @SuppressWarnings("deprecation")
16         protected void finalize() throws Throwable {
17                 bindings.RoutingMessageHandler_free(ptr); super.finalize();
18         }
19
20         public Result_boolLightningErrorZ handle_node_announcement(NodeAnnouncement msg) {
21                 long ret = bindings.RoutingMessageHandler_handle_node_announcement(this.ptr, msg == null ? 0 : msg.ptr & ~1);
22                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
23                 ret_hu_conv.ptrs_to.add(this);
24                 this.ptrs_to.add(msg);
25                 return ret_hu_conv;
26         }
27
28         public Result_boolLightningErrorZ handle_channel_announcement(ChannelAnnouncement msg) {
29                 long ret = bindings.RoutingMessageHandler_handle_channel_announcement(this.ptr, msg == null ? 0 : msg.ptr & ~1);
30                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
31                 ret_hu_conv.ptrs_to.add(this);
32                 this.ptrs_to.add(msg);
33                 return ret_hu_conv;
34         }
35
36         public Result_boolLightningErrorZ handle_channel_update(ChannelUpdate msg) {
37                 long ret = bindings.RoutingMessageHandler_handle_channel_update(this.ptr, msg == null ? 0 : msg.ptr & ~1);
38                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
39                 ret_hu_conv.ptrs_to.add(this);
40                 this.ptrs_to.add(msg);
41                 return ret_hu_conv;
42         }
43
44         // Skipped RoutingMessageHandler_handle_htlc_fail_channel_update
45         public ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] get_next_channel_announcements(long starting_point, byte batch_amount) {
46                 long[] ret = bindings.RoutingMessageHandler_get_next_channel_announcements(this.ptr, starting_point, batch_amount);
47                 ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] arr_conv_63_arr = new ThreeTuple[ret.length];
48                 for (int l = 0; l < ret.length; l++) {
49                         long arr_conv_63 = ret[l];
50                         long arr_conv_63_a = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_a(arr_conv_63);
51                         ChannelAnnouncement arr_conv_63_a_hu_conv = new ChannelAnnouncement(null, arr_conv_63_a);;
52                         long arr_conv_63_b = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_b(arr_conv_63);
53                         ChannelUpdate arr_conv_63_b_hu_conv = new ChannelUpdate(null, arr_conv_63_b);;
54                         long arr_conv_63_c = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(arr_conv_63);
55                         ChannelUpdate arr_conv_63_c_hu_conv = new ChannelUpdate(null, arr_conv_63_c);;
56                         ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate> arr_conv_63_conv = new ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>(arr_conv_63_a_hu_conv, arr_conv_63_b_hu_conv, arr_conv_63_c_hu_conv);
57                         arr_conv_63_arr[l] = arr_conv_63_conv;
58                 }
59                 return arr_conv_63_arr;
60         }
61
62         public NodeAnnouncement[] get_next_node_announcements(byte[] starting_point, byte batch_amount) {
63                 long[] ret = bindings.RoutingMessageHandler_get_next_node_announcements(this.ptr, starting_point, batch_amount);
64                 NodeAnnouncement[] arr_conv_18_arr = new NodeAnnouncement[ret.length];
65                 for (int s = 0; s < ret.length; s++) {
66                         long arr_conv_18 = ret[s];
67                         NodeAnnouncement arr_conv_18_hu_conv = new NodeAnnouncement(null, arr_conv_18);
68                         arr_conv_18_arr[s] = arr_conv_18_hu_conv;
69                 }
70                 return arr_conv_18_arr;
71         }
72
73         public boolean should_request_full_sync(byte[] node_id) {
74                 boolean ret = bindings.RoutingMessageHandler_should_request_full_sync(this.ptr, node_id);
75                 return ret;
76         }
77
78 }