CSharp: fix LDKStr array decoding
[ldk-java] / c_sharp / src / org / ldk / structs / ErroringMessageHandler.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  * A dummy struct which implements `ChannelMessageHandler` without having any channels.
11  * You can provide one of these as the route_handler in a MessageHandler.
12  */
13 public class ErroringMessageHandler : CommonBase {
14         internal ErroringMessageHandler(object _dummy, long ptr) : base(ptr) { }
15         ~ErroringMessageHandler() {
16                 if (ptr != 0) { bindings.ErroringMessageHandler_free(ptr); }
17         }
18
19         /**
20          * Constructs a new ErroringMessageHandler
21          */
22         public static ErroringMessageHandler of() {
23                 long ret = bindings.ErroringMessageHandler_new();
24                 if (ret >= 0 && ret <= 4096) { return null; }
25                 org.ldk.structs.ErroringMessageHandler ret_hu_conv = null; if (ret < 0 || ret > 4096) { ret_hu_conv = new org.ldk.structs.ErroringMessageHandler(null, ret); }
26                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(ret_hu_conv); };
27                 return ret_hu_conv;
28         }
29
30         /**
31          * Constructs a new MessageSendEventsProvider which calls the relevant methods on this_arg.
32          * This copies the `inner` pointer in this_arg and thus the returned MessageSendEventsProvider must be freed before this_arg is
33          */
34         public MessageSendEventsProvider as_MessageSendEventsProvider() {
35                 long ret = bindings.ErroringMessageHandler_as_MessageSendEventsProvider(this.ptr);
36                 GC.KeepAlive(this);
37                 if (ret >= 0 && ret <= 4096) { return null; }
38                 MessageSendEventsProvider ret_hu_conv = new MessageSendEventsProvider(null, ret);
39                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
40                 return ret_hu_conv;
41         }
42
43         /**
44          * Constructs a new ChannelMessageHandler which calls the relevant methods on this_arg.
45          * This copies the `inner` pointer in this_arg and thus the returned ChannelMessageHandler must be freed before this_arg is
46          */
47         public ChannelMessageHandler as_ChannelMessageHandler() {
48                 long ret = bindings.ErroringMessageHandler_as_ChannelMessageHandler(this.ptr);
49                 GC.KeepAlive(this);
50                 if (ret >= 0 && ret <= 4096) { return null; }
51                 ChannelMessageHandler ret_hu_conv = new ChannelMessageHandler(null, ret);
52                 if (ret_hu_conv != null) { ret_hu_conv.ptrs_to.AddLast(this); };
53                 return ret_hu_conv;
54         }
55
56 }
57 } } }