3 import CommonBase from './CommonBase';
4 import * as bindings from '../bindings' // TODO: figure out location
8 export class Listen extends CommonBase {
10 bindings_instance?: bindings.LDKListen;
12 constructor(ptr?: number, arg?: bindings.LDKListen) {
13 if (Number.isFinite(ptr)) {
15 this.bindings_instance = null;
17 // TODO: private constructor instantiation
18 super(bindings.LDKListen_new(arg));
19 this.ptrs_to.push(arg);
24 protected finalize() {
26 bindings.Listen_free(this.ptr);
31 static new_impl(arg: ListenInterface): Listen {
32 const impl_holder: LDKListenHolder = new LDKListenHolder();
33 let structImplementation = <bindings.LDKListen>{
34 // todo: in-line interface filling
35 block_connected (block: Uint8Array, height: number): void {
36 arg.block_connected(block, height);
39 block_disconnected (header: Uint8Array, height: number): void {
40 arg.block_disconnected(header, height);
45 impl_holder.held = new Listen (null, structImplementation);
49 export interface ListenInterface {
50 block_connected(block: Uint8Array, height: number): void;
51 block_disconnected(header: Uint8Array, height: number): void;
55 class LDKListenHolder {
58 public void block_connected(Uint8Array block, number height) {
59 bindings.Listen_block_connected(this.ptr, block, height);
62 public void block_disconnected(Uint8Array header, number height) {
63 bindings.Listen_block_disconnected(this.ptr, header, height);