new API version: "(20) Moitzfeld" showHandshake() -> notifyHandshake() and other Engine's API changes

JSON-15
Roker 7 years ago
parent ace0b324ac
commit 218391198f

@ -81,7 +81,8 @@ const std::string server_version =
// "(16) Kreuz Köln Ost"; // mime_encode_message(), mime_decode_message(), blob_t are base64-encoded.
// "(17) Köln Mehrheim"; // MIME_encrypt_message() and MIME_decrypt_message() instead, because the other two were internal functions
// "(18) Refrath"; // add trust_personal_key(), key_mistrusted(), key_reset_trust()
"(19) Bensberg"; // command-line parameters, daemonize(), silent all output in daemon mode
// "(19) Bensberg"; // command-line parameters, daemonize(), silent all output in daemon mode
"(20) Moitzfeld"; // showHandshake() -> notifyHandshake() and other Engine's API changes
typedef std::map<std::thread::id, PEP_SESSION> SessionRegistry;
@ -517,7 +518,7 @@ struct JsonAdapter::Internal
return 0;
}
void* retrieveNextSyncMsg()
void* retrieveNextSyncMsg(time_t* timeout)
{
while (sync_queue.empty())
// TODO: add blocking dequeue
@ -551,10 +552,10 @@ PEP_STATUS JsonAdapter::messageToSend(void* obj, message* msg)
}
PEP_STATUS JsonAdapter::showHandshake(void* obj, pEp_identity* self, pEp_identity* partner)
PEP_STATUS JsonAdapter::notifyHandshake(void* obj, pEp_identity* self, pEp_identity* partner, sync_handshake_signal sig)
{
JsonAdapter* ja = static_cast<JsonAdapter*>(obj);
return ja->i->makeAndDeliverRequest2("showHandshake", In<pEp_identity*>(self), In<pEp_identity*>(partner) );
return ja->i->makeAndDeliverRequest2("notifyHandshake", In<pEp_identity*>(self), In<pEp_identity*>(partner), In<sync_handshake_signal>(sig) );
}
@ -565,10 +566,10 @@ int JsonAdapter::injectSyncMsg(void* obj, void* msg)
}
void* JsonAdapter::retrieveNextSyncMsg(void* obj)
void* JsonAdapter::retrieveNextSyncMsg(void* obj, time_t* timeout)
{
JsonAdapter* ja = static_cast<JsonAdapter*>(obj);
return ja->i->retrieveNextSyncMsg();
return ja->i->retrieveNextSyncMsg(timeout);
}
@ -592,7 +593,7 @@ void JsonAdapter::startSync()
status = register_sync_callbacks(i->sync_session,
(void*) this,
JsonAdapter::messageToSend,
JsonAdapter::showHandshake,
JsonAdapter::notifyHandshake,
JsonAdapter::injectSyncMsg,
JsonAdapter::retrieveNextSyncMsg);
if (status != PEP_STATUS_OK)

@ -2,6 +2,7 @@
#define JSON_ADAPTER_HH
#include <pEp/message.h>
#include <pEp/sync.h>
#include "registry.hh"
#include "context.hh"
@ -52,9 +53,9 @@ public:
std::string version();
static PEP_STATUS messageToSend(void* obj, message* msg);
static PEP_STATUS showHandshake(void* obj, pEp_identity* self, pEp_identity* partner);
static PEP_STATUS notifyHandshake(void* obj, pEp_identity* self, pEp_identity* partner, sync_handshake_signal signal);
static int injectSyncMsg(void* obj, void* msg);
static void *retrieveNextSyncMsg(void* obj);
static void *retrieveNextSyncMsg(void* obj, time_t* timeout);
static void *syncThreadRoutine(void* arg);
void startSync(void);

@ -123,6 +123,14 @@ In<PEP_enc_format>::~In()
// nothing to do here. :-)
}
template<>
In<sync_handshake_signal>::~In()
{
// nothing to do here. :-)
}
template<>
In<sync_handshake_result>::~In()
{
@ -567,6 +575,14 @@ js::Value to_json<PEP_msg_direction>(const PEP_msg_direction& v)
return js::Value( int(v) );
}
template<>
js::Value to_json<sync_handshake_signal>(const sync_handshake_signal& s)
{
js::Object o;
o.emplace_back( "sync_handshake_signal", int(s) );
return o;
}
template<>
PEP_comm_type from_json<PEP_comm_type>(const js::Value& v)
{

Loading…
Cancel
Save