Bindings updates
[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                                                 handle_htlc_fail_channel_update (update: number): void {
58                                                         HTLCFailChannelUpdate update_hu_conv = HTLCFailChannelUpdate.constr_from_ptr(update);
59                                                         arg.handle_htlc_fail_channel_update(update_hu_conv);
60                                                 },
61
62                                                 get_next_channel_announcements (starting_point: number, batch_amount: number): number[] {
63                                                         ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] ret = arg.get_next_channel_announcements(starting_point, batch_amount);
64                                 result: number[] = (number[])Arrays.stream(ret).map(arr_conv_63 -> bindings.C3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_new(arr_conv_63.a == null ? 0 : arr_conv_63.a.ptr & ~1/*XXX: this.ptrs_to.add(arr_conv_63_a)*/, arr_conv_63.b == null ? 0 : arr_conv_63.b.ptr & ~1/*XXX: this.ptrs_to.add(arr_conv_63_b)*/, arr_conv_63.c == null ? 0 : arr_conv_63.c.ptr & ~1/*XXX: this.ptrs_to.add(arr_conv_63_c)*/)).toArray();
65                                 /* TODO 2 ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>  */;
66                                 return result;
67                                                 },
68
69                                                 get_next_node_announcements (starting_point: Uint8Array, batch_amount: number): number[] {
70                                                         NodeAnnouncement[] ret = arg.get_next_node_announcements(starting_point, batch_amount);
71                                 result: number[] = (number[])Arrays.stream(ret).map(arr_conv_18 -> arr_conv_18 == null ? 0 : arr_conv_18.ptr & ~1).toArray();
72                                 /* TODO 2 NodeAnnouncement  */;
73                                 return result;
74                                                 },
75
76                                                 sync_routing_table (their_node_id: Uint8Array, init: number): void {
77                                                         const init_hu_conv: Init = new Init(null, init);
78                                                         arg.sync_routing_table(their_node_id, init_hu_conv);
79                                                 },
80
81                                                 handle_reply_channel_range (their_node_id: Uint8Array, msg: number): number {
82                                                         const msg_hu_conv: ReplyChannelRange = new ReplyChannelRange(null, msg);
83                                                         Result_NoneLightningErrorZ ret = arg.handle_reply_channel_range(their_node_id, msg_hu_conv);
84                                 result: number = ret != null ? ret.ptr : 0;
85                                 return result;
86                                                 },
87
88                                                 handle_reply_short_channel_ids_end (their_node_id: Uint8Array, msg: number): number {
89                                                         const msg_hu_conv: ReplyShortChannelIdsEnd = new ReplyShortChannelIdsEnd(null, msg);
90                                                         Result_NoneLightningErrorZ ret = arg.handle_reply_short_channel_ids_end(their_node_id, msg_hu_conv);
91                                 result: number = ret != null ? ret.ptr : 0;
92                                 return result;
93                                                 },
94
95                                                 handle_query_channel_range (their_node_id: Uint8Array, msg: number): number {
96                                                         const msg_hu_conv: QueryChannelRange = new QueryChannelRange(null, msg);
97                                                         Result_NoneLightningErrorZ ret = arg.handle_query_channel_range(their_node_id, msg_hu_conv);
98                                 result: number = ret != null ? ret.ptr : 0;
99                                 return result;
100                                                 },
101
102                                                 handle_query_short_channel_ids (their_node_id: Uint8Array, msg: number): number {
103                                                         const msg_hu_conv: QueryShortChannelIds = new QueryShortChannelIds(null, msg);
104                                                         Result_NoneLightningErrorZ ret = arg.handle_query_short_channel_ids(their_node_id, msg_hu_conv);
105                                 result: number = ret != null ? ret.ptr : 0;
106                                 return result;
107                                                 },
108
109                                                 
110                     };
111                     impl_holder.held = new RoutingMessageHandler (null, structImplementation, MessageSendEventsProvider.new_impl(MessageSendEventsProvider_impl).bindings_instance);
112                 }
113             }
114
115             export interface RoutingMessageHandlerInterface {
116                 handle_node_announcement(msg: NodeAnnouncement): Result_boolLightningErrorZ;
117                                 handle_channel_announcement(msg: ChannelAnnouncement): Result_boolLightningErrorZ;
118                                 handle_channel_update(msg: ChannelUpdate): Result_boolLightningErrorZ;
119                                 handle_htlc_fail_channel_update(update: HTLCFailChannelUpdate): void;
120                                 get_next_channel_announcements(starting_point: number, batch_amount: number): ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[];
121                                 get_next_node_announcements(starting_point: Uint8Array, batch_amount: number): NodeAnnouncement[];
122                                 sync_routing_table(their_node_id: Uint8Array, init: Init): void;
123                                 handle_reply_channel_range(their_node_id: Uint8Array, msg: ReplyChannelRange): Result_NoneLightningErrorZ;
124                                 handle_reply_short_channel_ids_end(their_node_id: Uint8Array, msg: ReplyShortChannelIdsEnd): Result_NoneLightningErrorZ;
125                                 handle_query_channel_range(their_node_id: Uint8Array, msg: QueryChannelRange): Result_NoneLightningErrorZ;
126                                 handle_query_short_channel_ids(their_node_id: Uint8Array, msg: QueryShortChannelIds): Result_NoneLightningErrorZ;
127                                 
128             }
129
130             class LDKRoutingMessageHandlerHolder {
131                 held: RoutingMessageHandler;
132             }
133         public Result_boolLightningErrorZ handle_node_announcement(NodeAnnouncement msg) {
134                 number ret = bindings.RoutingMessageHandler_handle_node_announcement(this.ptr, msg == null ? 0 : msg.ptr & ~1);
135                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
136                 this.ptrs_to.add(msg);
137                 return ret_hu_conv;
138         }
139
140         public Result_boolLightningErrorZ handle_channel_announcement(ChannelAnnouncement msg) {
141                 number ret = bindings.RoutingMessageHandler_handle_channel_announcement(this.ptr, msg == null ? 0 : msg.ptr & ~1);
142                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
143                 this.ptrs_to.add(msg);
144                 return ret_hu_conv;
145         }
146
147         public Result_boolLightningErrorZ handle_channel_update(ChannelUpdate msg) {
148                 number ret = bindings.RoutingMessageHandler_handle_channel_update(this.ptr, msg == null ? 0 : msg.ptr & ~1);
149                 Result_boolLightningErrorZ ret_hu_conv = Result_boolLightningErrorZ.constr_from_ptr(ret);
150                 this.ptrs_to.add(msg);
151                 return ret_hu_conv;
152         }
153
154         public void handle_htlc_fail_channel_update(HTLCFailChannelUpdate update) {
155                 bindings.RoutingMessageHandler_handle_htlc_fail_channel_update(this.ptr, update == null ? 0 : update.ptr & ~1);
156                 this.ptrs_to.add(update);
157         }
158
159         public ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] get_next_channel_announcements(number starting_point, number batch_amount) {
160                 number[] ret = bindings.RoutingMessageHandler_get_next_channel_announcements(this.ptr, starting_point, batch_amount);
161                 ThreeTuple<ChannelAnnouncement, ChannelUpdate, ChannelUpdate>[] arr_conv_63_arr = new ThreeTuple[ret.length];
162                 for (int l = 0; l < ret.length; l++) {
163                         number arr_conv_63 = ret[l];
164                         number arr_conv_63_a = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_a(arr_conv_63);
165                         const arr_conv_63_a_hu_conv: ChannelAnnouncement = new ChannelAnnouncement(null, arr_conv_63_a);;
166                         number arr_conv_63_b = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_b(arr_conv_63);
167                         const arr_conv_63_b_hu_conv: ChannelUpdate = new ChannelUpdate(null, arr_conv_63_b);;
168                         number arr_conv_63_c = bindings.LDKC3Tuple_ChannelAnnouncementChannelUpdateChannelUpdateZ_get_c(arr_conv_63);
169                         const arr_conv_63_c_hu_conv: ChannelUpdate = new ChannelUpdate(null, arr_conv_63_c);;
170                         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);
171                         arr_conv_63_arr[l] = arr_conv_63_conv;
172                 }
173                 return arr_conv_63_arr;
174         }
175
176         public NodeAnnouncement[] get_next_node_announcements(Uint8Array starting_point, number batch_amount) {
177                 number[] ret = bindings.RoutingMessageHandler_get_next_node_announcements(this.ptr, starting_point, batch_amount);
178                 NodeAnnouncement[] arr_conv_18_arr = new NodeAnnouncement[ret.length];
179                 for (int s = 0; s < ret.length; s++) {
180                         number arr_conv_18 = ret[s];
181                         const arr_conv_18_hu_conv: NodeAnnouncement = new NodeAnnouncement(null, arr_conv_18);
182                         arr_conv_18_arr[s] = arr_conv_18_hu_conv;
183                 }
184                 return arr_conv_18_arr;
185         }
186
187         public void sync_routing_table(Uint8Array their_node_id, Init init) {
188                 bindings.RoutingMessageHandler_sync_routing_table(this.ptr, their_node_id, init == null ? 0 : init.ptr & ~1);
189                 this.ptrs_to.add(init);
190         }
191
192         public Result_NoneLightningErrorZ handle_reply_channel_range(Uint8Array their_node_id, ReplyChannelRange msg) {
193                 number ret = bindings.RoutingMessageHandler_handle_reply_channel_range(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
194                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
195                 this.ptrs_to.add(msg);
196                 return ret_hu_conv;
197         }
198
199         public Result_NoneLightningErrorZ handle_reply_short_channel_ids_end(Uint8Array their_node_id, ReplyShortChannelIdsEnd msg) {
200                 number ret = bindings.RoutingMessageHandler_handle_reply_short_channel_ids_end(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
201                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
202                 this.ptrs_to.add(msg);
203                 return ret_hu_conv;
204         }
205
206         public Result_NoneLightningErrorZ handle_query_channel_range(Uint8Array their_node_id, QueryChannelRange msg) {
207                 number ret = bindings.RoutingMessageHandler_handle_query_channel_range(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
208                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
209                 this.ptrs_to.add(msg);
210                 return ret_hu_conv;
211         }
212
213         public Result_NoneLightningErrorZ handle_query_short_channel_ids(Uint8Array their_node_id, QueryShortChannelIds msg) {
214                 number ret = bindings.RoutingMessageHandler_handle_query_short_channel_ids(this.ptr, their_node_id, msg == null ? 0 : msg.ptr & ~1);
215                 Result_NoneLightningErrorZ ret_hu_conv = Result_NoneLightningErrorZ.constr_from_ptr(ret);
216                 this.ptrs_to.add(msg);
217                 return ret_hu_conv;
218         }
219
220 }