[C#] Run tests against release library in determinism CI run
[ldk-java] / src / main / java / org / ldk / structs / Result_TrustedClosingTransactionNoneZ.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5 import org.ldk.util.*;
6 import java.util.Arrays;
7 import java.lang.ref.Reference;
8 import javax.annotation.Nullable;
9
10 public class Result_TrustedClosingTransactionNoneZ extends CommonBase {
11         private Result_TrustedClosingTransactionNoneZ(Object _dummy, long ptr) { super(ptr); }
12         protected void finalize() throws Throwable {
13                 if (ptr != 0) { bindings.CResult_TrustedClosingTransactionNoneZ_free(ptr); } super.finalize();
14         }
15
16         protected void force_free() {
17                 if (ptr != 0) { bindings.CResult_TrustedClosingTransactionNoneZ_free(ptr); ptr = 0; }
18         }
19
20         static Result_TrustedClosingTransactionNoneZ constr_from_ptr(long ptr) {
21                 if (bindings.CResult_TrustedClosingTransactionNoneZ_is_ok(ptr)) {
22                         return new Result_TrustedClosingTransactionNoneZ_OK(null, ptr);
23                 } else {
24                         return new Result_TrustedClosingTransactionNoneZ_Err(null, ptr);
25                 }
26         }
27         public static final class Result_TrustedClosingTransactionNoneZ_OK extends Result_TrustedClosingTransactionNoneZ {
28                 public final TrustedClosingTransaction res;
29                 private Result_TrustedClosingTransactionNoneZ_OK(Object _dummy, long ptr) {
30                         super(_dummy, ptr);
31                         long res = bindings.CResult_TrustedClosingTransactionNoneZ_get_ok(ptr);
32                         org.ldk.structs.TrustedClosingTransaction res_hu_conv = null; if (res < 0 || res > 4096) { res_hu_conv = new org.ldk.structs.TrustedClosingTransaction(null, res); }
33                         if (res_hu_conv != null) { res_hu_conv.ptrs_to.add(this); };
34                         this.res = res_hu_conv;
35                 }
36         }
37
38         public static final class Result_TrustedClosingTransactionNoneZ_Err extends Result_TrustedClosingTransactionNoneZ {
39                 private Result_TrustedClosingTransactionNoneZ_Err(Object _dummy, long ptr) {
40                         super(_dummy, ptr);
41                 }
42         }
43
44         /**
45          * Creates a new CResult_TrustedClosingTransactionNoneZ in the success state.
46          */
47         public static Result_TrustedClosingTransactionNoneZ ok(org.ldk.structs.TrustedClosingTransaction o) {
48                 long ret = bindings.CResult_TrustedClosingTransactionNoneZ_ok(o.ptr);
49                 Reference.reachabilityFence(o);
50                 if (ret >= 0 && ret <= 4096) { return null; }
51                 Result_TrustedClosingTransactionNoneZ ret_hu_conv = Result_TrustedClosingTransactionNoneZ.constr_from_ptr(ret);
52                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.add(o); };
53                 // Due to rust's strict-ownership memory model, in some cases we need to "move"
54                 // an object to pass exclusive ownership to the function being called.
55                 // In most cases, we avoid ret_hu_conv being visible in GC'd languages by cloning the object
56                 // at the FFI layer, creating a new object which Rust can claim ownership of
57                 // However, in some cases (eg here), there is no way to clone an object, and thus
58                 // we actually have to pass full ownership to Rust.
59                 // Thus, after ret_hu_conv call, o is reset to null and is now a dummy object.
60                 o.ptr = 0;;
61                 return ret_hu_conv;
62         }
63
64         /**
65          * Creates a new CResult_TrustedClosingTransactionNoneZ in the error state.
66          */
67         public static Result_TrustedClosingTransactionNoneZ err() {
68                 long ret = bindings.CResult_TrustedClosingTransactionNoneZ_err();
69                 if (ret >= 0 && ret <= 4096) { return null; }
70                 Result_TrustedClosingTransactionNoneZ ret_hu_conv = Result_TrustedClosingTransactionNoneZ.constr_from_ptr(ret);
71                 return ret_hu_conv;
72         }
73
74         /**
75          * Checks if the given object is currently in the success state
76          */
77         public boolean is_ok() {
78                 boolean ret = bindings.CResult_TrustedClosingTransactionNoneZ_is_ok(this.ptr);
79                 Reference.reachabilityFence(this);
80                 return ret;
81         }
82
83 }