9376fb5a7a51709df4adaad33cadefea6126d8d4
[ldk-java] / ts / structs / Logger.ts
1
2 import CommonBase from './CommonBase';
3 import * as bindings from '../bindings' // TODO: figure out location
4
5 public class Logger extends CommonBase {
6         final bindings.LDKLogger bindings_instance;
7         Logger(Object _dummy, long ptr) { super(ptr); bindings_instance = null; }
8         private Logger(bindings.LDKLogger arg) {
9                 super(bindings.LDKLogger_new(arg));
10                 this.ptrs_to.add(arg);
11                 this.bindings_instance = arg;
12         }
13         @Override @SuppressWarnings("deprecation")
14         protected void finalize() throws Throwable {
15                 if (ptr != 0) { bindings.Logger_free(ptr); } super.finalize();
16         }
17
18         public static interface LoggerInterface {
19                 void log(String record);
20         }
21         private static class LDKLoggerHolder { Logger held; }
22         public static Logger new_impl(LoggerInterface arg) {
23                 final LDKLoggerHolder impl_holder = new LDKLoggerHolder();
24                 impl_holder.held = new Logger(new bindings.LDKLogger() {
25                         @Override public void log(String record) {
26                                 arg.log(record);
27                         }
28                 });
29                 return impl_holder.held;
30         }
31 }