From 9b735e3a2e2e8073241a2c0b19666c4ddcbde7e0 Mon Sep 17 00:00:00 2001 From: Green Sky Date: Wed, 12 Mar 2025 22:19:37 +0100 Subject: [PATCH] update toxcore master, with workarounds --- solanaceae/toxcore/tox_event_interface.hpp | 4 +++- solanaceae/toxcore/tox_event_logger.cpp | 2 +- solanaceae/toxcore/tox_event_logger.hpp | 2 +- solanaceae/toxcore/tox_event_provider_base.cpp | 9 ++++++++- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/solanaceae/toxcore/tox_event_interface.hpp b/solanaceae/toxcore/tox_event_interface.hpp index 84bf425..e044e00 100644 --- a/solanaceae/toxcore/tox_event_interface.hpp +++ b/solanaceae/toxcore/tox_event_interface.hpp @@ -58,7 +58,7 @@ struct ToxEventI { VIRT_EVENT(Tox_Event_Group_Join_Fail) VIRT_EVENT(Tox_Event_Group_Moderation) - VIRT_EVENT(Tox_Event_Dht_Get_Nodes_Response); + VIRT_EVENT(Tox_Event_Dht_Nodes_Response) #undef VIRT_EVENT }; @@ -155,6 +155,8 @@ constexpr Tox_Event_Type tox_event_from_string(const std::string_view str) { CASE_E_TYPE(TOX_EVENT_GROUP_JOIN_FAIL) CASE_E_TYPE(TOX_EVENT_GROUP_MODERATION) + CASE_E_TYPE(TOX_EVENT_DHT_GET_NODES_RESPONSE) + return Tox_Event_Type::TOX_EVENT_INVALID; #undef CASE_E_TYPE diff --git a/solanaceae/toxcore/tox_event_logger.cpp b/solanaceae/toxcore/tox_event_logger.cpp index 1893a1f..6fc8446 100644 --- a/solanaceae/toxcore/tox_event_logger.cpp +++ b/solanaceae/toxcore/tox_event_logger.cpp @@ -221,7 +221,7 @@ bool ToxEventLogger::onToxEvent(const Tox_Event_Group_Moderation* e) { return false; } -bool ToxEventLogger::onToxEvent(const Tox_Event_Dht_Get_Nodes_Response* e) { +bool ToxEventLogger::onToxEvent(const Tox_Event_Dht_Nodes_Response* e) { _out << "TOX_EVENT: " << tox_event_to_string(TOX_EVENT_DHT_GET_NODES_RESPONSE) //<< " pub:" << tox_event_dht_get_nodes_response_get_public_key(e) //<< " ip:" << tox_event_dht_get_nodes_response_get_ip(e) diff --git a/solanaceae/toxcore/tox_event_logger.hpp b/solanaceae/toxcore/tox_event_logger.hpp index a98a1d1..6be5438 100644 --- a/solanaceae/toxcore/tox_event_logger.hpp +++ b/solanaceae/toxcore/tox_event_logger.hpp @@ -57,7 +57,7 @@ struct ToxEventLogger : public ToxEventI { OVER_EVENT(Tox_Event_Group_Join_Fail) OVER_EVENT(Tox_Event_Group_Moderation) - OVER_EVENT(Tox_Event_Dht_Get_Nodes_Response) + OVER_EVENT(Tox_Event_Dht_Nodes_Response) #undef OVER_EVENT diff --git a/solanaceae/toxcore/tox_event_provider_base.cpp b/solanaceae/toxcore/tox_event_provider_base.cpp index dbd4653..5421461 100644 --- a/solanaceae/toxcore/tox_event_provider_base.cpp +++ b/solanaceae/toxcore/tox_event_provider_base.cpp @@ -63,7 +63,14 @@ void ToxEventProviderBase::dispatchEvents(const Tox_Events* events) { HANDLE_EVENT(GROUP_SELF_JOIN, group_self_join); HANDLE_EVENT(GROUP_JOIN_FAIL, group_join_fail); HANDLE_EVENT(GROUP_MODERATION, group_moderation); - HANDLE_EVENT(DHT_GET_NODES_RESPONSE, dht_get_nodes_response); + // FIXME: get pr merged and update + case Tox_Event_Type::TOX_EVENT_DHT_GET_NODES_RESPONSE: \ + for (auto* tei : _subscribers.at(tox_event_get_type(event))) { \ + if (tei->onToxEvent(tox_event_get_dht_nodes_response(event))) { \ + break; \ + } \ + } \ + break; #undef HANDLE_EVENT default: