diff --git a/src/gen_cpp_Engine.ysl2 b/src/gen_cpp_Engine.ysl2 index dbee5d2..4f5e50c 100644 --- a/src/gen_cpp_Engine.ysl2 +++ b/src/gen_cpp_Engine.ysl2 @@ -198,6 +198,8 @@ tstylesheet { choose { when "$type = 'message'" | message *_«$name» = (message *) callLongMethod(env, «$name», "getHandle"); + when "$type='EncFormat'" + | √$type _«$name» = to_«$type»(env, «$name»); when "$type='bool'" | bool _«$name» = (bool) «$name»; when "$type='int'" diff --git a/src/jniutils.cc b/src/jniutils.cc index afc4177..4625c6b 100644 --- a/src/jniutils.cc +++ b/src/jniutils.cc @@ -649,6 +649,17 @@ namespace pEp { return bl; } + + PEP_enc_format to_EncFormat(JNIEnv *env, jobject obj) + { + static const char *classname = "org/pEp/jniadapter/Message$EncFormat"; + jclass clazz_enc_format = findClass(env, classname); + jfieldID field_value = env->GetFieldID(clazz_enc_format, "value", "I"); + assert(field_value); + + env->DeleteLocalRef(clazz_enc_format); + return (PEP_enc_format) env->GetIntField(obj, field_value); + } }; }; diff --git a/src/jniutils.hh b/src/jniutils.hh index f1cd50d..75a7db5 100644 --- a/src/jniutils.hh +++ b/src/jniutils.hh @@ -7,6 +7,7 @@ #include #include #include +#include #if 0 // Enable if log needed #include @@ -171,6 +172,8 @@ namespace pEp { jobject from_bloblist(JNIEnv *env, bloblist_t *bl); bloblist_t *to_bloblist(JNIEnv *env, jobject obj); + + PEP_enc_format to_EncFormat(JNIEnv *env, jobject obj); }; }; diff --git a/src/pEp.yml2 b/src/pEp.yml2 index 3fc0c5d..98beb59 100644 --- a/src/pEp.yml2 +++ b/src/pEp.yml2 @@ -141,7 +141,7 @@ namespace pEp { in message src, in stringlist extra, creates message dst, - Cconst PEP_enc_format encformat "PEP_enc_PEP", + in EncFormat format, Cconst PEP_encrypt_flags flags "0" );