Update auto-generated bindings
[ldk-java] / src / main / java / org / ldk / structs / Fallback.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
8
9 /**
10  * Fallback address in case no LN payment is possible
11  */
12 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
13 public class Fallback extends CommonBase {
14         private Fallback(Object _dummy, long ptr) { super(ptr); }
15         @Override @SuppressWarnings("deprecation")
16         protected void finalize() throws Throwable {
17                 super.finalize();
18                 if (ptr != 0) { bindings.Fallback_free(ptr); }
19         }
20         static Fallback constr_from_ptr(long ptr) {
21                 bindings.LDKFallback raw_val = bindings.LDKFallback_ref_from_ptr(ptr);
22                 if (raw_val.getClass() == bindings.LDKFallback.SegWitProgram.class) {
23                         return new SegWitProgram(ptr, (bindings.LDKFallback.SegWitProgram)raw_val);
24                 }
25                 if (raw_val.getClass() == bindings.LDKFallback.PubKeyHash.class) {
26                         return new PubKeyHash(ptr, (bindings.LDKFallback.PubKeyHash)raw_val);
27                 }
28                 if (raw_val.getClass() == bindings.LDKFallback.ScriptHash.class) {
29                         return new ScriptHash(ptr, (bindings.LDKFallback.ScriptHash)raw_val);
30                 }
31                 assert false; return null; // Unreachable without extending the (internal) bindings interface
32         }
33
34         public final static class SegWitProgram extends Fallback {
35                 public final UInt5 version;
36                 public final byte[] program;
37                 private SegWitProgram(long ptr, bindings.LDKFallback.SegWitProgram obj) {
38                         super(null, ptr);
39                         byte version = obj.version;
40                         UInt5 version_conv = new UInt5(version);
41                         this.version = version_conv;
42                         this.program = obj.program;
43                 }
44         }
45         public final static class PubKeyHash extends Fallback {
46                 public final byte[] pub_key_hash;
47                 private PubKeyHash(long ptr, bindings.LDKFallback.PubKeyHash obj) {
48                         super(null, ptr);
49                         this.pub_key_hash = obj.pub_key_hash;
50                 }
51         }
52         public final static class ScriptHash extends Fallback {
53                 public final byte[] script_hash;
54                 private ScriptHash(long ptr, bindings.LDKFallback.ScriptHash obj) {
55                         super(null, ptr);
56                         this.script_hash = obj.script_hash;
57                 }
58         }
59         /**
60          * Creates a copy of the Fallback
61          */
62         public Fallback clone() {
63                 long ret = bindings.Fallback_clone(this.ptr);
64                 Fallback ret_hu_conv = Fallback.constr_from_ptr(ret);
65                 ret_hu_conv.ptrs_to.add(this);
66                 return ret_hu_conv;
67         }
68
69         /**
70          * Checks if two Fallbacks contain equal inner contents.
71          * This ignores pointers and is_owned flags and looks at the values in fields.
72          */
73         public boolean eq(Fallback b) {
74                 boolean ret = bindings.Fallback_eq(this.ptr, b == null ? 0 : b.ptr & ~1);
75                 this.ptrs_to.add(b);
76                 return ret;
77         }
78
79 }