Bindings updates
[ldk-java] / ts / structs / Persist.ts
1
2             
3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
5
6
7
8             export class Persist extends CommonBase {
9
10                 bindings_instance?: bindings.LDKPersist;
11
12                 constructor(ptr?: number, arg?: bindings.LDKPersist) {
13                     if (Number.isFinite(ptr)) {
14                                         super(ptr);
15                                         this.bindings_instance = null;
16                                     } else {
17                                         // TODO: private constructor instantiation
18                                         super(bindings.LDKPersist_new(arg));
19                                         this.ptrs_to.push(arg);
20                                         
21                                     }
22                 }
23
24                 protected finalize() {
25                     if (this.ptr != 0) {
26                         bindings.Persist_free(this.ptr);
27                     }
28                     super.finalize();
29                 }
30
31                 static new_impl(arg: PersistInterface): Persist {
32                     const impl_holder: LDKPersistHolder = new LDKPersistHolder();
33                     let structImplementation = <bindings.LDKPersist>{
34                         // todo: in-line interface filling
35                         persist_new_channel (id: number, data: number): number {
36                                                         const id_hu_conv: OutPoint = new OutPoint(null, id);
37                                                         const data_hu_conv: ChannelMonitor = new ChannelMonitor(null, data);
38                                                         Result_NoneChannelMonitorUpdateErrZ ret = arg.persist_new_channel(id_hu_conv, data_hu_conv);
39                                 result: number = ret != null ? ret.ptr : 0;
40                                 return result;
41                                                 },
42
43                                                 update_persisted_channel (id: number, update: number, data: number): number {
44                                                         const id_hu_conv: OutPoint = new OutPoint(null, id);
45                                                         const update_hu_conv: ChannelMonitorUpdate = new ChannelMonitorUpdate(null, update);
46                                                         const data_hu_conv: ChannelMonitor = new ChannelMonitor(null, data);
47                                                         Result_NoneChannelMonitorUpdateErrZ ret = arg.update_persisted_channel(id_hu_conv, update_hu_conv, data_hu_conv);
48                                 result: number = ret != null ? ret.ptr : 0;
49                                 return result;
50                                                 },
51
52                                                 
53                     };
54                     impl_holder.held = new Persist (null, structImplementation);
55                 }
56             }
57
58             export interface PersistInterface {
59                 persist_new_channel(id: OutPoint, data: ChannelMonitor): Result_NoneChannelMonitorUpdateErrZ;
60                                 update_persisted_channel(id: OutPoint, update: ChannelMonitorUpdate, data: ChannelMonitor): Result_NoneChannelMonitorUpdateErrZ;
61                                 
62             }
63
64             class LDKPersistHolder {
65                 held: Persist;
66             }
67         public Result_NoneChannelMonitorUpdateErrZ persist_new_channel(OutPoint id, ChannelMonitor data) {
68                 number ret = bindings.Persist_persist_new_channel(this.ptr, id == null ? 0 : id.ptr & ~1, data == null ? 0 : data.ptr & ~1);
69                 Result_NoneChannelMonitorUpdateErrZ ret_hu_conv = Result_NoneChannelMonitorUpdateErrZ.constr_from_ptr(ret);
70                 this.ptrs_to.add(id);
71                 this.ptrs_to.add(data);
72                 return ret_hu_conv;
73         }
74
75         public Result_NoneChannelMonitorUpdateErrZ update_persisted_channel(OutPoint id, ChannelMonitorUpdate update, ChannelMonitor data) {
76                 number ret = bindings.Persist_update_persisted_channel(this.ptr, id == null ? 0 : id.ptr & ~1, update == null ? 0 : update.ptr & ~1, data == null ? 0 : data.ptr & ~1);
77                 Result_NoneChannelMonitorUpdateErrZ ret_hu_conv = Result_NoneChannelMonitorUpdateErrZ.constr_from_ptr(ret);
78                 this.ptrs_to.add(id);
79                 this.ptrs_to.add(update);
80                 this.ptrs_to.add(data);
81                 return ret_hu_conv;
82         }
83
84 }