Use AutoCloseable for structs named Locked*
[ldk-java] / src / main / java / org / ldk / structs / ChannelManager.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5
6 public class ChannelManager extends CommonBase {
7         ChannelManager(Object _dummy, long ptr) { super(ptr); }
8         @Override @SuppressWarnings("deprecation")
9         protected void finalize() throws Throwable {
10                 super.finalize();
11                 bindings.ChannelManager_free(ptr);
12         }
13
14         public ChannelManager(LDKNetwork network, FeeEstimator fee_est, Watch chain_monitor, BroadcasterInterface tx_broadcaster, Logger logger, KeysInterface keys_manager, UserConfig config, long current_blockchain_height) {
15                 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));
16                 this.ptrs_to.add(fee_est);
17                 this.ptrs_to.add(chain_monitor);
18                 this.ptrs_to.add(tx_broadcaster);
19                 this.ptrs_to.add(logger);
20                 this.ptrs_to.add(keys_manager);
21                 this.ptrs_to.add(config);
22         }
23
24         // Skipped ChannelManager_create_channel
25         // Skipped ChannelManager_list_channels
26         // Skipped ChannelManager_list_usable_channels
27         // Skipped ChannelManager_close_channel
28         public void force_close_channel(byte[] channel_id) {
29                 bindings.ChannelManager_force_close_channel(this.ptr, channel_id);
30         }
31
32         public void force_close_all_channels() {
33                 bindings.ChannelManager_force_close_all_channels(this.ptr);
34         }
35
36         // Skipped ChannelManager_send_payment
37         public void funding_transaction_generated(byte[] temporary_channel_id, OutPoint funding_txo) {
38                 bindings.ChannelManager_funding_transaction_generated(this.ptr, temporary_channel_id, funding_txo == null ? 0 : funding_txo.ptr & ~1);
39                 this.ptrs_to.add(funding_txo);
40         }
41
42         // Skipped ChannelManager_broadcast_node_announcement
43         public void process_pending_htlc_forwards() {
44                 bindings.ChannelManager_process_pending_htlc_forwards(this.ptr);
45         }
46
47         public void timer_chan_freshness_every_min() {
48                 bindings.ChannelManager_timer_chan_freshness_every_min(this.ptr);
49         }
50
51         public boolean fail_htlc_backwards(byte[] payment_hash, byte[] payment_secret) {
52                 boolean ret = bindings.ChannelManager_fail_htlc_backwards(this.ptr, payment_hash, payment_secret);
53                 return ret;
54         }
55
56         public boolean claim_funds(byte[] payment_preimage, byte[] payment_secret, long expected_amount) {
57                 boolean ret = bindings.ChannelManager_claim_funds(this.ptr, payment_preimage, payment_secret, expected_amount);
58                 return ret;
59         }
60
61         public byte[] get_our_node_id() {
62                 byte[] ret = bindings.ChannelManager_get_our_node_id(this.ptr);
63                 return ret;
64         }
65
66         public void channel_monitor_updated(OutPoint funding_txo, long highest_applied_update_id) {
67                 bindings.ChannelManager_channel_monitor_updated(this.ptr, funding_txo == null ? 0 : funding_txo.ptr & ~1, highest_applied_update_id);
68                 this.ptrs_to.add(funding_txo);
69         }
70
71         public MessageSendEventsProvider as_MessageSendEventsProvider() {
72                 MessageSendEventsProvider ret = new MessageSendEventsProvider(null, bindings.ChannelManager_as_MessageSendEventsProvider(this.ptr));
73                 ret.ptrs_to.add(this);
74                 return ret;
75         }
76
77         public EventsProvider as_EventsProvider() {
78                 EventsProvider ret = new EventsProvider(null, bindings.ChannelManager_as_EventsProvider(this.ptr));
79                 ret.ptrs_to.add(this);
80                 return ret;
81         }
82
83         // Skipped ChannelManager_block_connected
84         public void block_disconnected(byte[] header) {
85                 bindings.ChannelManager_block_disconnected(this.ptr, header);
86         }
87
88         public ChannelMessageHandler as_ChannelMessageHandler() {
89                 ChannelMessageHandler ret = new ChannelMessageHandler(null, bindings.ChannelManager_as_ChannelMessageHandler(this.ptr));
90                 ret.ptrs_to.add(this);
91                 return ret;
92         }
93
94 }