|
|
@ -99,8 +99,16 @@ tstylesheet { |
|
|
|
const "name", "name(*[3])"; |
|
|
|
|| |
|
|
|
jfieldID «$name»_field = getFieldID(env, "«$jtype»", |
|
|
|
"«$name»", "«$sig»"); |
|
|
|
env->SetObjectField(result_, «$name»_field, «$name»_); |
|
|
|
"«$name»", "«$sig»"); |
|
|
|
if («$name»_) |
|
|
|
env->SetObjectField(result_, «$name»_field, «$name»_); |
|
|
|
|| |
|
|
|
if "$name = 'dst'" |
|
|
|
|| |
|
|
|
else |
|
|
|
env->SetObjectField(result_, «$name»_field, src); |
|
|
|
|| |
|
|
|
|| |
|
|
|
|
|
|
|
|| |
|
|
|
} |
|
|
@ -126,20 +134,32 @@ tstylesheet { |
|
|
|
choose { |
|
|
|
when "$jnitype = 'jbyteArray'" |
|
|
|
|| |
|
|
|
jobject «$name»_ = from_stringlist(env, _«$retname»); |
|
|
|
jobject «$name»_ = NULL; |
|
|
|
if (_«$retname») |
|
|
|
«$name»_ = from_stringlist(env, _«$retname»); |
|
|
|
|
|
|
|
|| |
|
|
|
|
|
|
|
otherwise { |
|
|
|
|| |
|
|
|
jclass clazz_«$name»_ = findClass(env, "org/pEp/jniadapter/«$jtype»"); |
|
|
|
jmethodID constructor_«$name»_ = env->GetMethodID(clazz_«$name»_, "<init>", "«$sig»"); |
|
|
|
assert(constructor_«$name»_); |
|
|
|
|| |
|
|
|
indent(0); |
|
|
|
> jobject «$name»_ = env->NewObject(clazz_«$name»_, constructor_«$name»_ |
|
|
|
if "$jnitype != ''" > , («$jnitype») _«$retname» |
|
|
|
> );\n\n |
|
|
|
| jobject «$name»_ = NULL; |
|
|
|
indent(0); |
|
|
|
if "$retname != 'result'" > if (_«$retname») |
|
|
|
> {\n |
|
|
|
|| |
|
|
|
jclass clazz_«$name»_ = findClass(env, "org/pEp/jniadapter/«$jtype»"); |
|
|
|
jmethodID constructor_«$name»_ = env->GetMethodID(clazz_«$name»_, "<init>", "«$sig»"); |
|
|
|
assert(constructor_«$name»_); |
|
|
|
|| |
|
|
|
|
|
|
|
indent(1); |
|
|
|
> «$name»_ = env->NewObject(clazz_«$name»_, constructor_«$name»_ |
|
|
|
if "$jnitype != ''" > , («$jnitype») _«$retname» |
|
|
|
> );\n |
|
|
|
|
|
|
|
|| |
|
|
|
} |
|
|
|
|
|
|
|
|| |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|