summaryrefslogtreecommitdiff
path: root/src/chatManager.cpp
blob: 6d92e32cb15f05c66e9ed3517667034e62310b0c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
#include "chatManager.hpp"
#include "log.hpp"
#include "sessionManager.hpp"

CChatManager::CChatManager() {
	log(LOG, "ChatManager: initialized");
}

CChatManager::~CChatManager() {
	m_vMessages.clear();
	log(SYS, "ChatManager: bye");
}

void CChatManager::newMessage(const SMessage &msg) {
	log(LOG, "New message from {}: {}", msg.username, msg.msg);
	broadcastMessage(msg);
	m_vMessages.push_back(msg);
}

std::string CChatManager::fmtBroadcastMessage(const SMessage &msg) {
  return NFormatter::fmt(NONE, "{}: {}", msg.username, msg.msg);
}

void CChatManager::broadcastMessage(const SMessage &msg) {
	g_pSessionManager->broadcastChat(fmtBroadcastMessage(msg), msg.username);
}

std::vector<CChatManager::SMessage> CChatManager::getChat() {
  return m_vMessages;
}