Use AutoCloseable for structs named Locked*
[ldk-java] / src / main / java / org / ldk / structs / PeerManager.java
index 62e50eed05e8853356e668ddba78dbaccf411aa1..319b979e7ff0712fc902bcb352ed61675ea6e4d7 100644 (file)
@@ -7,12 +7,14 @@ 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(MessageHandler message_handler, byte[] our_node_secret, byte[] ephemeral_random_data, Logger logger) {
-               super(bindings.PeerManager_new(message_handler == null ? 0 : message_handler.ptr & ~1, our_node_secret, ephemeral_random_data, logger == null ? 0 : logger.ptr));
-               this.ptrs_to.add(message_handler);
+       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);
        }