From 815c3955dbd9ff7e1a427cf4bc66da38b581b178 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Wed, 21 May 2025 18:01:42 +0800 Subject: feat: join and leave message internal: refactored messaging management, use instnace pointer for verification of session --- src/chatManager.cpp | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) (limited to 'src/chatManager.cpp') diff --git a/src/chatManager.cpp b/src/chatManager.cpp index 07dfce4..6e8424b 100644 --- a/src/chatManager.cpp +++ b/src/chatManager.cpp @@ -14,15 +14,12 @@ CChatManager::~CChatManager() { void CChatManager::newMessage(const SMessage &msg) { log(LOG, "{}: {}", msg.username, msg.msg); - const auto session = g_pSessionManager->getByName(msg.username); + const auto session = msg.sender ? g_pSessionManager->getByPtr(*msg.sender) : g_pSessionManager->getByName(msg.username); if (session && session->isMuted()) { session->write("You are muted"); return; } - g_pSessionManager->broadcastChat(msg); - - g_pIOManager->m_vIO.push_back({.msg = msg, .log = std::nullopt}); - g_pInputManager->updateIO(); + g_pSessionManager->broadcast(msg); } std::string CChatManager::fmtBroadcastMessage(const SMessage &msg) { @@ -32,7 +29,7 @@ std::string CChatManager::fmtBroadcastMessage(const SMessage &msg) { std::vector CChatManager::getChat() const { std::vector chat; - for (const auto &[msg, log] : g_pIOManager->getIO()) + for (const auto &[msg, _, _] : g_pIOManager->getIO()) if (msg) chat.push_back(*msg); return chat; -- cgit v1.2.3