X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=src%2Fmain%2Fjava%2Forg%2Fldk%2Fstructs%2FChannelManager.java;h=beadcad71efe2317f9fa22a72af23e3fb81c1d16;hb=110f2f104ba8fc34caa7e34e04737f36f064b050;hp=ec82ff9e609b74b598f1b5d58451a8a9ca0084c2;hpb=592c4f92dd3011a2f2a7988ce66ed166c3a8f58c;p=ldk-java diff --git a/src/main/java/org/ldk/structs/ChannelManager.java b/src/main/java/org/ldk/structs/ChannelManager.java index ec82ff9e..beadcad7 100644 --- a/src/main/java/org/ldk/structs/ChannelManager.java +++ b/src/main/java/org/ldk/structs/ChannelManager.java @@ -2,7 +2,10 @@ 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 ChannelManager extends CommonBase { ChannelManager(Object _dummy, long ptr) { super(ptr); } @Override @SuppressWarnings("deprecation") @@ -11,19 +14,41 @@ public class ChannelManager extends CommonBase { bindings.ChannelManager_free(ptr); } - public ChannelManager(LDKNetwork network, FeeEstimator fee_est, Watch chain_monitor, BroadcasterInterface tx_broadcaster, Logger logger, KeysInterface keys_manager, UserConfig config, long current_blockchain_height) { - super(bindings.ChannelManager_new(network, fee_est == null ? 0 : fee_est.ptr, chain_monitor == null ? 0 : chain_monitor.ptr, tx_broadcaster == null ? 0 : tx_broadcaster.ptr, logger == null ? 0 : logger.ptr, keys_manager == null ? 0 : keys_manager.ptr, config == null ? 0 : config.ptr & ~1, current_blockchain_height)); - this.ptrs_to.add(fee_est); - this.ptrs_to.add(chain_monitor); - this.ptrs_to.add(tx_broadcaster); - this.ptrs_to.add(logger); - this.ptrs_to.add(keys_manager); - this.ptrs_to.add(config); + public static ChannelManager constructor_new(LDKNetwork network, FeeEstimator fee_est, Watch chain_monitor, BroadcasterInterface tx_broadcaster, Logger logger, KeysInterface keys_manager, UserConfig config, long current_blockchain_height) { + long ret = bindings.ChannelManager_new(network, fee_est == null ? 0 : fee_est.ptr, chain_monitor == null ? 0 : chain_monitor.ptr, tx_broadcaster == null ? 0 : tx_broadcaster.ptr, logger == null ? 0 : logger.ptr, keys_manager == null ? 0 : keys_manager.ptr, config == null ? 0 : config.ptr & ~1, current_blockchain_height); + ChannelManager ret_hu_conv = new ChannelManager(null, ret); + ret_hu_conv.ptrs_to.add(fee_est); + ret_hu_conv.ptrs_to.add(chain_monitor); + ret_hu_conv.ptrs_to.add(tx_broadcaster); + ret_hu_conv.ptrs_to.add(logger); + ret_hu_conv.ptrs_to.add(keys_manager); + ret_hu_conv.ptrs_to.add(config); + return ret_hu_conv; } // Skipped ChannelManager_create_channel - // Skipped ChannelManager_list_channels - // Skipped ChannelManager_list_usable_channels + public ChannelDetails[] list_channels() { + long[] ret = bindings.ChannelManager_list_channels(this.ptr); + ChannelDetails[] arr_conv_16_arr = new ChannelDetails[ret.length]; + for (int q = 0; q < ret.length; q++) { + long arr_conv_16 = ret[q]; + ChannelDetails arr_conv_16_hu_conv = new ChannelDetails(null, arr_conv_16); + arr_conv_16_arr[q] = arr_conv_16_hu_conv; + } + return arr_conv_16_arr; + } + + public ChannelDetails[] list_usable_channels() { + long[] ret = bindings.ChannelManager_list_usable_channels(this.ptr); + ChannelDetails[] arr_conv_16_arr = new ChannelDetails[ret.length]; + for (int q = 0; q < ret.length; q++) { + long arr_conv_16 = ret[q]; + ChannelDetails arr_conv_16_hu_conv = new ChannelDetails(null, arr_conv_16); + arr_conv_16_arr[q] = arr_conv_16_hu_conv; + } + return arr_conv_16_arr; + } + // Skipped ChannelManager_close_channel public void force_close_channel(byte[] channel_id) { bindings.ChannelManager_force_close_channel(this.ptr, channel_id); @@ -39,7 +64,11 @@ public class ChannelManager extends CommonBase { this.ptrs_to.add(funding_txo); } - // Skipped ChannelManager_broadcast_node_announcement + public void broadcast_node_announcement(byte[] rgb, byte[] alias, NetAddress[] addresses) { + bindings.ChannelManager_broadcast_node_announcement(this.ptr, rgb, alias, Arrays.stream(addresses).mapToLong(arr_conv_12 -> arr_conv_12.conv_to_c()).toArray()); + /* TODO 2 NetAddress */; + } + public void process_pending_htlc_forwards() { bindings.ChannelManager_process_pending_htlc_forwards(this.ptr); } @@ -69,26 +98,33 @@ public class ChannelManager extends CommonBase { } public MessageSendEventsProvider as_MessageSendEventsProvider() { - MessageSendEventsProvider ret = new MessageSendEventsProvider(null, bindings.ChannelManager_as_MessageSendEventsProvider(this.ptr)); - ret.ptrs_to.add(this); - return ret; + long ret = bindings.ChannelManager_as_MessageSendEventsProvider(this.ptr); + MessageSendEventsProvider ret_hu_conv = new MessageSendEventsProvider(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; } public EventsProvider as_EventsProvider() { - EventsProvider ret = new EventsProvider(null, bindings.ChannelManager_as_EventsProvider(this.ptr)); - ret.ptrs_to.add(this); - return ret; + long ret = bindings.ChannelManager_as_EventsProvider(this.ptr); + EventsProvider ret_hu_conv = new EventsProvider(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; + } + + public void block_connected(byte[] header, TwoTuple[] txdata, int height) { + bindings.ChannelManager_block_connected(this.ptr, header, Arrays.stream(txdata).mapToLong(arr_conv_29 -> /*TODO b*/0).toArray(), height); + /* TODO 2 TwoTuple */; } - // Skipped ChannelManager_block_connected public void block_disconnected(byte[] header) { bindings.ChannelManager_block_disconnected(this.ptr, header); } public ChannelMessageHandler as_ChannelMessageHandler() { - ChannelMessageHandler ret = new ChannelMessageHandler(null, bindings.ChannelManager_as_ChannelMessageHandler(this.ptr)); - ret.ptrs_to.add(this); - return ret; + long ret = bindings.ChannelManager_as_ChannelMessageHandler(this.ptr); + ChannelMessageHandler ret_hu_conv = new ChannelMessageHandler(null, ret); + ret_hu_conv.ptrs_to.add(this); + return ret_hu_conv; } }