Use AutoCloseable for structs named Locked*
[ldk-java] / src / main / java / org / ldk / structs / PeerManager.java
index d225690023ccd3ae6b3383d2b85cd33d0330581e..319b979e7ff0712fc902bcb352ed61675ea6e4d7 100644 (file)
@@ -7,10 +7,17 @@ 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 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_new
        // Skipped PeerManager_get_peer_node_ids
        // Skipped PeerManager_new_outbound_connection
        // Skipped PeerManager_new_inbound_connection