X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=ts%2Fstructs%2FResult_TrustedCommitmentTransactionNoneZ.ts;h=406c6d76beac86da854d092aa580bf7a77da26be;hb=f3e670e9341decac613d33fc52febf19cea32f20;hp=0bd6c403801483605cb64100f639e107370c4648;hpb=822471992c6bf6f9985e531cc5940e4cc35e3e4c;p=ldk-java diff --git a/ts/structs/Result_TrustedCommitmentTransactionNoneZ.ts b/ts/structs/Result_TrustedCommitmentTransactionNoneZ.ts index 0bd6c403..406c6d76 100644 --- a/ts/structs/Result_TrustedCommitmentTransactionNoneZ.ts +++ b/ts/structs/Result_TrustedCommitmentTransactionNoneZ.ts @@ -9,7 +9,7 @@ public class Result_TrustedCommitmentTransactionNoneZ extends CommonBase { } static Result_TrustedCommitmentTransactionNoneZ constr_from_ptr(long ptr) { - if (bindings.LDKCResult_TrustedCommitmentTransactionNoneZ_result_ok(ptr)) { + if (bindings.CResult_TrustedCommitmentTransactionNoneZ_is_ok(ptr)) { return new Result_TrustedCommitmentTransactionNoneZ_OK(null, ptr); } else { return new Result_TrustedCommitmentTransactionNoneZ_Err(null, ptr); @@ -19,22 +19,43 @@ public class Result_TrustedCommitmentTransactionNoneZ extends CommonBase { public final TrustedCommitmentTransaction res; private Result_TrustedCommitmentTransactionNoneZ_OK(Object _dummy, long ptr) { super(_dummy, ptr); - uint32_t res = bindings.LDKCResult_TrustedCommitmentTransactionNoneZ_get_ok(ptr); - TrustedCommitmentTransaction res_hu_conv = new TrustedCommitmentTransaction(null, res); + number res = bindings.LDKCResult_TrustedCommitmentTransactionNoneZ_get_ok(ptr); + const res_hu_conv: TrustedCommitmentTransaction = new TrustedCommitmentTransaction(null, res); + res_hu_conv.ptrs_to.add(this); this.res = res_hu_conv; } - public Result_TrustedCommitmentTransactionNoneZ_OK(TrustedCommitmentTransaction res) { - this(null, bindings.CResult_TrustedCommitmentTransactionNoneZ_ok(res == null ? 0 : res.ptr & ~1)); - this.ptrs_to.add(res); - } } public static final class Result_TrustedCommitmentTransactionNoneZ_Err extends Result_TrustedCommitmentTransactionNoneZ { private Result_TrustedCommitmentTransactionNoneZ_Err(Object _dummy, long ptr) { super(_dummy, ptr); } - public Result_TrustedCommitmentTransactionNoneZ_Err() { - this(null, bindings.CResult_TrustedCommitmentTransactionNoneZ_err()); - } } + + public static Result_TrustedCommitmentTransactionNoneZ constructor_ok(TrustedCommitmentTransaction o) { + number ret = bindings.CResult_TrustedCommitmentTransactionNoneZ_ok(o == null ? 0 : o.ptr & ~1); + Result_TrustedCommitmentTransactionNoneZ ret_hu_conv = Result_TrustedCommitmentTransactionNoneZ.constr_from_ptr(ret); + ret_hu_conv.ptrs_to.add(o); + // Due to rust's strict-ownership memory model, in some cases we need to "move" + // an object to pass exclusive ownership to the function being called. + // In most cases, we avoid ret_hu_conv being visible in GC'd languages by cloning the object + // at the FFI layer, creating a new object which Rust can claim ownership of + // However, in some cases (eg here), there is no way to clone an object, and thus + // we actually have to pass full ownership to Rust. + // Thus, after ret_hu_conv call, o is reset to null and is now a dummy object. + o.ptr = 0; + return ret_hu_conv; + } + + public static Result_TrustedCommitmentTransactionNoneZ constructor_err() { + number ret = bindings.CResult_TrustedCommitmentTransactionNoneZ_err(); + Result_TrustedCommitmentTransactionNoneZ ret_hu_conv = Result_TrustedCommitmentTransactionNoneZ.constr_from_ptr(ret); + return ret_hu_conv; + } + + public boolean is_ok() { + boolean ret = bindings.CResult_TrustedCommitmentTransactionNoneZ_is_ok(this.ptr); + return ret; + } + }