Browse Source

Merge in rev 712:57e23cbed5e3

sync Release_2.0.5
heck 5 years ago
parent
commit
a44b955d90
  1. 19
      Makefile.conf
  2. 47
      src/basic_api.cc
  3. 2
      src/foundation_pEp_jniadapter__Blob.cc
  4. 1
      src/gen_cpp_Message.ysl2
  5. 10
      src/gen_java_Engine.ysl2
  6. 1
      src/jniutils.cc
  7. 1
      src/jniutils.hh
  8. 5
      src/pEp.yml2
  9. 3
      test/java/foundation/pEp/jniadapter/test/Makefile

19
Makefile.conf

@ -16,23 +16,16 @@ BUILD_FOR:=$(shell uname)
######### C and C++ ######### ######### C and C++ #########
CXXFLAGS+=-g -O0 CXXFLAGS+=-g -O0 -std=c++11
LDFLAGS+=-shared $(ENGINE_LIB) $(AD_LIB) LDFLAGS+=-shared $(ENGINE_LIB) $(AD_LIB)
LDLIBS=-lstdc++ -lpEpEngine -lpEpAdapter LDLIBS=-lstdc++ -lpEpEngine -lpEpAdapter
CXXFLAGS+=-fpermissive -fPIC -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/$(shell uname | tr A-Z a-z) $(AD_INC) $(ENGINE_INC)
######### C++ ######### ifneq (,$(findstring g++,$(CXX)))
ifeq ($(BUILD_FOR),Linux) CXXFLAGS+=-fdiagnostics-color=always
CXX=g++ -std=c++11 else ifneq (,$(findstring clang,$(CXX)))
else ifeq ($(BUILD_FOR),Darwin) CXXFLAGS+=-fcolor-diagnostics
CXX=clang -std=c++11
endif
ifeq ($(BUILD_FOR),Linux)
CXXFLAGS+=-fdiagnostics-color=always -fpermissive -fPIC -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/linux $(AD_INC) $(ENGINE_INC)
else ifeq ($(BUILD_FOR),Darwin)
CXXFLAGS+=-fcolor-diagnostics -fpermissive -fPIC -I$(JAVA_HOME)/include -I$(JAVA_HOME)/include/darwin $(AD_INC) $(ENGINE_INC)
endif endif
# DEV ENV PATHS & CFG # DEV ENV PATHS & CFG

47
src/basic_api.cc

@ -14,7 +14,7 @@ extern "C" {
using namespace pEp::JNIAdapter; using namespace pEp::JNIAdapter;
using pEp::Adapter::session; using pEp::Adapter::session;
JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine_trustwords( JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine__1trustwords(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -59,7 +59,7 @@ JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine_trustwords(
return from_string(env, words); return from_string(env, words);
} }
JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine_myself( JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine__1myself(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -85,7 +85,7 @@ JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine_myself(
return from_identity(env, _ident); return from_identity(env, _ident);
} }
JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine_updateIdentity( JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine__1updateIdentity(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -106,7 +106,7 @@ JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine_updateIdentity(
return from_identity(env, _ident); return from_identity(env, _ident);
} }
JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine_setOwnKey( JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine__1setOwnKey(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident, jobject ident,
@ -135,7 +135,7 @@ JNIEXPORT jobject JNICALL Java_foundation_pEp_jniadapter_Engine_setOwnKey(
return from_identity(env, _ident); return from_identity(env, _ident);
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_keyMistrusted( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1keyMistrusted(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -166,7 +166,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_keyMistrusted(
::key_mistrusted(session(), _ident); ::key_mistrusted(session(), _ident);
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_keyResetTrust( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1keyResetTrust(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -197,7 +197,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_keyResetTrust(
::key_reset_trust(session(), _ident); ::key_reset_trust(session(), _ident);
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_trustPersonalKey( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1trustPersonalKey(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -228,7 +228,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_trustPersonalKey(
::trust_personal_key(session(), _ident); ::trust_personal_key(session(), _ident);
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_trustOwnKey( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1trustOwnKey(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jobject ident jobject ident
@ -283,7 +283,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_importKey(
env->ReleaseByteArrayElements(key, (jbyte *) _key, JNI_ABORT); env->ReleaseByteArrayElements(key, (jbyte *) _key, JNI_ABORT);
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_config_1passive_1mode( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1config_1passive_1mode(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jboolean enable jboolean enable
@ -301,7 +301,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_config_1passive_1mo
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_config_1unencrypted_1subject( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1config_1unencrypted_1subject(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jboolean enable jboolean enable
@ -318,7 +318,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_config_1unencrypted
::config_unencrypted_subject(session(), (bool)enable); ::config_unencrypted_subject(session(), (bool)enable);
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_blacklist_1add( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1blacklist_1add(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jbyteArray fpr jbyteArray fpr
@ -347,7 +347,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_blacklist_1add(
} }
JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_blacklist_1delete( JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine__1blacklist_1delete(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jbyteArray fpr jbyteArray fpr
@ -376,7 +376,7 @@ JNIEXPORT void JNICALL Java_foundation_pEp_jniadapter_Engine_blacklist_1delete(
} }
JNIEXPORT jboolean JNICALL Java_foundation_pEp_jniadapter_Engine_blacklist_1is_1listed( JNIEXPORT jboolean JNICALL Java_foundation_pEp_jniadapter_Engine__1blacklist_1is_1listed(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jbyteArray fpr jbyteArray fpr
@ -407,7 +407,7 @@ JNIEXPORT jboolean JNICALL Java_foundation_pEp_jniadapter_Engine_blacklist_1is_1
return (jboolean)_listed; return (jboolean)_listed;
} }
JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine_getCrashdumpLog( JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine__1getCrashdumpLog(
JNIEnv *env, JNIEnv *env,
jobject obj, jobject obj,
jint dummy, jint dummy,
@ -436,5 +436,24 @@ JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine_getCrashdumpL
return from_string(env, _logdata); return from_string(env, _logdata);
} }
JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine__1getUserDirectory(
JNIEnv *env,
jobject obj
)
{
pEpLog("called");
return from_string(env, ::per_user_directory());
}
JNIEXPORT jbyteArray JNICALL Java_foundation_pEp_jniadapter_Engine__1getMachineDirectory(
JNIEnv *env,
jobject obj
)
{
pEpLog("called");
return from_string(env, ::per_machine_directory());
}
} // extern "C" } // extern "C"

2
src/foundation_pEp_jniadapter__Blob.cc

@ -1,3 +1,5 @@
#include <cassert>
#include <pEp/platform.h>
#include <pEp/sync_codec.h> #include <pEp/sync_codec.h>
#include <pEp/distribution_codec.h> #include <pEp/distribution_codec.h>
#include <pEp/pEpLog.hh> #include <pEp/pEpLog.hh>

1
src/gen_cpp_Message.ysl2

@ -12,6 +12,7 @@ tstylesheet {
document("foundation_pEp_jniadapter_{$jname}.cc", "text") { document("foundation_pEp_jniadapter_{$jname}.cc", "text") {
|| ||
#include <cassert>
#include <pEp/mime.h> #include <pEp/mime.h>
#include <pEp/pEpLog.hh> #include <pEp/pEpLog.hh>
#include "jniutils.hh" #include "jniutils.hh"

10
src/gen_java_Engine.ysl2

@ -37,20 +37,20 @@ tstylesheet {
|| ||
otherwise { otherwise {
|| ||
private native «$itype» «@name»(`apply "parm/*", mode=basic_iparm`); private native «$itype» _«@name»(`apply "parm/*", mode=basic_iparm`);
public «$jtype» «@name»(`apply "parm/*", mode=basic_parm`) { public «$jtype» «@name»(`apply "parm/*", mode=basic_parm`) {
|| ||
apply "parm/*", mode=basic_parm_set; apply "parm/*", mode=basic_parm_set;
choose { choose {
when "@type = 'void'" when "@type = 'void'"
|> «@name»(`apply "parm/*", mode=basic_parm_name`); |> _«@name»(`apply "parm/*", mode=basic_parm_name`);
when "@type = 'identity'" when "@type = 'identity'"
|> return new Identity(«@name»(`apply "parm/*", mode=basic_parm_name`)); |> return new Identity(_«@name»(`apply "parm/*", mode=basic_parm_name`));
when "@type = 'bool'" when "@type = 'bool'"
|> return new Boolean(«@name»(`apply "parm/*", mode=basic_parm_name`)); |> return new Boolean(_«@name»(`apply "parm/*", mode=basic_parm_name`));
otherwise otherwise
|> return AbstractEngine.toUTF16(«@name»(`apply "parm/*", mode=basic_parm_name`)); |> return AbstractEngine.toUTF16(_«@name»(`apply "parm/*", mode=basic_parm_name`));
} }
|| ||
} }

1
src/jniutils.cc

@ -1,3 +1,4 @@
#include <cassert>
#include "jniutils.hh" #include "jniutils.hh"
#include <pEp/pEpLog.hh> #include <pEp/pEpLog.hh>
#ifndef __LP64__ #ifndef __LP64__

1
src/jniutils.hh

@ -1,6 +1,7 @@
#pragma once #pragma once
#include <unordered_map> #include <unordered_map>
#include <thread> #include <thread>
#include <mutex>
#include <jni.h> #include <jni.h>
#include <pEp/stringpair.h> #include <pEp/stringpair.h>
#include <pEp/identity_list.h> #include <pEp/identity_list.h>

5
src/pEp.yml2

@ -250,6 +250,9 @@ namespace pEp {
in CipherSuite suite in CipherSuite suite
); );
// "basic" methods are generated on the java side, but
// on the C++ side, manually implemented in basic_api.cc
basic string trustwords(identity ident); basic string trustwords(identity ident);
basic identity myself(identity ident); basic identity myself(identity ident);
basic identity updateIdentity(identity ident); basic identity updateIdentity(identity ident);
@ -265,6 +268,8 @@ namespace pEp {
basic void config_passive_mode(bool enable); basic void config_passive_mode(bool enable);
basic void config_unencrypted_subject(bool enable); basic void config_unencrypted_subject(bool enable);
basic string getCrashdumpLog(int maxlines); basic string getCrashdumpLog(int maxlines);
basic string getUserDirectory();
basic string getMachineDirectory();
}; };
struct message { struct message {

3
test/java/foundation/pEp/jniadapter/test/Makefile

@ -8,6 +8,7 @@ run: compile
$(MAKE) -C jni88 run $(MAKE) -C jni88 run
$(MAKE) -C jni91 run $(MAKE) -C jni91 run
$(MAKE) -C jni92 run $(MAKE) -C jni92 run
$(MAKE) -C jni94 run
compile: compile:
$(MAKE) -C basic compile $(MAKE) -C basic compile
@ -15,6 +16,7 @@ compile:
$(MAKE) -C jni88 compile $(MAKE) -C jni88 compile
$(MAKE) -C jni91 compile $(MAKE) -C jni91 compile
$(MAKE) -C jni92 compile $(MAKE) -C jni92 compile
$(MAKE) -C jni94 compile
clean: clean:
$(MAKE) -C basic clean $(MAKE) -C basic clean
@ -22,6 +24,7 @@ clean:
$(MAKE) -C jni88 clean $(MAKE) -C jni88 clean
$(MAKE) -C jni91 clean $(MAKE) -C jni91 clean
$(MAKE) -C jni92 clean $(MAKE) -C jni92 clean
$(MAKE) -C jni94 clean
clean-pep-home: clean-pep-home:
$(MAKE) -C basic clean-pep-home $(MAKE) -C basic clean-pep-home

Loading…
Cancel
Save