Update auto-generated bindings to 0.0.101
[ldk-java] / ts / structs / RoutingMessageHandler.ts
1
2             
3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
5
6
7
8             export class RoutingMessageHandler extends CommonBase {
9
10                 bindings_instance?: bindings.LDKRoutingMessageHandler;
11
12                 constructor(ptr?: number, arg?: bindings.LDKRoutingMessageHandler, messageSendEventsProvider?: bindings.LDKMessageSendEventsProvider) {
13                     if (Number.isFinite(ptr)) {
14                                         super(ptr);
15                                         this.bindings_instance = null;
16                                     } else {
17                                         // TODO: private constructor instantiation
18                                         super(bindings.LDKRoutingMessageHandler_new(arg, messageSendEventsProvider));
19                                         this.ptrs_to.push(arg);
20                                         this.ptrs_to.push(messageSendEventsProvider);
21
22                                     }
23                 }
24
25                 protected finalize() {
26                     if (this.ptr != 0) {
27                         bindings.RoutingMessageHandler_free(this.ptr);
28                     }
29                     super.finalize();
30                 }
31
32                 static new_impl(arg: RoutingMessageHandlerInterface, messageSendEventsProvider_impl: MessageSendEventsProvider.MessageSendEventsProviderInterface): RoutingMessageHandler {
33                     const impl_holder: LDKRoutingMessageHandlerHolder = new LDKRoutingMessageHandlerHolder();
34                     let structImplementation = <bindings.LDKRoutingMessageHandler>{
35                         // todo: in-line interface filling
36                         handle_node_announcement (msg: number): number {
37                                                         const msg_hu_conv: NodeAnnouncement = new NodeAnnouncement(null, msg);
38                                                         Result_boolLightningErrorZ ret = arg.handle_node_announcement(msg_hu_conv);
39                                 result: number = ret != null ? ret.ptr : 0;
40                                 return result;
41                                                 },
42
43                                                 handle_channel_announcement (msg: number): number {
44                                                         const msg_hu_conv: ChannelAnnouncement = new ChannelAnnouncement(null, msg);
45                                                         Result_boolLightningErrorZ ret = arg.handle_channel_announcement(msg_hu_conv);
46                                 result: number = ret != null ? ret.ptr : 0;
47                                 return result;
48                                                 },
49
50                                                 handle_channel_update (msg: number): number {
51                                                         const msg_hu_conv: ChannelUpdate = new ChannelUpdate(null, msg);
52                                                         Result_boolLightningErrorZ ret = arg.handle_channel_update(msg_hu_conv);
53                                 result: number = ret != null ? ret.ptr : 0;
54                                 return result;
55                                                 },
56
57                                                 get_next_channel_announcements (starting_point: number, batch_amount: number): number[] {
58                                                         ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] ret = arg.get_next_channel_announcements(starting_point, batch_amount);
59                                 result: number[] = ret != null ? Arrays.stream(ret).map(ret_conv_63 -> bindings.C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_new(ret_conv_63.a == null ? 0 : ret_conv_63.a.ptr & ~1, ret_conv_63.b == null ? 0 : ret_conv_63.b.ptr & ~1, ret_conv_63.c == null ? 0 : ret_conv_63.c.ptr & ~1)).toArray(number[]::new) : null;
60                                 for (ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate> ret_conv_63: ret) { impl_holder.held.ptrs_to.add(ret_conv_63.a); impl_holder.held.ptrs_to.add(ret_conv_63.b); impl_holder.held.ptrs_to.add(ret_conv_63.c); };
61                                 return result;
62                                                 },
63
64                                                 get_next_node_announcements (starting_point: Uint8Array, batch_amount: number): number[] {
65                                                         NodeAnnouncement[] ret = arg.get_next_node_announcements(starting_point, batch_amount);
66                                 result: number[] = ret != null ? Arrays.stream(ret).map(ret_conv_18 -> ret_conv_18 == null ? 0 : ret_conv_18.ptr & ~1).toArray(number[]::new) : null;
67                                 for (NodeAnnouncement ret_conv_18: ret) { impl_holder.held.ptrs_to.add(ret_conv_18); };
68                                 return result;
69                                                 },
70
71                                                 sync_routing_table (their_node_id: Uint8Array, init: number): void {
72                                                         const init_hu_conv: Init = new Init(null, init);
73                                                         arg.sync_routing_table(their_node_id, init_hu_conv);
74                                                 },
75
76                                                 handle_reply_channel_range (their_node_id: Uint8Array, msg: number): number {
77                                                         const msg_hu_conv: ReplyChannelRange = new ReplyChannelRange(null, msg);
78                                 msg_hu_conv.ptrs_to.add(this);
79                                                         Result_NoneLightningErrorZ ret = arg.handle_reply_channel_range(their_node_id, msg_hu_conv);
80                                 result: number = ret != null ? ret.ptr : 0;
81                                 return result;
82                                                 },
83
84                                                 handle_reply_short_channel_ids_end (their_node_id: Uint8Array, msg: number): number {
85                                                         const msg_hu_conv: ReplyShortChannelIdsEnd = new ReplyShortChannelIdsEnd(null, msg);
86                                 msg_hu_conv.ptrs_to.add(this);
87                                                         Result_NoneLightningErrorZ ret = arg.handle_reply_short_channel_ids_end(their_node_id, msg_hu_conv);
88                                 result: number = ret != null ? ret.ptr : 0;
89                                 return result;
90                                                 },
91
92                                                 handle_query_channel_range (their_node_id: Uint8Array, msg: number): number {
93                                                         const msg_hu_conv: QueryChannelRange = new QueryChannelRange(null, msg);
94                                 msg_hu_conv.ptrs_to.add(this);
95                                                         Result_NoneLightningErrorZ ret = arg.handle_query_channel_range(their_node_id, msg_hu_conv);
96                                 result: number = ret != null ? ret.ptr : 0;
97                                 return result;
98                                                 },
99
100                                                 handle_query_short_channel_ids (their_node_id: Uint8Array, msg: number): number {
101                                                         const msg_hu_conv: QueryShortChannelIds = new QueryShortChannelIds(null, msg);
102                                 msg_hu_conv.ptrs_to.add(this);
103                                                         Result_NoneLightningErrorZ ret = arg.handle_query_short_channel_ids(their_node_id, msg_hu_conv);
104                                 result: number = ret != null ? ret.ptr : 0;
105                                 return result;
106                                                 },
107
108                                                 
109                     };
110                     impl_holder.held = new RoutingMessageHandler (null, structImplementation, MessageSendEventsProvider.new_impl(MessageSendEventsProvider_impl).bindings_instance);
111                 }
112             }
113
114             export interface RoutingMessageHandlerInterface {
115                 handle_node_announcement(msg: NodeAnnouncement): Result_boolLightningErrorZ;
116                                 handle_channel_announcement(msg: ChannelAnnouncement): Result_boolLightningErrorZ;
117                                 handle_channel_update(msg: ChannelUpdate): Result_boolLightningErrorZ;
118                                 get_next_channel_announcements(starting_point: number, batch_amount: number): ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[];
119                                 get_next_node_announcements(starting_point: Uint8Array, batch_amount: number): NodeAnnouncement[];
120                                 sync_routing_table(their_node_id: Uint8Array, init: Init): void;
121                                 handle_reply_channel_range(their_node_id: Uint8Array, msg: ReplyChannelRange): Result_NoneLightningErrorZ;
122                                 handle_reply_short_channel_ids_end(their_node_id: Uint8Array, msg: ReplyShortChannelIdsEnd): Result_NoneLightningErrorZ;
123                                 handle_query_channel_range(their_node_id: Uint8Array, msg: QueryChannelRange): Result_NoneLightningErrorZ;
124                                 handle_query_short_channel_ids(their_node_id: Uint8Array, msg: QueryShortChannelIds): Result_NoneLightningErrorZ;
125                                 
126             }
127
128             class LDKRoutingMessageHandlerHolder {
129                 held: RoutingMessageHandler;
130             }
131         public Result_boolLightningErrorZ handle_node_announcement(NodeAnnouncement msg) {
132                 number ret = bindings.RoutingMessageHandler_handle_node_announcement(this.ptr, msg == null ? 0 : msg.ptr & ~1);
133                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
134                 this.ptrs_to.add(msg);
135                 return ret_hu_conv;
136         }
137
138         public Result_boolLightningErrorZ handle_channel_announcement(ChannelAnnouncement msg) {
139                 number ret = bindings.RoutingMessageHandler_handle_channel_announcement(this.ptr, msg == null ? 0 : msg.ptr & ~1);
140                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
141                 this.ptrs_to.add(msg);
142                 return ret_hu_conv;
143         }
144
145         public Result_boolLightningErrorZ handle_channel_update(ChannelUpdate msg) {
146                 number ret = bindings.RoutingMessageHandler_handle_channel_update(this.ptr, msg == null ? 0 : msg.ptr & ~1);
147                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
148                 this.ptrs_to.add(msg);
149                 return ret_hu_conv;
150         }
151
152         public ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] get_next_channel_announcements(number starting_point, number batch_amount) {
153                 number[] ret = bindings.RoutingMessageHandler_get_next_channel_announcements(this.ptr, starting_point, batch_amount);
154                 ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] ret_conv_63_arr = new ThreeTuple[ret.length];
155                 for (int l = 0; l < ret.length; l++) {
156                         number ret_conv_63 = ret[l];
157                         number ret_conv_63_a = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_a(ret_conv_63);
158                         const ret_conv_63_a_hu_conv: ChannelAnnouncement = new ChannelAnnouncement(null, ret_conv_63_a);
159                         ret_conv_63_a_hu_conv.ptrs_to.add(this);;
160                         number ret_conv_63_b = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_b(ret_conv_63);
161                         const ret_conv_63_b_hu_conv: ChannelUpdate = new ChannelUpdate(null, ret_conv_63_b);
162                         ret_conv_63_b_hu_conv.ptrs_to.add(this);;
163                         number ret_conv_63_c = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(ret_conv_63);
164                         const ret_conv_63_c_hu_conv: ChannelUpdate = new ChannelUpdate(null, ret_conv_63_c);
165                         ret_conv_63_c_hu_conv.ptrs_to.add(this);;
166                         ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate> ret_conv_63_conv = new ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>(ret_conv_63_a_hu_conv, ret_conv_63_b_hu_conv, ret_conv_63_c_hu_conv, () -> {
167                                 bindings.C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_free(ret_conv_63);
168                         });
169                         ret_conv_63_a_hu_conv.ptrs_to.add(ret_conv_63_conv);
170                         ret_conv_63_b_hu_conv.ptrs_to.add(ret_conv_63_conv);
171                         ret_conv_63_c_hu_conv.ptrs_to.add(ret_conv_63_conv);
172                         ret_conv_63_arr[l] = ret_conv_63_conv;
173                 }
174                 return ret_conv_63_arr;
175         }
176
177         public NodeAnnouncement[] get_next_node_announcements(Uint8Array starting_point, number batch_amount) {
178                 number[] ret = bindings.RoutingMessageHandler_get_next_node_announcements(this.ptr, starting_point, batch_amount);
179                 NodeAnnouncement[] ret_conv_18_arr = new NodeAnnouncement[ret.length];
180                 for (int s = 0; s < ret.length; s++) {
181                         number ret_conv_18 = ret[s];
182                         const ret_conv_18_hu_conv: NodeAnnouncement = new NodeAnnouncement(null, ret_conv_18);
183                         ret_conv_18_hu_conv.ptrs_to.add(this);
184                         ret_conv_18_arr[s] = ret_conv_18_hu_conv;
185                 }
186                 return ret_conv_18_arr;
187         }
188
189         public void sync_routing_table(Uint8Array their_node_id, Init init) {
190                 bindings.RoutingMessageHandler_sync_routing_table(this.ptr, their_node_id, init == null ? 0 : init.ptr & ~1);
191                 this.ptrs_to.add(init);
192         }
193
194         public Result_NoneLightningErrorZ handle_reply_channel_range(Uint8Array their_node_id, ReplyChannelRange msg) {
195                 number ret = bindings.RoutingMessageHandler_handle_reply_channel_range(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
196                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
197                 this.ptrs_to.add(msg);
198                 return ret_hu_conv;
199         }
200
201         public Result_NoneLightningErrorZ handle_reply_short_channel_ids_end(Uint8Array their_node_id, ReplyShortChannelIdsEnd msg) {
202                 number ret = bindings.RoutingMessageHandler_handle_reply_short_channel_ids_end(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
203                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
204                 this.ptrs_to.add(msg);
205                 return ret_hu_conv;
206         }
207
208         public Result_NoneLightningErrorZ handle_query_channel_range(Uint8Array their_node_id, QueryChannelRange msg) {
209                 number ret = bindings.RoutingMessageHandler_handle_query_channel_range(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
210                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
211                 this.ptrs_to.add(msg);
212                 return ret_hu_conv;
213         }
214
215         public Result_NoneLightningErrorZ handle_query_short_channel_ids(Uint8Array their_node_id, QueryShortChannelIds msg) {
216                 number ret = bindings.RoutingMessageHandler_handle_query_short_channel_ids(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
217                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
218                 this.ptrs_to.add(msg);
219                 return ret_hu_conv;
220         }
221
222 }