From 7452678b64433378416e2c105254fa29fb21750c Mon Sep 17 00:00:00 2001 From: Determinant Date: Tue, 3 Mar 2020 14:54:22 -0500 Subject: add more C API --- include/salticidae/network.h | 5 ++++- src/network.cpp | 11 ++++++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/include/salticidae/network.h b/include/salticidae/network.h index e5cfa87..4d19261 100644 --- a/include/salticidae/network.h +++ b/include/salticidae/network.h @@ -1485,9 +1485,12 @@ bool msgnetwork_conn_is_terminated(const msgnetwork_conn_t *conn); void peerid_free(const peerid_t *self); peerid_t *peerid_new_from_netaddr(const netaddr_t *addr); peerid_t *peerid_new_from_x509(const x509_t *cert); +peerid_t *peerid_new_moved_from_uint256(uint256_t *_moved_rawid); +peerid_t *peerid_new_copied_from_uint256(const uint256_t *rawid); peerid_array_t *peerid_array_new(); peerid_array_t *peerid_array_new_from_peers(const peerid_t * const *peers, size_t npeers); -void peerid_array_free(peerid_array_t *self); +const uint256_t *peerid_as_uint256(const peerid_t *); +void peerid_array_free(const peerid_array_t *self); peernetwork_config_t *peernetwork_config_new(); void peernetwork_config_free(const peernetwork_config_t *self); diff --git a/src/network.cpp b/src/network.cpp index 4bbd4c5..d81b569 100644 --- a/src/network.cpp +++ b/src/network.cpp @@ -186,6 +186,14 @@ peerid_t *peerid_new_from_x509(const x509_t *cert) { return new peerid_t(*cert); } +peerid_t *peerid_new_moved_from_uint256(uint256_t *_moved_rawid) { + return new peerid_t(std::move(*_moved_rawid)); +} + +peerid_t *peerid_new_copied_from_uint256(const uint256_t *rawid) { + return new peerid_t(*rawid); +} + peerid_array_t *peerid_array_new() { return new peerid_array_t(); } peerid_array_t *peerid_array_new_from_peers(const peerid_t * const *peers, size_t npeers) { auto res = new peerid_array_t(); @@ -195,8 +203,9 @@ peerid_array_t *peerid_array_new_from_peers(const peerid_t * const *peers, size_ return res; } -void peerid_array_free(peerid_array_t *self) { delete self; } +const uint256_t *peerid_as_uint256(const peerid_t *self) { return self; } +void peerid_array_free(const peerid_array_t *self) { delete self; } peernetwork_config_t *peernetwork_config_new() { return new peernetwork_config_t(); -- cgit v1.2.3-70-g09d2