From f8851c1033514d3ead25f4df1b643a0e5960ecbc Mon Sep 17 00:00:00 2001 From: Green Sky Date: Wed, 11 Oct 2023 01:17:46 +0200 Subject: [PATCH] add group constants getters --- CMakeLists.txt | 7 +++++ solanaceae/toxcore/tox_default_impl.cpp | 36 +++++++++++++++++++++++++ solanaceae/toxcore/tox_default_impl.hpp | 10 +++++++ solanaceae/toxcore/tox_interface.hpp | 10 +++++++ 4 files changed, 63 insertions(+) diff --git a/CMakeLists.txt b/CMakeLists.txt index 1153693..aa2f457 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -2,6 +2,12 @@ cmake_minimum_required(VERSION 3.9 FATAL_ERROR) project(solanaceae) +add_library(solanaceae_toxcore_interface INTERFACE + #./solanaceae/toxcore/tox_interface.hpp +) +target_include_directories(solanaceae_toxcore_interface INTERFACE .) +target_compile_features(solanaceae_toxcore_interface INTERFACE cxx_std_17) + add_library(solanaceae_toxcore ./solanaceae/toxcore/utils.hpp ./solanaceae/toxcore/utils.cpp @@ -26,5 +32,6 @@ target_include_directories(solanaceae_toxcore PUBLIC .) target_compile_features(solanaceae_toxcore PUBLIC cxx_std_17) target_link_libraries(solanaceae_toxcore PUBLIC toxcore + solanaceae_toxcore_interface ) diff --git a/solanaceae/toxcore/tox_default_impl.cpp b/solanaceae/toxcore/tox_default_impl.cpp index f7aea28..2a9fcd2 100644 --- a/solanaceae/toxcore/tox_default_impl.cpp +++ b/solanaceae/toxcore/tox_default_impl.cpp @@ -285,6 +285,42 @@ Tox_Err_Friend_Custom_Packet ToxDefaultImpl::toxFriendSendLosslessPacket(uint32_ return err; } +uint32_t ToxDefaultImpl::toxGroupMaxTopicLength(void) { + return tox_group_max_topic_length(); +} + +uint32_t ToxDefaultImpl::toxGroupMaxPartLength(void) { + return tox_group_max_part_length(); +} + +uint32_t ToxDefaultImpl::toxGroupMaxMessageLength(void) { + return tox_group_max_message_length(); +} + +uint32_t ToxDefaultImpl::toxGroupMaxCustomLossyPacketLength(void) { + return tox_group_max_custom_lossy_packet_length(); +} + +uint32_t ToxDefaultImpl::toxGroupMaxCustomLosslessPacketLength(void) { + return tox_group_max_custom_lossless_packet_length(); +} + +uint32_t ToxDefaultImpl::toxGroupMaxGroupNameLength(void) { + return tox_group_max_group_name_length(); +} + +uint32_t ToxDefaultImpl::toxGroupMaxPasswordSize(void) { + return tox_group_max_password_size(); +} + +uint32_t ToxDefaultImpl::toxGroupChatIdSize(void) { + return tox_group_chat_id_size(); +} + +uint32_t ToxDefaultImpl::toxGroupPeerPublicKeySize(void) { + return tox_group_peer_public_key_size(); +} + std::tuple, Tox_Err_Group_New> ToxDefaultImpl::toxGroupNew(Tox_Group_Privacy_State privacy_state, std::string_view group_name, std::string_view name) { Tox_Err_Group_New err = TOX_ERR_GROUP_NEW_OK; auto res = tox_group_new(_tox, privacy_state, reinterpret_cast(group_name.data()), group_name.size(), reinterpret_cast(name.data()), name.size(), &err); diff --git a/solanaceae/toxcore/tox_default_impl.hpp b/solanaceae/toxcore/tox_default_impl.hpp index 7964b6f..46a8ac0 100644 --- a/solanaceae/toxcore/tox_default_impl.hpp +++ b/solanaceae/toxcore/tox_default_impl.hpp @@ -64,6 +64,16 @@ struct ToxDefaultImpl : public ToxI { // group + uint32_t toxGroupMaxTopicLength(void) override; + uint32_t toxGroupMaxPartLength(void) override; + uint32_t toxGroupMaxMessageLength(void) override; + uint32_t toxGroupMaxCustomLossyPacketLength(void) override; + uint32_t toxGroupMaxCustomLosslessPacketLength(void) override; + uint32_t toxGroupMaxGroupNameLength(void) override; + uint32_t toxGroupMaxPasswordSize(void) override; + uint32_t toxGroupChatIdSize(void) override; + uint32_t toxGroupPeerPublicKeySize(void) override; + std::tuple, Tox_Err_Group_New> toxGroupNew(Tox_Group_Privacy_State privacy_state, std::string_view group_name, std::string_view name) override; std::tuple, Tox_Err_Group_Join> toxGroupJoin(const std::vector& chat_id, std::string_view name, std::string_view password) override; std::optional toxGroupIsConnected(uint32_t group_number) override; diff --git a/solanaceae/toxcore/tox_interface.hpp b/solanaceae/toxcore/tox_interface.hpp index 65ea88e..65b489f 100644 --- a/solanaceae/toxcore/tox_interface.hpp +++ b/solanaceae/toxcore/tox_interface.hpp @@ -106,6 +106,16 @@ struct ToxI_raw { // group + virtual uint32_t toxGroupMaxTopicLength(void) = 0; + virtual uint32_t toxGroupMaxPartLength(void) = 0; + virtual uint32_t toxGroupMaxMessageLength(void) = 0; + virtual uint32_t toxGroupMaxCustomLossyPacketLength(void) = 0; + virtual uint32_t toxGroupMaxCustomLosslessPacketLength(void) = 0; + virtual uint32_t toxGroupMaxGroupNameLength(void) = 0; + virtual uint32_t toxGroupMaxPasswordSize(void) = 0; + virtual uint32_t toxGroupChatIdSize(void) = 0; + virtual uint32_t toxGroupPeerPublicKeySize(void) = 0; + virtual std::tuple, Tox_Err_Group_New> toxGroupNew(Tox_Group_Privacy_State privacy_state, std::string_view group_name, std::string_view name) = 0; virtual std::tuple, Tox_Err_Group_Join> toxGroupJoin(const std::vector& chat_id, std::string_view name, std::string_view password) = 0; virtual std::optional toxGroupIsConnected(uint32_t group_number) = 0; // only 1 error type, skip