projects
/
ldk-java
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Properly handle java refs in traits returning traits
[ldk-java]
/
src
/
main
/
java
/
org
/
ldk
/
structs
/
Filter.java
diff --git
a/src/main/java/org/ldk/structs/Filter.java
b/src/main/java/org/ldk/structs/Filter.java
index 6ec794e6479b99070ba00eef14f95b9f3130c6a9..648823106a4e607e1f169366b3259b9ed73fea89 100644
(file)
--- a/
src/main/java/org/ldk/structs/Filter.java
+++ b/
src/main/java/org/ldk/structs/Filter.java
@@
-23,8
+23,10
@@
public class Filter extends CommonBase {
void register_tx(byte[] txid, byte[] script_pubkey);
void register_output(OutPoint outpoint, byte[] script_pubkey);
}
void register_tx(byte[] txid, byte[] script_pubkey);
void register_output(OutPoint outpoint, byte[] script_pubkey);
}
- public Filter(FilterInterface arg) {
- this(new bindings.LDKFilter() {
+ private static class LDKFilterHolder { Filter held; }
+ public static Filter new_impl(FilterInterface arg) {
+ final LDKFilterHolder impl_holder = new LDKFilterHolder();
+ impl_holder.held = new Filter(new bindings.LDKFilter() {
@Override public void register_tx(byte[] txid, byte[] script_pubkey) {
arg.register_tx(txid, script_pubkey);
}
@Override public void register_tx(byte[] txid, byte[] script_pubkey) {
arg.register_tx(txid, script_pubkey);
}
@@
-33,6
+35,7
@@
public class Filter extends CommonBase {
arg.register_output(outpoint_hu_conv, script_pubkey);
}
});
arg.register_output(outpoint_hu_conv, script_pubkey);
}
});
+ return impl_holder.held;
}
public void register_tx(byte[] txid, byte[] script_pubkey) {
bindings.Filter_register_tx(this.ptr, txid, script_pubkey);
}
public void register_tx(byte[] txid, byte[] script_pubkey) {
bindings.Filter_register_tx(this.ptr, txid, script_pubkey);