Update auto-updated Java files
[ldk-java] / src / main / java / org / ldk / structs / BroadcasterInterface.java
index 2af8bc66510bfb991ba61eb2059eb0ffc944aafc..5052076dfab22a56bea96e9b528e99afa70781d6 100644 (file)
@@ -4,7 +4,12 @@ import org.ldk.impl.bindings;
 import org.ldk.enums.*;
 import org.ldk.util.*;
 import java.util.Arrays;
+import java.lang.ref.Reference;
+import javax.annotation.Nullable;
 
+/**
+ * An interface to send a transaction to the Bitcoin network.
+ */
 @SuppressWarnings("unchecked") // We correctly assign various generic arrays
 public class BroadcasterInterface extends CommonBase {
        final bindings.LDKBroadcasterInterface bindings_instance;
@@ -20,15 +25,28 @@ public class BroadcasterInterface extends CommonBase {
        }
 
        public static interface BroadcasterInterfaceInterface {
-               void broadcast_transaction(Transaction tx);
+               /**
+                * Sends a transaction out to (hopefully) be mined.
+                */
+               void broadcast_transaction(byte[] tx);
        }
-       public BroadcasterInterface(BroadcasterInterfaceInterface arg) {
-               this(new bindings.LDKBroadcasterInterface() {
-                       @Override public void broadcast_transaction(long tx) {
-                               Transaction tx_conv = new Transaction(null, tx);
-                               arg.broadcast_transaction(tx_conv);
+       private static class LDKBroadcasterInterfaceHolder { BroadcasterInterface held; }
+       public static BroadcasterInterface new_impl(BroadcasterInterfaceInterface arg) {
+               final LDKBroadcasterInterfaceHolder impl_holder = new LDKBroadcasterInterfaceHolder();
+               impl_holder.held = new BroadcasterInterface(new bindings.LDKBroadcasterInterface() {
+                       @Override public void broadcast_transaction(byte[] tx) {
+                               arg.broadcast_transaction(tx);
                        }
                });
+               return impl_holder.held;
        }
-       // Skipped BroadcasterInterface_broadcast_transaction
+       /**
+        * Sends a transaction out to (hopefully) be mined.
+        */
+       public void broadcast_transaction(byte[] tx) {
+               bindings.BroadcasterInterface_broadcast_transaction(this.ptr, tx);
+               Reference.reachabilityFence(this);
+               Reference.reachabilityFence(tx);
+       }
+
 }