explode to constructor args when we cant clone but need to
[ldk-java] / src / main / java / org / ldk / structs / PeerManager.java
index a8d7245ebfbd57b775114cbc4e0740f24e798c33..54b4e723658576cd5cf6e2700b1fcf9130098917 100644 (file)
@@ -10,7 +10,13 @@ public class PeerManager extends CommonBase {
                bindings.PeerManager_free(ptr); super.finalize();
        }
 
-       // Skipped PeerManager_new
+       public PeerManager(ChannelMessageHandler message_handler_chan_handler_arg, RoutingMessageHandler message_handler_route_handler_arg, byte[] our_node_secret, byte[] ephemeral_random_data, Logger logger) {
+               super(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));
+               this.ptrs_to.add(message_handler_chan_handler_arg);
+               this.ptrs_to.add(message_handler_route_handler_arg);
+               this.ptrs_to.add(logger);
+       }
+
        // Skipped PeerManager_get_peer_node_ids
        // Skipped PeerManager_new_outbound_connection
        // Skipped PeerManager_new_inbound_connection
@@ -21,7 +27,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);
        }