diff --git a/src/jniutils.cc b/src/jniutils.cc index 242edaa..f854294 100644 --- a/src/jniutils.cc +++ b/src/jniutils.cc @@ -435,6 +435,8 @@ namespace pEp { jfieldID me_id = getFieldID(env, classname, "me", "Z"); env->SetBooleanField(obj, me_id, (jboolean) ident->me); + jfieldID flags_id = getFieldID(env, classname, "flags", "I"); + env->SetIntField(obj, flags_id, (jint) (int) ident->flags); } return obj; @@ -464,6 +466,9 @@ namespace pEp { jfieldID me_id = getFieldID(env, classname, "me", "Z", identityClass); env->SetBooleanField(obj, me_id, (jboolean) ident->me); + + jfieldID flags_id = getFieldID(env, classname, "flags", "I", identityClass); + env->SetIntField(obj, flags_id, (jint) (int) ident->flags); } return obj; @@ -505,6 +510,9 @@ namespace pEp { jfieldID me_id = getFieldID(env, classname, "me", "Z"); ident->me = (bool) env->GetBooleanField(obj, me_id); + + jfieldID flags_id = getFieldID(env, classname, "flags", "I"); + ident->flags = (identity_flags_t) (int) env->GetIntField(obj, flags_id); return ident; } diff --git a/src/org/pEp/jniadapter/Identity.java b/src/org/pEp/jniadapter/Identity.java index 9af2b26..51cf276 100644 --- a/src/org/pEp/jniadapter/Identity.java +++ b/src/org/pEp/jniadapter/Identity.java @@ -8,6 +8,7 @@ public class Identity { public CommType comm_type; public String lang; public boolean me; + public int flags; public Identity() { this.me = false; @@ -27,6 +28,7 @@ public class Identity { comm_type = CommType.Management.tag.get(i.comm_type); lang = AbstractEngine.toUTF16(i.lang); me = i.me; + flags = i.flags; } } diff --git a/src/org/pEp/jniadapter/_Identity.java b/src/org/pEp/jniadapter/_Identity.java index 616c518..28b721a 100644 --- a/src/org/pEp/jniadapter/_Identity.java +++ b/src/org/pEp/jniadapter/_Identity.java @@ -8,6 +8,7 @@ public class _Identity { public int comm_type; public byte[] lang; public boolean me; + public int flags; public _Identity() { this.me = false; @@ -25,6 +26,7 @@ public class _Identity { comm_type = i.comm_type.value; lang = AbstractEngine.toUTF8(i.lang); me = i.me; + flags = i.flags; } } diff --git a/src/pEp.yml2 b/src/pEp.yml2 index 9f6ecb4..d94b819 100644 --- a/src/pEp.yml2 +++ b/src/pEp.yml2 @@ -112,6 +112,12 @@ namespace pEp { PEP_decrypt_flag_discarded > 4 }; + enum IdentityFlags { + PEP_idf_not_for_sync > 1 + PEP_idf_list > 2 + PEP_idf_devicegroup > 256 + }; + enum SyncHandshakeResult { sync_handshake_cancel > -1 sync_handshake_accepted > 0 @@ -124,7 +130,7 @@ namespace pEp { in stringlist extra, creates message dst, Cconst PEP_enc_format encformat "PEP_enc_PEP", - Cconst PEP_encrypt_flags flage "0" + Cconst PEP_encrypt_flags flags "0" ); method encrypt_message_for_self(