[C#] Update auto-generated C# bindings
[ldk-java] / c_sharp / src / org / ldk / structs / TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ.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_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ : CommonBase {
13         internal TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ(object _dummy, long ptr) : base(ptr) { }
14         ~TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ() {
15                 if (ptr != 0) { bindings.C2Tuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ_free(ptr); }
16         }
17
18         /**
19          * 
20          */
21         public byte[] get_a() {
22                 long ret = bindings.C2Tuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ_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 TwoTuple_u32TxOutZ[] get_b() {
33                 long ret = bindings.C2Tuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ_get_b(this.ptr);
34                 GC.KeepAlive(this);
35                 if (ret >= 0 && ret <= 4096) { return null; }
36                 int ret_conv_20_len = InternalUtils.getArrayLength(ret);
37                 TwoTuple_u32TxOutZ[] ret_conv_20_arr = new TwoTuple_u32TxOutZ[ret_conv_20_len];
38                 for (int u = 0; u < ret_conv_20_len; u++) {
39                         long ret_conv_20 = InternalUtils.getU64ArrayElem(ret, u);
40                         TwoTuple_u32TxOutZ ret_conv_20_hu_conv = new TwoTuple_u32TxOutZ(null, ret_conv_20);
41                         if (ret_conv_20_hu_conv != null) { ret_conv_20_hu_conv.ptrs_to.AddLast(this); };
42                         ret_conv_20_arr[u] = ret_conv_20_hu_conv;
43                 }
44                 bindings.free_buffer(ret);
45                 return ret_conv_20_arr;
46         }
47
48         internal long clone_ptr() {
49                 long ret = bindings.C2Tuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ_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_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ clone() {
59                 long ret = bindings.C2Tuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ_clone(this.ptr);
60                 GC.KeepAlive(this);
61                 if (ret >= 0 && ret <= 4096) { return null; }
62                 TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ ret_hu_conv = new TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ(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_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ from the contained elements.
69          */
70         public static TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ of(byte[] a, TwoTuple_u32TxOutZ[] b) {
71                 long ret = bindings.C2Tuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ_new(InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(a, 32)), InternalUtils.encodeUint64Array(InternalUtils.mapArray(b, b_conv_20 => b_conv_20 != null ? b_conv_20.ptr : 0)));
72                 GC.KeepAlive(a);
73                 GC.KeepAlive(b);
74                 if (ret >= 0 && ret <= 4096) { return null; }
75                 TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ ret_hu_conv = new TwoTuple_ThirtyTwoBytesCVec_C2Tuple_u32TxOutZZZ(null, ret);
76                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
77                 return ret_hu_conv;
78         }
79
80 }
81 } } }