diff --git a/src/sync_mixin.cc b/src/sync_mixin.cc index 8df8369..21aa695 100644 --- a/src/sync_mixin.cc +++ b/src/sync_mixin.cc @@ -15,17 +15,31 @@ namespace pEp { unregister_sync_callbacks(session); } - PEP_STATUS SyncMixIn::messageToSend(void *obj, const message *msg) + PEP_STATUS SyncMixIn::messageToSend(void *obj, message *msg) { - SyncMixIn *that = (SyncMixIn *) obj; + if (!obj) + return PEP_SEND_FUNCTION_NOT_REGISTERED; + + if (!msg) + return PEP_ILLEGAL_VALUE; + + object *that = (object *) obj; + that->attr("messageToSend")(Message(msg)); return PEP_STATUS_OK; } PEP_STATUS SyncMixIn::showHandshake(void *obj, - const pEp_identity *self, const pEp_identity *partner) + pEp_identity *self, pEp_identity *partner) { - SyncMixIn *that = (SyncMixIn *) obj; + if (!obj) + return PEP_SEND_FUNCTION_NOT_REGISTERED; + + if (!(self && partner)) + return PEP_ILLEGAL_VALUE; + + object *that = (object *) obj; + that->attr("showHandshake")(Identity(self), Identity(partner)); return PEP_STATUS_OK; } diff --git a/src/sync_mixin.hh b/src/sync_mixin.hh index 733a5be..eae6fa4 100644 --- a/src/sync_mixin.hh +++ b/src/sync_mixin.hh @@ -10,9 +10,9 @@ namespace pEp { virtual ~SyncMixIn(); protected: - static PEP_STATUS messageToSend(void *obj, const message *msg); + static PEP_STATUS messageToSend(void *obj, message *msg); static PEP_STATUS showHandshake(void *obj, - const pEp_identity *self, const pEp_identity *partner); + pEp_identity *self, pEp_identity *partner); }; } }