From 619f89e2d3d4027cecc93f9505f0a3739332906d Mon Sep 17 00:00:00 2001 From: Lars Rohwedder Date: Thu, 12 May 2016 21:07:06 +0200 Subject: [PATCH] pEp_identity changes nachgezogen. Linkt grad nicht, da in der libpEpEngine.so Code fehlt... oO --- server/function_map.cc | 6 ++++++ server/mt-server.cc | 3 ++- server/pep-types.cc | 7 ++++++- 3 files changed, 14 insertions(+), 2 deletions(-) diff --git a/server/function_map.cc b/server/function_map.cc index ce2ce7b..bc7c375 100644 --- a/server/function_map.cc +++ b/server/function_map.cc @@ -171,6 +171,12 @@ std::size_t from_json(const js::Value& v) return v.get_uint64(); } +template<> +bool from_json(const js::Value& v) +{ + return v.get_bool(); +} + template<> js::Value Type2String::get() { return "String"; } diff --git a/server/mt-server.cc b/server/mt-server.cc index 7a6e3d1..773c6fe 100644 --- a/server/mt-server.cc +++ b/server/mt-server.cc @@ -47,7 +47,8 @@ const std::string server_version = // "(5d) Langerwehe"; // add the remaining functions from pEpEngine.h // "(6) Düren"; // some bug fixes for missing data types, UTF-8 output etc., status in hex etc. // "(7a) Merzenich"; // InOut parameters added. Untested, yet. - "(7b) Elsdorf"; // add own_key functions, which are new in the pEp Engine +// "(7b) Elsdorf"; // add own_key functions, which are new in the pEp Engine + "(8) Kerpen"; // pEp_identity fixes due to changes in the pEp Engine template<> diff --git a/server/pep-types.cc b/server/pep-types.cc index 0a63d92..88582b7 100644 --- a/server/pep-types.cc +++ b/server/pep-types.cc @@ -213,6 +213,7 @@ pEp_identity* from_json(const js::Value& v) char* fingerprint = from_json_object(o, "fpr"); char* user_id = from_json_object(o, "user_id"); char* username = from_json_object(o, "username"); + char* lang = from_json_object(o, "lang"); pEp_identity* ident = new_identity ( @@ -227,6 +228,11 @@ pEp_identity* from_json(const js::Value& v) free(fingerprint); free(address); + ident->comm_type = from_json_object(o, "comm_type"); + strncpy(ident->lang, lang, 3); + free(lang); + ident->me = from_json_object(o, "me"); + return ident; } @@ -424,7 +430,6 @@ js::Value to_json(pEp_identity* const& id) js::Object o; - o.emplace_back( "struct_size", js::Value( uint64_t( id->struct_size) )); to_json_object(o, "address", id->address); to_json_object(o, "fpr", id->fpr); to_json_object(o, "user_id", id->user_id);