X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;ds=sidebyside;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FNetGraphMsgHandler.java;h=3fba8fa45bad68139ada87f1fd4c64359aca87ae;hb=1863ccdb8d571b431fa6e99b1cd2dd5963df1d16;hp=c873c8527555c1d4da9b7181189a07fad8f02d3d;hpb=3d559f3266fde7c6a21248c10d9a7145125b5e69;p=ldk-java diff --git a/src/main/java/org/ldk/structs/NetGraphMsgHandler.java b/src/main/java/org/ldk/structs/NetGraphMsgHandler.java index c873c852..3fba8fa4 100644 --- a/src/main/java/org/ldk/structs/NetGraphMsgHandler.java +++ b/src/main/java/org/ldk/structs/NetGraphMsgHandler.java @@ -2,36 +2,52 @@ 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 NetGraphMsgHandler extends CommonBase { NetGraphMsgHandler(Object _dummy, long ptr) { super(ptr); } @Override @SuppressWarnings("deprecation") protected void finalize() throws Throwable { - bindings.NetGraphMsgHandler_free(ptr); super.finalize(); + super.finalize(); + if (ptr != 0) { bindings.NetGraphMsgHandler_free(ptr); } } - public NetGraphMsgHandler(Access chain_access, Logger logger) { - super(bindings.NetGraphMsgHandler_new(chain_access.ptr, logger.ptr)); - this.ptrs_to.add(chain_access); - this.ptrs_to.add(logger); + public static NetGraphMsgHandler constructor_new(byte[] genesis_hash, Access chain_access, Logger logger) { + long ret = bindings.NetGraphMsgHandler_new(genesis_hash, chain_access == null ? 0 : chain_access.ptr, logger == null ? 0 : logger.ptr); + NetGraphMsgHandler ret_hu_conv = new NetGraphMsgHandler(null, ret); + ret_hu_conv.ptrs_to.add(chain_access); + ret_hu_conv.ptrs_to.add(logger); + return ret_hu_conv; } - public NetGraphMsgHandler(Access chain_access, Logger logger, NetworkGraph network_graph) { - super(bindings.NetGraphMsgHandler_from_net_graph(chain_access.ptr, logger.ptr, network_graph.ptr & ~1)); - this.ptrs_to.add(chain_access); - this.ptrs_to.add(logger); - this.ptrs_to.add(network_graph); + public static NetGraphMsgHandler constructor_from_net_graph(Access chain_access, Logger logger, byte[] network_graph_genesis_hash) { + long ret = bindings.NetGraphMsgHandler_from_net_graph(chain_access == null ? 0 : chain_access.ptr, logger == null ? 0 : logger.ptr, bindings.NetworkGraph_new(network_graph_genesis_hash)); + NetGraphMsgHandler ret_hu_conv = new NetGraphMsgHandler(null, ret); + ret_hu_conv.ptrs_to.add(chain_access); + ret_hu_conv.ptrs_to.add(logger); + return ret_hu_conv; } public LockedNetworkGraph read_locked_graph() { - LockedNetworkGraph ret = new LockedNetworkGraph(null, bindings.NetGraphMsgHandler_read_locked_graph(this.ptr)); - return ret; + long ret = bindings.NetGraphMsgHandler_read_locked_graph(this.ptr); + LockedNetworkGraph ret_hu_conv = new LockedNetworkGraph(null, ret); + return ret_hu_conv; } public RoutingMessageHandler as_RoutingMessageHandler() { - RoutingMessageHandler ret = new RoutingMessageHandler(null, bindings.NetGraphMsgHandler_as_RoutingMessageHandler(this.ptr)); - ret.ptrs_to.add(this); - return ret; + long ret = bindings.NetGraphMsgHandler_as_RoutingMessageHandler(this.ptr); + RoutingMessageHandler ret_hu_conv = new RoutingMessageHandler(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; + } + + public MessageSendEventsProvider as_MessageSendEventsProvider() { + long ret = bindings.NetGraphMsgHandler_as_MessageSendEventsProvider(this.ptr); + MessageSendEventsProvider ret_hu_conv = new MessageSendEventsProvider(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; } }