Update auto-updated Java files
[ldk-java] / ts / structs / NetAddress.ts
1
2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
4
5 export default class NetAddress extends CommonBase {
6         protected constructor(_dummy: object, ptr: number) { super(ptr); }
7         protected finalize() {
8                 super.finalize();
9                 if (this.ptr != 0) { bindings.NetAddress_free(this.ptr); }
10         }
11         static constr_from_ptr(ptr: number): NetAddress {
12                 const raw_val: bindings.LDKNetAddress = bindings.LDKNetAddress_ref_from_ptr(ptr);
13                 if (raw_val instanceof bindings.LDKNetAddress.IPv4) {
14                         return new IPv4(this.ptr, raw_val);
15                 }
16                 if (raw_val instanceof bindings.LDKNetAddress.IPv6) {
17                         return new IPv6(this.ptr, raw_val);
18                 }
19                 if (raw_val instanceof bindings.LDKNetAddress.OnionV2) {
20                         return new OnionV2(this.ptr, raw_val);
21                 }
22                 if (raw_val instanceof bindings.LDKNetAddress.OnionV3) {
23                         return new OnionV3(this.ptr, raw_val);
24                 }
25                 throw new Error('oops, this should be unreachable'); // Unreachable without extending the (internal) bindings interface
26         }
27
28 }
29 export class IPv4 extends NetAddress {
30         public addr: Uint8Array;
31         public port: number;
32         private constructor(ptr: number, obj: bindings.LDKNetAddress.IPv4) {
33                 super(null, ptr);
34                 this.addr = obj.addr;
35                 this.port = obj.port;
36         }
37 }
38 export class IPv6 extends NetAddress {
39         public addr: Uint8Array;
40         public port: number;
41         private constructor(ptr: number, obj: bindings.LDKNetAddress.IPv6) {
42                 super(null, ptr);
43                 this.addr = obj.addr;
44                 this.port = obj.port;
45         }
46 }
47 export class OnionV2 extends NetAddress {
48         public onion_v2: Uint8Array;
49         private constructor(ptr: number, obj: bindings.LDKNetAddress.OnionV2) {
50                 super(null, ptr);
51                 this.onion_v2 = obj.onion_v2;
52         }
53 }
54 export class OnionV3 extends NetAddress {
55         public ed25519_pubkey: Uint8Array;
56         public checksum: number;
57         public version: number;
58         public port: number;
59         private constructor(ptr: number, obj: bindings.LDKNetAddress.OnionV3) {
60                 super(null, ptr);
61                 this.ed25519_pubkey = obj.ed25519_pubkey;
62                 this.checksum = obj.checksum;
63                 this.version = obj.version;
64                 this.port = obj.port;
65         }
66 }
67         public number clone_ptr() {
68                 number ret = bindings.NetAddress_clone_ptr(this.ptr);
69                 return ret;
70         }
71
72         public NetAddress clone() {
73                 number ret = bindings.NetAddress_clone(this.ptr);
74                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
75                 ret_hu_conv.ptrs_to.add(this);
76                 return ret_hu_conv;
77         }
78
79         public static NetAddress constructor_ipv4(Uint8Array addr, number port) {
80                 number ret = bindings.NetAddress_ipv4(InternalUtils.check_arr_len(addr, 4), port);
81                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
82                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
83                 return ret_hu_conv;
84         }
85
86         public static NetAddress constructor_ipv6(Uint8Array addr, number port) {
87                 number ret = bindings.NetAddress_ipv6(InternalUtils.check_arr_len(addr, 16), port);
88                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
89                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
90                 return ret_hu_conv;
91         }
92
93         public static NetAddress constructor_onion_v2(Uint8Array a) {
94                 number ret = bindings.NetAddress_onion_v2(InternalUtils.check_arr_len(a, 12));
95                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
96                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
97                 return ret_hu_conv;
98         }
99
100         public static NetAddress constructor_onion_v3(Uint8Array ed25519_pubkey, number checksum, number version, number port) {
101                 number ret = bindings.NetAddress_onion_v3(InternalUtils.check_arr_len(ed25519_pubkey, 32), checksum, version, port);
102                 NetAddress ret_hu_conv = NetAddress.constr_from_ptr(ret);
103                 ret_hu_conv.ptrs_to.add(ret_hu_conv);
104                 return ret_hu_conv;
105         }
106
107         public Uint8Array write() {
108                 Uint8Array ret = bindings.NetAddress_write(this.ptr);
109                 return ret;
110         }
111
112         public static Result_NetAddressDecodeErrorZ constructor_read(Uint8Array ser) {
113                 number ret = bindings.NetAddress_read(ser);
114                 Result_NetAddressDecodeErrorZ ret_hu_conv = Result_NetAddressDecodeErrorZ.constr_from_ptr(ret);
115                 return ret_hu_conv;
116         }
117
118 }