Rewrite the world, with several interdependant changes (but several still WIP)
[ldk-java] / src / main / java / org / ldk / structs / PeerManager.java
index a8d7245ebfbd57b775114cbc4e0740f24e798c33..0a542cd3b2b00dd9ab0a5ed7ef1f4d4359449445 100644 (file)
@@ -2,16 +2,32 @@ package org.ldk.structs;
 
 import org.ldk.impl.bindings;
 import org.ldk.enums.*;
+import org.ldk.util.*;
+import java.util.Arrays;
 
+@SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class PeerManager extends CommonBase {
        PeerManager(Object _dummy, long ptr) { super(ptr); }
        @Override @SuppressWarnings("deprecation")
        protected void finalize() throws Throwable {
-               bindings.PeerManager_free(ptr); super.finalize();
+               super.finalize();
+               bindings.PeerManager_free(ptr);
+       }
+
+       public static PeerManager constructor_new(ChannelMessageHandler message_handler_chan_handler_arg, RoutingMessageHandler message_handler_route_handler_arg, byte[] our_node_secret, byte[] ephemeral_random_data, Logger logger) {
+               long ret = bindings.PeerManager_new(bindings.MessageHandler_new(message_handler_chan_handler_arg == null ? 0 : message_handler_chan_handler_arg.ptr, message_handler_route_handler_arg == null ? 0 : message_handler_route_handler_arg.ptr), our_node_secret, ephemeral_random_data, logger == null ? 0 : logger.ptr);
+               PeerManager ret_hu_conv = new PeerManager(null, ret);
+               ret_hu_conv.ptrs_to.add(message_handler_chan_handler_arg);
+               ret_hu_conv.ptrs_to.add(message_handler_route_handler_arg);
+               ret_hu_conv.ptrs_to.add(logger);
+               return ret_hu_conv;
+       }
+
+       public byte[][] get_peer_node_ids() {
+               byte[][] ret = bindings.PeerManager_get_peer_node_ids(this.ptr);
+               return ret;
        }
 
-       // Skipped PeerManager_new
-       // Skipped PeerManager_get_peer_node_ids
        // Skipped PeerManager_new_outbound_connection
        // Skipped PeerManager_new_inbound_connection
        // Skipped PeerManager_write_buffer_space_avail
@@ -21,7 +37,7 @@ public class PeerManager extends CommonBase {
        }
 
        public void socket_disconnected(SocketDescriptor descriptor) {
-               bindings.PeerManager_socket_disconnected(this.ptr, descriptor.ptr);
+               bindings.PeerManager_socket_disconnected(this.ptr, descriptor == null ? 0 : descriptor.ptr);
                this.ptrs_to.add(descriptor);
        }