8a2a3b7c6a318f175fc826468cc756b8e93fdefb
[ldk-java] / c_sharp / src / org / ldk / structs / Result_CVec_UtxoZNoneZ.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 public class Result_CVec_UtxoZNoneZ : CommonBase {
9         Result_CVec_UtxoZNoneZ(object _dummy, long ptr) : base(ptr) { }
10         ~Result_CVec_UtxoZNoneZ() {
11                 if (ptr != 0) { bindings.CResult_CVec_UtxoZNoneZ_free(ptr); }
12         }
13
14         internal static Result_CVec_UtxoZNoneZ constr_from_ptr(long ptr) {
15                 if (bindings.CResult_CVec_UtxoZNoneZ_is_ok(ptr)) {
16                         return new Result_CVec_UtxoZNoneZ_OK(null, ptr);
17                 } else {
18                         return new Result_CVec_UtxoZNoneZ_Err(null, ptr);
19                 }
20         }
21         public class Result_CVec_UtxoZNoneZ_OK : Result_CVec_UtxoZNoneZ {
22                 public readonly Utxo[] res;
23                 internal Result_CVec_UtxoZNoneZ_OK(object _dummy, long ptr) : base(_dummy, ptr) {
24                         long[] res = bindings.CResult_CVec_UtxoZNoneZ_get_ok(ptr);
25                         int res_conv_6_len = res.Length;
26                         Utxo[] res_conv_6_arr = new Utxo[res_conv_6_len];
27                         for (int g = 0; g < res_conv_6_len; g++) {
28                                 long res_conv_6 = res[g];
29                                 org.ldk.structs.Utxo res_conv_6_hu_conv = null; if (res_conv_6 < 0 || res_conv_6 > 4096) { res_conv_6_hu_conv = new org.ldk.structs.Utxo(null, res_conv_6); }
30                                 if (res_conv_6_hu_conv != null) { res_conv_6_hu_conv.ptrs_to.AddLast(this); };
31                                 res_conv_6_arr[g] = res_conv_6_hu_conv;
32                         }
33                         this.res = res_conv_6_arr;
34                 }
35         }
36
37         public class Result_CVec_UtxoZNoneZ_Err : Result_CVec_UtxoZNoneZ {
38                 internal Result_CVec_UtxoZNoneZ_Err(object _dummy, long ptr) : base(_dummy, ptr) {
39                 }
40         }
41
42         /**
43          * Creates a new CResult_CVec_UtxoZNoneZ in the success state.
44          */
45         public static Result_CVec_UtxoZNoneZ ok(Utxo[] o) {
46                 long ret = bindings.CResult_CVec_UtxoZNoneZ_ok(o != null ? InternalUtils.mapArray(o, o_conv_6 => o_conv_6 == null ? 0 : o_conv_6.ptr) : null);
47                 GC.KeepAlive(o);
48                 if (ret >= 0 && ret <= 4096) { return null; }
49                 Result_CVec_UtxoZNoneZ ret_hu_conv = Result_CVec_UtxoZNoneZ.constr_from_ptr(ret);
50                 foreach (Utxo o_conv_6 in o) { if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(o_conv_6); }; };
51                 return ret_hu_conv;
52         }
53
54         /**
55          * Creates a new CResult_CVec_UtxoZNoneZ in the error state.
56          */
57         public static Result_CVec_UtxoZNoneZ err() {
58                 long ret = bindings.CResult_CVec_UtxoZNoneZ_err();
59                 if (ret >= 0 && ret <= 4096) { return null; }
60                 Result_CVec_UtxoZNoneZ ret_hu_conv = Result_CVec_UtxoZNoneZ.constr_from_ptr(ret);
61                 return ret_hu_conv;
62         }
63
64         /**
65          * Checks if the given object is currently in the success state
66          */
67         public bool is_ok() {
68                 bool ret = bindings.CResult_CVec_UtxoZNoneZ_is_ok(this.ptr);
69                 GC.KeepAlive(this);
70                 return ret;
71         }
72
73         internal long clone_ptr() {
74                 long ret = bindings.CResult_CVec_UtxoZNoneZ_clone_ptr(this.ptr);
75                 GC.KeepAlive(this);
76                 return ret;
77         }
78
79         /**
80          * Creates a new CResult_CVec_UtxoZNoneZ which has the same data as `orig`
81          * but with all dynamically-allocated buffers duplicated in new buffers.
82          */
83         public Result_CVec_UtxoZNoneZ clone() {
84                 long ret = bindings.CResult_CVec_UtxoZNoneZ_clone(this.ptr);
85                 GC.KeepAlive(this);
86                 if (ret >= 0 && ret <= 4096) { return null; }
87                 Result_CVec_UtxoZNoneZ ret_hu_conv = Result_CVec_UtxoZNoneZ.constr_from_ptr(ret);
88                 return ret_hu_conv;
89         }
90
91 }
92 } } }