From 3388a8f1cdc03f80bd7b7fa5c8f7a9a6451da229 Mon Sep 17 00:00:00 2001 From: Volker Birk Date: Sat, 22 Aug 2015 20:05:30 +0200 Subject: [PATCH] decrypting bugfixes --- src/gen_cpp_Engine.ysl2 | 13 ++++++++----- src/jniutils.cc | 1 + src/org/pEp/jniadapter/AbstractEngine.java | 2 +- src/types_java.ysl2 | 20 ++++++++++---------- test/Testing.java | 8 ++++++++ 5 files changed, 28 insertions(+), 16 deletions(-) diff --git a/src/gen_cpp_Engine.ysl2 b/src/gen_cpp_Engine.ysl2 index ae91192..2c159a5 100644 --- a/src/gen_cpp_Engine.ysl2 +++ b/src/gen_cpp_Engine.ysl2 @@ -56,13 +56,13 @@ tstylesheet { apply "parm[1]", mode=return { with "name" > result - with "jtype" > _«@name»_Result - with "sig" > ()V - with "jnitype" > + with "jtype" > Engine$_«@name»_Return + with "sig" > (Lorg/pEp/jniadapter/Engine;)V + with "jnitype" > InnerClass } apply "parm[returns|creates]", mode=setresult - with "jtype" > _«@name»_Result + with "jtype" > org/pEp/jniadapter/Engine$_«@name»_Return } when "count(parm[returns|creates]) = 1" choose { @@ -184,7 +184,10 @@ tstylesheet { indent(1); > «$name»_ = env->NewObject(clazz_«$name»_, constructor_«$name»_ - if "$jnitype != ''" > , («$jnitype») _«$retname» + choose { + when "$jnitype = 'InnerClass'" > , obj + when "$jnitype != ''" > , («$jnitype») _«$retname» + } > );\n || diff --git a/src/jniutils.cc b/src/jniutils.cc index 149378b..b455edd 100644 --- a/src/jniutils.cc +++ b/src/jniutils.cc @@ -46,6 +46,7 @@ namespace pEp { ) { jclass clazz = findClass(env, classname); + assert(clazz); jfieldID field = env->GetFieldID(clazz, fieldname, signature); assert(field); diff --git a/src/org/pEp/jniadapter/AbstractEngine.java b/src/org/pEp/jniadapter/AbstractEngine.java index 66fdca0..3d3067b 100644 --- a/src/org/pEp/jniadapter/AbstractEngine.java +++ b/src/org/pEp/jniadapter/AbstractEngine.java @@ -103,7 +103,7 @@ abstract class AbstractEngine implements AutoCloseable { Vector result = new Vector(list.size()); for (int i=0; i L choose { - when "$type='stringlist'" > java.util.Vector + when "$type='stringlist'" > java/util/Vector when "$type='string'" error | # cannot declare "string" - when "$type='message'" > org.pEp.jniadapter.Message - when "$type='identity'" > org.pEp.jniadapter._Identity - when "$type='identitylist'" > java.util.Vector - when "$type='timestamp'" > java.util.Date - when "$type='EncFormat'" > org.pEp.jniadapter.Message.EncFormat - when "$type='bloblist'" > java.util.Vector - when "$type='stringpairlist'" > java.util.ArrayList - when "$type='message'" > org.pEp.jniadapter.Message - when "$type='Color'" > org.pEp.jniadapter.Color + when "$type='message'" > org/pEp/jniadapter/Message + when "$type='identity'" > org/pEp/jniadapter/_Identity + when "$type='identitylist'" > java/util/Vector + when "$type='timestamp'" > java/util/Date + when "$type='EncFormat'" > org/pEp/jniadapter/Message/EncFormat + when "$type='bloblist'" > java/util/Vector + when "$type='stringpairlist'" > java/util/ArrayList + when "$type='message'" > org/pEp/jniadapter/Message + when "$type='Color'" > org/pEp/jniadapter/Color } > ; } diff --git a/test/Testing.java b/test/Testing.java index c458bd4..bef1650 100644 --- a/test/Testing.java +++ b/test/Testing.java @@ -67,6 +67,14 @@ class Testing { catch (pEpException ex) { System.out.println("cannot measure outgoing message color"); } + + try { + Engine.decrypt_message_Return result = e.decrypt_message(enc); + System.out.println("decrypted"); + } + catch (pEpException ex) { + System.out.println("cannot decrypt"); + } } }