summaryrefslogtreecommitdiff
path: root/src/chatManager.cpp
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-05-21 18:01:42 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-05-21 22:49:45 +0800
commit815c3955dbd9ff7e1a427cf4bc66da38b581b178 (patch)
tree37b7b20175aeadf789e990fac7bd364792dd7e49 /src/chatManager.cpp
parenta7cd7d8eb37c50554ae7c75f2ba94db74d293a1b (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.cpp9
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;