summaryrefslogtreecommitdiff
path: root/src/chatManager.cpp
blob: cdecefc15a440abcef51931ed4f273165584bd7f (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);
}

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