|
@ -9,7 +9,7 @@ tstylesheet { |
|
|
template "struct" { |
|
|
template "struct" { |
|
|
const "jname" call "CamelCase" with "text", "@name"; |
|
|
const "jname" call "CamelCase" with "text", "@name"; |
|
|
|
|
|
|
|
|
document("org_pEp_jniadapter_{$jname}.cc", "text") |
|
|
document("org_pEp_jniadapter_{$jname}.cc", "text") { |
|
|
|| |
|
|
|| |
|
|
#include <exception> |
|
|
#include <exception> |
|
|
#include <new> |
|
|
#include <new> |
|
@ -63,11 +63,31 @@ tstylesheet { |
|
|
} |
|
|
} |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
`` apply "*[name(.)!='enum']", 0, mode=entry with "name", "@name", with "class" call "CamelCase" with "text", "@name"; |
|
|
|| |
|
|
|
|
|
apply "*[name(.)!='enum']", 0, mode=entry { |
|
|
|
|
|
with "name", "@name"; |
|
|
|
|
|
with "class" call "CamelCase" with "text", "@name"; |
|
|
|
|
|
} |
|
|
|
|
|
|| |
|
|
} // extern "C" |
|
|
} // extern "C" |
|
|
|
|
|
|
|
|
|| |
|
|
|| |
|
|
} |
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
function "mangle" { |
|
|
|
|
|
param "type"; |
|
|
|
|
|
param "name"; |
|
|
|
|
|
param "classname" call "CamelCase" with "text", "../@name"; |
|
|
|
|
|
const "convert", "$type != 'timestamp'"; |
|
|
|
|
|
|
|
|
|
|
|
choose { |
|
|
|
|
|
when "$convert" |
|
|
|
|
|
> «concat('Java_org_pEp_jniadapter_', $classname, '__1', str:replace($name, '_', '_1'))» |
|
|
|
|
|
otherwise |
|
|
|
|
|
> «concat('Java_org_pEp_jniadapter_', $classname, '_', str:replace($name, '_', '_1'))» |
|
|
|
|
|
} |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
template "*", mode=entry { |
|
|
template "*", mode=entry { |
|
|
param "name"; |
|
|
param "name"; |
|
@ -76,10 +96,17 @@ tstylesheet { |
|
|
const "jname" call "CamelCase" with "text", "name(*[1])"; |
|
|
const "jname" call "CamelCase" with "text", "name(*[1])"; |
|
|
const "cname" call "lcase" with "text", "name(*[1])"; |
|
|
const "cname" call "lcase" with "text", "name(*[1])"; |
|
|
const "type", "name(.)"; |
|
|
const "type", "name(.)"; |
|
|
|
|
|
const "getname" call "mangle" { |
|
|
|
|
|
with "type", "$type"; |
|
|
|
|
|
with "name", "concat('get', $jname)"; |
|
|
|
|
|
} |
|
|
|
|
|
const "setname" call "mangle" { |
|
|
|
|
|
with "type", "$type"; |
|
|
|
|
|
with "name", "concat('set', $jname)"; |
|
|
|
|
|
} |
|
|
|| |
|
|
|| |
|
|
JNIEXPORT `call "jni_type" with "type", "name(.)"` JNICALL |
|
|
JNIEXPORT `call "jni_type" with "type", "name(.)"` JNICALL |
|
|
Java_org_pEp_jniadapter_«$class»_get«$jname»(JNIEnv *env, jobject obj) { |
|
|
«$getname»(JNIEnv *env, jobject obj) { |
|
|
«$name» *_obj = «$name»_ptr(env, obj); |
|
|
«$name» *_obj = «$name»_ptr(env, obj); |
|
|
|| |
|
|
|| |
|
|
choose { |
|
|
choose { |
|
@ -92,7 +119,7 @@ tstylesheet { |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
JNIEXPORT void JNICALL |
|
|
JNIEXPORT void JNICALL |
|
|
Java_org_pEp_jniadapter_«$class»_set«$jname»(JNIEnv *env, jobject obj, `call "jni_type" with "type", "name(.)"` value) { |
|
|
«$setname»(JNIEnv *env, jobject obj, `call "jni_type" with "type", "name(.)"` value) { |
|
|
«$name» *_obj = «$name»_ptr(env, obj); |
|
|
«$name» *_obj = «$name»_ptr(env, obj); |
|
|
|| |
|
|
|| |
|
|
choose { |
|
|
choose { |
|
|