From 142aee12a742009bde01b8bbfcce43d53bfba50f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrien=20B=C3=A9raud?= <adrien.beraud@savoirfairelinux.com> Date: Mon, 28 Oct 2019 17:43:00 -0400 Subject: [PATCH] c wrapper: add support for putEncrypted --- c/opendht.cpp | 11 +++++++++++ c/opendht_c.h | 1 + 2 files changed, 12 insertions(+) diff --git a/c/opendht.cpp b/c/opendht.cpp index 7b801811..16c79a5d 100644 --- a/c/opendht.cpp +++ b/c/opendht.cpp @@ -361,6 +361,17 @@ void dht_runner_put_signed(dht_runner* r, const dht_infohash* h, const dht_value }, permanent); } +void dht_runner_put_encrypted(dht_runner* r, const dht_infohash* h, const dht_infohash* to, const dht_value* v, dht_done_cb done_cb, void* cb_user_data, bool permanent) { + auto runner = reinterpret_cast<dht::DhtRunner*>(r); + auto hash = reinterpret_cast<const dht::InfoHash*>(h); + auto toHash = reinterpret_cast<const dht::InfoHash*>(to); + auto value = reinterpret_cast<const ValueSp*>(v); + runner->putEncrypted(*hash, *toHash, *value, [done_cb, cb_user_data](bool ok){ + if (done_cb) + done_cb(ok, cb_user_data); + }, permanent); +} + void dht_runner_cancel_put(dht_runner* r, const dht_infohash* h, dht_value_id value_id) { auto runner = reinterpret_cast<dht::DhtRunner*>(r); auto hash = reinterpret_cast<const dht::InfoHash*>(h); diff --git a/c/opendht_c.h b/c/opendht_c.h index 7a782800..fd102f27 100644 --- a/c/opendht_c.h +++ b/c/opendht_c.h @@ -143,6 +143,7 @@ OPENDHT_C_PUBLIC dht_op_token* dht_runner_listen(dht_runner* runner, const dht_i OPENDHT_C_PUBLIC void dht_runner_cancel_listen(dht_runner* runner, const dht_infohash* hash, dht_op_token* token); OPENDHT_C_PUBLIC void dht_runner_put(dht_runner* runner, const dht_infohash* hash, const dht_value* value, dht_done_cb done_cb, void* cb_user_data, bool permanent); OPENDHT_C_PUBLIC void dht_runner_put_signed(dht_runner* runner, const dht_infohash* hash, const dht_value* value, dht_done_cb done_cb, void* cb_user_data, bool permanent); +OPENDHT_C_PUBLIC void dht_runner_put_encrypted(dht_runner* runner, const dht_infohash* hash, const dht_infohash* to, const dht_value* value, dht_done_cb done_cb, void* cb_user_data, bool permanent); OPENDHT_C_PUBLIC void dht_runner_cancel_put(dht_runner* runner, const dht_infohash* hash, dht_value_id value_id); OPENDHT_C_PUBLIC void dht_runner_shutdown(dht_runner* runner, dht_shutdown_cb done_cb, void* cb_user_data); OPENDHT_C_PUBLIC dht_infohash dht_runner_get_node_id(const dht_runner* runner); -- GitLab