X-Git-Url: http://git.bitcoin.ninja/index.cgi?a=blobdiff_plain;f=java_strings.py;h=682169295aed2849375c7841d70b50e271fdc7fe;hb=9f93df58323e1dea5f3900d5d06b8506b8bc3278;hp=0a479de3c594402c97d5e780057ae58fa1ba8669;hpb=e02f2f6fac64d403ecb4b69236d3f5e1feb7e3df;p=ldk-java diff --git a/java_strings.py b/java_strings.py index 0a479de3..68216929 100644 --- a/java_strings.py +++ b/java_strings.py @@ -1,12 +1,54 @@ from bindingstypes import * class Consts: - def __init__(self, DEBUG): + def __init__(self, DEBUG: bool, **kwargs): self.c_type_map = dict( - byte = ['byte'], + uint8_t = ['byte'], + uint16_t = ['short'], + uint32_t = ['int'], + long = ['long'], ) + self.to_hu_conv_templates = dict( + ptr = '{human_type} {var_name}_hu_conv = new {human_type}(null, {var_name});', + default = '{human_type} {var_name}_hu_conv = new {human_type}(null, {var_name});' + ) + + self.bindings_header = """package org.ldk.impl; +import org.ldk.enums.*; + +public class bindings { + public static class VecOrSliceDef { + public long dataptr; + public long datalen; + public long stride; + public VecOrSliceDef(long dataptr, long datalen, long stride) { + this.dataptr = dataptr; this.datalen = datalen; this.stride = stride; + } + } + static { + System.loadLibrary(\"lightningjni\"); + init(java.lang.Enum.class, VecOrSliceDef.class); + init_class_cache(); + } + static native void init(java.lang.Class c, java.lang.Class slicedef); + static native void init_class_cache(); + + public static native boolean deref_bool(long ptr); + public static native long deref_long(long ptr); + public static native void free_heap_ptr(long ptr); + public static native byte[] read_bytes(long ptr, long len); + public static native byte[] get_u8_slice_bytes(long slice_ptr); + public static native long bytes_to_u8_vec(byte[] bytes); + public static native long new_txpointer_copy_data(byte[] txdata); + public static native void txpointer_free(long ptr); + public static native byte[] txpointer_get_buffer(long ptr); + public static native long vec_slice_len(long vec); + public static native long new_empty_slice_vec(); + +""" + self.common_base = """package org.ldk.structs; import java.util.LinkedList; class CommonBase {