[C#] Update auto-generated C# bindings
[ldk-java] / c_sharp / src / org / ldk / structs / ParsedOnionMessageContents.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  * The contents of an [`OnionMessage`] as read from the wire.
10  * 
11  * [`OnionMessage`]: crate::ln::msgs::OnionMessage
12  */
13 public class ParsedOnionMessageContents : CommonBase {
14         protected ParsedOnionMessageContents(object _dummy, long ptr) : base(ptr) { }
15         ~ParsedOnionMessageContents() {
16                 if (ptr != 0) { bindings.ParsedOnionMessageContents_free(ptr); }
17         }
18
19         internal static ParsedOnionMessageContents constr_from_ptr(long ptr) {
20                 long raw_ty = bindings.LDKParsedOnionMessageContents_ty_from_ptr(ptr);
21                 switch (raw_ty) {
22                         case 0: return new ParsedOnionMessageContents_Offers(ptr);
23                         case 1: return new ParsedOnionMessageContents_Custom(ptr);
24                         default:
25                                 throw new ArgumentException("Impossible enum variant");
26                 }
27         }
28
29         /** A ParsedOnionMessageContents of type Offers */
30         public class ParsedOnionMessageContents_Offers : ParsedOnionMessageContents {
31                 public OffersMessage offers;
32                 internal ParsedOnionMessageContents_Offers(long ptr) : base(null, ptr) {
33                         long offers = bindings.LDKParsedOnionMessageContents_Offers_get_offers(ptr);
34                         org.ldk.structs.OffersMessage offers_hu_conv = org.ldk.structs.OffersMessage.constr_from_ptr(offers);
35                         if (offers_hu_conv != null) { offers_hu_conv.ptrs_to.AddLast(this); };
36                         this.offers = offers_hu_conv;
37                 }
38         }
39         /** A ParsedOnionMessageContents of type Custom */
40         public class ParsedOnionMessageContents_Custom : ParsedOnionMessageContents {
41                 public OnionMessageContents custom;
42                 internal ParsedOnionMessageContents_Custom(long ptr) : base(null, ptr) {
43                         long custom = bindings.LDKParsedOnionMessageContents_Custom_get_custom(ptr);
44                         OnionMessageContents ret_hu_conv = new OnionMessageContents(null, custom);
45                         if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
46                         this.custom = ret_hu_conv;
47                 }
48         }
49         internal long clone_ptr() {
50                 long ret = bindings.ParsedOnionMessageContents_clone_ptr(this.ptr);
51                 GC.KeepAlive(this);
52                 return ret;
53         }
54
55         /**
56          * Creates a copy of the ParsedOnionMessageContents
57          */
58         public ParsedOnionMessageContents clone() {
59                 long ret = bindings.ParsedOnionMessageContents_clone(this.ptr);
60                 GC.KeepAlive(this);
61                 if (ret >= 0 && ret <= 4096) { return null; }
62                 org.ldk.structs.ParsedOnionMessageContents ret_hu_conv = org.ldk.structs.ParsedOnionMessageContents.constr_from_ptr(ret);
63                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
64                 return ret_hu_conv;
65         }
66
67         /**
68          * Utility method to constructs a new Offers-variant ParsedOnionMessageContents
69          */
70         public static ParsedOnionMessageContents offers(org.ldk.structs.OffersMessage a) {
71                 long ret = bindings.ParsedOnionMessageContents_offers(a.ptr);
72                 GC.KeepAlive(a);
73                 if (ret >= 0 && ret <= 4096) { return null; }
74                 org.ldk.structs.ParsedOnionMessageContents ret_hu_conv = org.ldk.structs.ParsedOnionMessageContents.constr_from_ptr(ret);
75                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
76                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(a); };
77                 return ret_hu_conv;
78         }
79
80         /**
81          * Utility method to constructs a new Custom-variant ParsedOnionMessageContents
82          */
83         public static ParsedOnionMessageContents custom(org.ldk.structs.OnionMessageContents a) {
84                 long ret = bindings.ParsedOnionMessageContents_custom(a.ptr);
85                 GC.KeepAlive(a);
86                 if (ret >= 0 && ret <= 4096) { return null; }
87                 org.ldk.structs.ParsedOnionMessageContents ret_hu_conv = org.ldk.structs.ParsedOnionMessageContents.constr_from_ptr(ret);
88                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
89                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(a); };
90                 return ret_hu_conv;
91         }
92
93         /**
94          * Constructs a new OnionMessageContents which calls the relevant methods on this_arg.
95          * This copies the `inner` pointer in this_arg and thus the returned OnionMessageContents must be freed before this_arg is
96          */
97         public OnionMessageContents as_OnionMessageContents() {
98                 long ret = bindings.ParsedOnionMessageContents_as_OnionMessageContents(this.ptr);
99                 GC.KeepAlive(this);
100                 if (ret >= 0 && ret <= 4096) { return null; }
101                 OnionMessageContents ret_hu_conv = new OnionMessageContents(null, ret);
102                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
103                 return ret_hu_conv;
104         }
105
106         /**
107          * Serialize the ParsedOnionMessageContents object into a byte array which can be read by ParsedOnionMessageContents_read
108          */
109         public byte[] write() {
110                 long ret = bindings.ParsedOnionMessageContents_write(this.ptr);
111                 GC.KeepAlive(this);
112                 if (ret >= 0 && ret <= 4096) { return null; }
113                 byte[] ret_conv = InternalUtils.decodeUint8Array(ret);
114                 return ret_conv;
115         }
116
117 }
118 } } }