[C#] Update auto-generated C# bindings
[ldk-java] / c_sharp / src / org / ldk / structs / UnsignedNodeAnnouncement.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  * The unsigned part of a [`node_announcement`] message.
11  * 
12  * [`node_announcement`]: https://github.com/lightning/bolts/blob/master/07-routing-gossip.md#the-node_announcement-message
13  */
14 public class UnsignedNodeAnnouncement : CommonBase {
15         internal UnsignedNodeAnnouncement(object _dummy, long ptr) : base(ptr) { }
16         ~UnsignedNodeAnnouncement() {
17                 if (ptr != 0) { bindings.UnsignedNodeAnnouncement_free(ptr); }
18         }
19
20         /**
21          * The advertised features
22          */
23         public NodeFeatures get_features() {
24                 long ret = bindings.UnsignedNodeAnnouncement_get_features(this.ptr);
25                 GC.KeepAlive(this);
26                 if (ret >= 0 && ret <= 4096) { return null; }
27                 org.ldk.structs.NodeFeatures ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.NodeFeatures(null, ret); }
28                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
29                 return ret_hu_conv;
30         }
31
32         /**
33          * The advertised features
34          */
35         public void set_features(org.ldk.structs.NodeFeatures val) {
36                 bindings.UnsignedNodeAnnouncement_set_features(this.ptr, val == null ? 0 : val.ptr);
37                 GC.KeepAlive(this);
38                 GC.KeepAlive(val);
39                 if (this != null) { this.ptrs_to.AddLast(val); };
40         }
41
42         /**
43          * A strictly monotonic announcement counter, with gaps allowed
44          */
45         public int get_timestamp() {
46                 int ret = bindings.UnsignedNodeAnnouncement_get_timestamp(this.ptr);
47                 GC.KeepAlive(this);
48                 return ret;
49         }
50
51         /**
52          * A strictly monotonic announcement counter, with gaps allowed
53          */
54         public void set_timestamp(int val) {
55                 bindings.UnsignedNodeAnnouncement_set_timestamp(this.ptr, val);
56                 GC.KeepAlive(this);
57                 GC.KeepAlive(val);
58         }
59
60         /**
61          * The `node_id` this announcement originated from (don't rebroadcast the `node_announcement` back
62          * to this node).
63          */
64         public NodeId get_node_id() {
65                 long ret = bindings.UnsignedNodeAnnouncement_get_node_id(this.ptr);
66                 GC.KeepAlive(this);
67                 if (ret >= 0 && ret <= 4096) { return null; }
68                 org.ldk.structs.NodeId ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.NodeId(null, ret); }
69                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
70                 return ret_hu_conv;
71         }
72
73         /**
74          * The `node_id` this announcement originated from (don't rebroadcast the `node_announcement` back
75          * to this node).
76          */
77         public void set_node_id(org.ldk.structs.NodeId val) {
78                 bindings.UnsignedNodeAnnouncement_set_node_id(this.ptr, val == null ? 0 : val.ptr);
79                 GC.KeepAlive(this);
80                 GC.KeepAlive(val);
81                 if (this != null) { this.ptrs_to.AddLast(val); };
82         }
83
84         /**
85          * An RGB color for UI purposes
86          */
87         public byte[] get_rgb() {
88                 long ret = bindings.UnsignedNodeAnnouncement_get_rgb(this.ptr);
89                 GC.KeepAlive(this);
90                 if (ret >= 0 && ret <= 4096) { return null; }
91                 byte[] ret_conv = InternalUtils.decodeUint8Array(ret);
92                 return ret_conv;
93         }
94
95         /**
96          * An RGB color for UI purposes
97          */
98         public void set_rgb(byte[] val) {
99                 bindings.UnsignedNodeAnnouncement_set_rgb(this.ptr, InternalUtils.encodeUint8Array(InternalUtils.check_arr_len(val, 3)));
100                 GC.KeepAlive(this);
101                 GC.KeepAlive(val);
102         }
103
104         /**
105          * An alias, for UI purposes.
106          * 
107          * This should be sanitized before use. There is no guarantee of uniqueness.
108          */
109         public NodeAlias get_alias() {
110                 long ret = bindings.UnsignedNodeAnnouncement_get_alias(this.ptr);
111                 GC.KeepAlive(this);
112                 if (ret >= 0 && ret <= 4096) { return null; }
113                 org.ldk.structs.NodeAlias ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.NodeAlias(null, ret); }
114                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
115                 return ret_hu_conv;
116         }
117
118         /**
119          * An alias, for UI purposes.
120          * 
121          * This should be sanitized before use. There is no guarantee of uniqueness.
122          */
123         public void set_alias(org.ldk.structs.NodeAlias val) {
124                 bindings.UnsignedNodeAnnouncement_set_alias(this.ptr, val == null ? 0 : val.ptr);
125                 GC.KeepAlive(this);
126                 GC.KeepAlive(val);
127                 if (this != null) { this.ptrs_to.AddLast(val); };
128         }
129
130         /**
131          * List of addresses on which this node is reachable
132          * 
133          * Returns a copy of the field.
134          */
135         public SocketAddress[] get_addresses() {
136                 long ret = bindings.UnsignedNodeAnnouncement_get_addresses(this.ptr);
137                 GC.KeepAlive(this);
138                 if (ret >= 0 && ret <= 4096) { return null; }
139                 int ret_conv_15_len = InternalUtils.getArrayLength(ret);
140                 SocketAddress[] ret_conv_15_arr = new SocketAddress[ret_conv_15_len];
141                 for (int p = 0; p < ret_conv_15_len; p++) {
142                         long ret_conv_15 = InternalUtils.getU64ArrayElem(ret, p);
143                         org.ldk.structs.SocketAddress ret_conv_15_hu_conv = org.ldk.structs.SocketAddress.constr_from_ptr(ret_conv_15);
144                         if (ret_conv_15_hu_conv != null) { ret_conv_15_hu_conv.ptrs_to.AddLast(this); };
145                         ret_conv_15_arr[p] = ret_conv_15_hu_conv;
146                 }
147                 bindings.free_buffer(ret);
148                 return ret_conv_15_arr;
149         }
150
151         /**
152          * List of addresses on which this node is reachable
153          */
154         public void set_addresses(SocketAddress[] val) {
155                 bindings.UnsignedNodeAnnouncement_set_addresses(this.ptr, InternalUtils.encodeUint64Array(InternalUtils.mapArray(val, val_conv_15 => val_conv_15.ptr)));
156                 GC.KeepAlive(this);
157                 GC.KeepAlive(val);
158                 foreach (SocketAddress val_conv_15 in val) { if (this != null) { this.ptrs_to.AddLast(val_conv_15); }; };
159         }
160
161         internal long clone_ptr() {
162                 long ret = bindings.UnsignedNodeAnnouncement_clone_ptr(this.ptr);
163                 GC.KeepAlive(this);
164                 return ret;
165         }
166
167         /**
168          * Creates a copy of the UnsignedNodeAnnouncement
169          */
170         public UnsignedNodeAnnouncement clone() {
171                 long ret = bindings.UnsignedNodeAnnouncement_clone(this.ptr);
172                 GC.KeepAlive(this);
173                 if (ret >= 0 && ret <= 4096) { return null; }
174                 org.ldk.structs.UnsignedNodeAnnouncement ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.UnsignedNodeAnnouncement(null, ret); }
175                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
176                 return ret_hu_conv;
177         }
178
179         /**
180          * Generates a non-cryptographic 64-bit hash of the UnsignedNodeAnnouncement.
181          */
182         public long hash() {
183                 long ret = bindings.UnsignedNodeAnnouncement_hash(this.ptr);
184                 GC.KeepAlive(this);
185                 return ret;
186         }
187
188         public override int GetHashCode() {
189                 return (int)this.hash();
190         }
191         /**
192          * Checks if two UnsignedNodeAnnouncements contain equal inner contents.
193          * This ignores pointers and is_owned flags and looks at the values in fields.
194          * Two objects with NULL inner values will be considered "equal" here.
195          */
196         public bool eq(org.ldk.structs.UnsignedNodeAnnouncement b) {
197                 bool ret = bindings.UnsignedNodeAnnouncement_eq(this.ptr, b == null ? 0 : b.ptr);
198                 GC.KeepAlive(this);
199                 GC.KeepAlive(b);
200                 if (this != null) { this.ptrs_to.AddLast(b); };
201                 return ret;
202         }
203
204         public override bool Equals(object o) {
205                 if (!(o is UnsignedNodeAnnouncement)) return false;
206                 return this.eq((UnsignedNodeAnnouncement)o);
207         }
208         /**
209          * Serialize the UnsignedNodeAnnouncement object into a byte array which can be read by UnsignedNodeAnnouncement_read
210          */
211         public byte[] write() {
212                 long ret = bindings.UnsignedNodeAnnouncement_write(this.ptr);
213                 GC.KeepAlive(this);
214                 if (ret >= 0 && ret <= 4096) { return null; }
215                 byte[] ret_conv = InternalUtils.decodeUint8Array(ret);
216                 return ret_conv;
217         }
218
219         /**
220          * Read a UnsignedNodeAnnouncement from a byte array, created by UnsignedNodeAnnouncement_write
221          */
222         public static Result_UnsignedNodeAnnouncementDecodeErrorZ read(byte[] ser) {
223                 long ret = bindings.UnsignedNodeAnnouncement_read(InternalUtils.encodeUint8Array(ser));
224                 GC.KeepAlive(ser);
225                 if (ret >= 0 && ret <= 4096) { return null; }
226                 Result_UnsignedNodeAnnouncementDecodeErrorZ ret_hu_conv = Result_UnsignedNodeAnnouncementDecodeErrorZ.constr_from_ptr(ret);
227                 return ret_hu_conv;
228         }
229
230 }
231 } } }