diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-05-21 18:01:42 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-05-21 22:49:45 +0800 |
| commit | 815c3955dbd9ff7e1a427cf4bc66da38b581b178 (patch) | |
| tree | 37b7b20175aeadf789e990fac7bd364792dd7e49 /src/chatManager.cpp | |
| parent | a7cd7d8eb37c50554ae7c75f2ba94db74d293a1b (diff) | |
feat: join and leave message
internal: refactored messaging management, use instnace pointer for
verification of session
Diffstat (limited to 'src/chatManager.cpp')
| -rw-r--r-- | src/chatManager.cpp | 9 |
1 files changed, 3 insertions, 6 deletions
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::SMessage> CChatManager::getChat() const { std::vector<SMessage> chat; - for (const auto &[msg, log] : g_pIOManager->getIO()) + for (const auto &[msg, _, _] : g_pIOManager->getIO()) if (msg) chat.push_back(*msg); return chat; |
