Use AutoCloseable for structs named Locked*
[ldk-java] / src / main / java / org / ldk / structs / ChainMonitor.java
1 package org.ldk.structs;
2
3 import org.ldk.impl.bindings;
4 import org.ldk.enums.*;
5
6 public class ChainMonitor extends CommonBase {
7         ChainMonitor(Object _dummy, long ptr) { super(ptr); }
8         @Override @SuppressWarnings("deprecation")
9         protected void finalize() throws Throwable {
10                 super.finalize();
11                 bindings.ChainMonitor_free(ptr);
12         }
13
14         // Skipped ChainMonitor_block_connected
15         public void block_disconnected(byte[] header, int disconnected_height) {
16                 bindings.ChainMonitor_block_disconnected(this.ptr, header, disconnected_height);
17         }
18
19         public ChainMonitor(Filter chain_source, BroadcasterInterface broadcaster, Logger logger, FeeEstimator feeest) {
20                 super(bindings.ChainMonitor_new(chain_source == null ? 0 : chain_source.ptr, broadcaster == null ? 0 : broadcaster.ptr, logger == null ? 0 : logger.ptr, feeest == null ? 0 : feeest.ptr));
21                 this.ptrs_to.add(chain_source);
22                 this.ptrs_to.add(broadcaster);
23                 this.ptrs_to.add(logger);
24                 this.ptrs_to.add(feeest);
25         }
26
27         public Watch as_Watch() {
28                 Watch ret = new Watch(null, bindings.ChainMonitor_as_Watch(this.ptr));
29                 ret.ptrs_to.add(this);
30                 return ret;
31         }
32
33         public EventsProvider as_EventsProvider() {
34                 EventsProvider ret = new EventsProvider(null, bindings.ChainMonitor_as_EventsProvider(this.ptr));
35                 ret.ptrs_to.add(this);
36                 return ret;
37         }
38
39 }