Update auto-generated bindings
[ldk-java] / ts / structs / Watch.ts
1
2             
3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
5
6
7
8             export class Watch extends CommonBase {
9
10                 bindings_instance?: bindings.LDKWatch;
11
12                 constructor(ptr?: number, arg?: bindings.LDKWatch) {
13                     if (Number.isFinite(ptr)) {
14                                         super(ptr);
15                                         this.bindings_instance = null;
16                                     } else {
17                                         // TODO: private constructor instantiation
18                                         super(bindings.LDKWatch_new(arg));
19                                         this.ptrs_to.push(arg);
20                                         
21                                     }
22                 }
23
24                 protected finalize() {
25                     if (this.ptr != 0) {
26                         bindings.Watch_free(this.ptr);
27                     }
28                     super.finalize();
29                 }
30
31                 static new_impl(arg: WatchInterface): Watch {
32                     const impl_holder: LDKWatchHolder = new LDKWatchHolder();
33                     let structImplementation = <bindings.LDKWatch>{
34                         // todo: in-line interface filling
35                         watch_channel (funding_txo: number, monitor: number): number {
36                                                         const funding_txo_hu_conv: OutPoint = new OutPoint(null, funding_txo);
37                                 funding_txo_hu_conv.ptrs_to.add(this);
38                                                         const monitor_hu_conv: ChannelMonitor = new ChannelMonitor(null, monitor);
39                                 monitor_hu_conv.ptrs_to.add(this);
40                                                         Result_NoneChannelMonitorUpdateErrZ ret = arg.watch_channel(funding_txo_hu_conv, monitor_hu_conv);
41                                 result: number = ret == null ? 0 : ret.clone_ptr();
42                                 return result;
43                                                 },
44
45                                                 update_channel (funding_txo: number, update: number): number {
46                                                         const funding_txo_hu_conv: OutPoint = new OutPoint(null, funding_txo);
47                                 funding_txo_hu_conv.ptrs_to.add(this);
48                                                         const update_hu_conv: ChannelMonitorUpdate = new ChannelMonitorUpdate(null, update);
49                                 update_hu_conv.ptrs_to.add(this);
50                                                         Result_NoneChannelMonitorUpdateErrZ ret = arg.update_channel(funding_txo_hu_conv, update_hu_conv);
51                                 result: number = ret == null ? 0 : ret.clone_ptr();
52                                 return result;
53                                                 },
54
55                                                 release_pending_monitor_events (): number[] {
56                                                         MonitorEvent[] ret = arg.release_pending_monitor_events();
57                                 result: number[] = ret != null ? Arrays.stream(ret).map(ret_conv_14 -> ret_conv_14 == null ? 0 : ret_conv_14.clone_ptr()).toArray(number[]::new) : null;
58                                 return result;
59                                                 },
60
61                                                 
62                     };
63                     impl_holder.held = new Watch (null, structImplementation);
64                 }
65             }
66
67             export interface WatchInterface {
68                 watch_channel(funding_txo: OutPoint, monitor: ChannelMonitor): Result_NoneChannelMonitorUpdateErrZ;
69                                 update_channel(funding_txo: OutPoint, update: ChannelMonitorUpdate): Result_NoneChannelMonitorUpdateErrZ;
70                                 release_pending_monitor_events(): MonitorEvent[];
71                                 
72             }
73
74             class LDKWatchHolder {
75                 held: Watch;
76             }
77         public Result_NoneChannelMonitorUpdateErrZ watch_channel(OutPoint funding_txo, ChannelMonitor monitor) {
78                 number ret = bindings.Watch_watch_channel(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, monitor == null ? 0 : monitor.ptr & ~1);
79                 Result_NoneChannelMonitorUpdateErrZ ret_hu_conv = Result_NoneChannelMonitorUpdateErrZ.constr_from_ptr(ret);
80                 return ret_hu_conv;
81         }
82
83         public Result_NoneChannelMonitorUpdateErrZ update_channel(OutPoint funding_txo, ChannelMonitorUpdate update) {
84                 number ret = bindings.Watch_update_channel(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, update == null ? 0 : update.ptr & ~1);
85                 Result_NoneChannelMonitorUpdateErrZ ret_hu_conv = Result_NoneChannelMonitorUpdateErrZ.constr_from_ptr(ret);
86                 return ret_hu_conv;
87         }
88
89         public MonitorEvent[] release_pending_monitor_events() {
90                 number[] ret = bindings.Watch_release_pending_monitor_events(this.ptr);
91                 MonitorEvent[] ret_conv_14_arr = new MonitorEvent[ret.length];
92                 for (int o = 0; o < ret.length; o++) {
93                         number ret_conv_14 = ret[o];
94                         MonitorEvent ret_conv_14_hu_conv = MonitorEvent.constr_from_ptr(ret_conv_14);
95                         ret_conv_14_hu_conv.ptrs_to.add(this);
96                         ret_conv_14_arr[o] = ret_conv_14_hu_conv;
97                 }
98                 return ret_conv_14_arr;
99         }
100
101 }