[C#] Update auto-generated C# bindings
[ldk-java] / c_sharp / src / org / ldk / structs / TwoTuple_PublicKeyCVec_SocketAddressZZ.cs
1 using org.ldk.impl;
2 using org.ldk.enums;
3 using org.ldk.util;
4 using System;
5
6 namespace org { namespace ldk { namespace structs {
7
8
9 /**
10  * A Tuple
11  */
12 public class TwoTuple_PublicKeyCVec_SocketAddressZZ : CommonBase {
13         internal TwoTuple_PublicKeyCVec_SocketAddressZZ(object _dummy, long ptr) : base(ptr) { }
14         ~TwoTuple_PublicKeyCVec_SocketAddressZZ() {
15                 if (ptr != 0) { bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_free(ptr); }
16         }
17
18         /**
19          * 
20          */
21         public byte[] get_a() {
22                 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_get_a(this.ptr);
23                 GC.KeepAlive(this);
24                 if (ret >= 0 && ret <= 4096) { return null; }
25                 byte[] ret_conv = InternalUtils.decodeUint8Array(ret);
26                 return ret_conv;
27         }
28
29         /**
30          * 
31          */
32         public SocketAddress[] get_b() {
33                 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_get_b(this.ptr);
34                 GC.KeepAlive(this);
35                 if (ret >= 0 && ret <= 4096) { return null; }
36                 int ret_conv_15_len = InternalUtils.getArrayLength(ret);
37                 SocketAddress[] ret_conv_15_arr = new SocketAddress[ret_conv_15_len];
38                 for (int p = 0; p < ret_conv_15_len; p++) {
39                         long ret_conv_15 = InternalUtils.getU64ArrayElem(ret, p);
40                         org.ldk.structs.SocketAddress ret_conv_15_hu_conv = org.ldk.structs.SocketAddress.constr_from_ptr(ret_conv_15);
41                         if (ret_conv_15_hu_conv != null) { ret_conv_15_hu_conv.ptrs_to.AddLast(this); };
42                         ret_conv_15_arr[p] = ret_conv_15_hu_conv;
43                 }
44                 bindings.free_buffer(ret);
45                 return ret_conv_15_arr;
46         }
47
48         internal long clone_ptr() {
49                 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_clone_ptr(this.ptr);
50                 GC.KeepAlive(this);
51                 return ret;
52         }
53
54         /**
55          * Creates a new tuple which has the same data as `orig`
56          * but with all dynamically-allocated buffers duplicated in new buffers.
57          */
58         public TwoTuple_PublicKeyCVec_SocketAddressZZ clone() {
59                 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_clone(this.ptr);
60                 GC.KeepAlive(this);
61                 if (ret >= 0 && ret <= 4096) { return null; }
62                 TwoTuple_PublicKeyCVec_SocketAddressZZ ret_hu_conv = new TwoTuple_PublicKeyCVec_SocketAddressZZ(null, ret);
63                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
64                 return ret_hu_conv;
65         }
66
67         /**
68          * Creates a new C2Tuple_PublicKeyCVec_SocketAddressZZ from the contained elements.
69          */
70         public static TwoTuple_PublicKeyCVec_SocketAddressZZ of(byte[] a, SocketAddress[] b) {
71                 long ret = bindings.C2Tuple_PublicKeyCVec_SocketAddressZZ_new(InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(a, 33)), InternalUtils.encodeUint64Array(InternalUtils.mapArray(b, b_conv_15 => b_conv_15.ptr)));
72                 GC.KeepAlive(a);
73                 GC.KeepAlive(b);
74                 if (ret >= 0 && ret <= 4096) { return null; }
75                 TwoTuple_PublicKeyCVec_SocketAddressZZ ret_hu_conv = new TwoTuple_PublicKeyCVec_SocketAddressZZ(null, ret);
76                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
77                 foreach (SocketAddress b_conv_15 in b) { if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(b_conv_15); }; };
78                 return ret_hu_conv;
79         }
80
81 }
82 } } }