Copy android related files in jni/
Remove more VLC occurences
Refs #52673
diff --git a/sflphone-android/jni/JavaJNI2CJNI_Load.py b/sflphone-android/jni/JavaJNI2CJNI_Load.py
new file mode 100755
index 0000000..941f066
--- /dev/null
+++ b/sflphone-android/jni/JavaJNI2CJNI_Load.py
@@ -0,0 +1,85 @@
+#!/usr/bin/python
+import getopt, sys
+import re
+from string import Template
+
+def type_to_signature(itype):
+ if len(itype) > 2:
+ if itype[-2:] == '[]':
+ return "[%s" % type_to_signature(itype[:-2])
+ if itype == "int":
+ return "I"
+ if itype == "long":
+ return "J"
+ if itype == "void":
+ return "V"
+ if itype == "boolean":
+ return "Z"
+ if itype == "byte":
+ return "B"
+ if itype == "char":
+ return "C"
+ if itype == "short":
+ return "S"
+ if itype == "float":
+ return "F"
+ if itype == "double":
+ return "D"
+ if itype == "String":
+ return "Ljava/lang/String;"
+ if itype == "Object":
+ return "Ljava/lang/Object;"
+ return "Lorg/sflphone/service/%s;" % itype
+
+def parse_java_file(input_stream, package, module):
+ outputs = []
+ package_prefix = "Java_%s_%sJNI" % (package.replace(".", "_"), module)
+ for line in input_stream:
+ definition = re.match(r'.*public final static native ([^\( ]*) ([^\)]*)\(([^)]*)\).*',line)
+ if definition is not None:
+ retour = definition.group(1)
+ name = definition.group(2)
+ args = definition.group(3)
+ args_sigs = []
+ args_frags = args.split(',')
+ for args_frag in args_frags:
+ argf = re.match(r'(\b)?([^ ]+) .*', args_frag.strip())
+ if argf is not None:
+ args_sigs.append(type_to_signature(argf.group(2)))
+ sig = "(%s)%s" % (''.join(args_sigs), type_to_signature(retour))
+ outputs.append("{\"%s\", \"%s\", (void*)& %s_%s}" % (name, sig, package_prefix, name.replace('_', '_1')))
+ return outputs
+
+def render_to_template(defs, template_string):
+ template = Template(template_string)
+ return template.substitute(defs= ",\r\n".join(defs) )
+
+
+if __name__ == "__main__":
+ try:
+ opts, args = getopt.getopt(sys.argv[1:], "i:o:t:m:p:", ["input=", "output=", "template=", "module=", "package="])
+ except getopt.GetoptError, err:
+ # print help information and exit:
+ print str(err) # will print something like "option -a not recognized"
+ sys.exit(2)
+ input_stream = None
+ output_file = None
+ template_string = None
+ package = ""
+ module = ""
+ for o, a in opts:
+ if o in ("-i", "--input"):
+ input_stream = open(a)
+ if o in ("-o", "--output"):
+ output_file = open(a, "w")
+ if o in ("-t", "--template"):
+ template_string = open(a).read()
+ if o in ("-m", "--module"):
+ module = a
+ if o in ("-p", "--package"):
+ package = a
+
+ defs = parse_java_file(input_stream, package, module)
+ output_file.write(render_to_template(defs, template_string))
+ output_file.close()
+ input_stream.close()