notify toxic as if we are toxcore

This commit is contained in:
2023-01-12 03:04:20 +01:00
parent e858f23fc1
commit f8816d5c53
3 changed files with 33 additions and 6 deletions

View File

@@ -351,6 +351,13 @@ void NGC_HS1_record_own_message(
assert(ngc_hs1_ctx->history.count(g_id));
}
void NGC_HS1_register_callback_group_message(NGC_EXT_CTX* ngc_ext_ctx, NGC_HS1_group_message_cb* callback) {
assert(ngc_ext_ctx);
assert(ngc_ext_ctx->ngc_hs1_ctx);
ngc_ext_ctx->ngc_hs1_ctx->cb_group_message = callback;
}
// record others msg
void NGC_HS1_record_message(
const Tox *tox,
@@ -566,6 +573,19 @@ void _handle_HS1_ft_recv_data(
peer.pending.erase(transfer.msg_id);
peer.append(transfer.msg_id, static_cast<Tox_Message_Type>(transfer.recv_buffer.front()), std::string(reinterpret_cast<const char*>(transfer.recv_buffer.data()+1)));
assert(ngc_ext_ctx->ngc_hs1_ctx->cb_group_message);
// we dont notify if we dont know the peer id. this kinda breaks some stuff
if (peer.id.has_value()) {
ngc_ext_ctx->ngc_hs1_ctx->cb_group_message(
tox,
group_number, peer.id.value(),
static_cast<Tox_Message_Type>(transfer.recv_buffer.front()),
transfer.recv_buffer.data()+1,
data_size-1,
transfer.msg_id
);
}
group.transfers.erase(std::make_pair(peer_number, transfer_id));
}
}