diff options
| author | littleblack111 <littleblack11111@gmail.com> | 2025-06-12 21:41:41 +0800 |
|---|---|---|
| committer | littleblack111 <littleblack11111@gmail.com> | 2025-06-13 20:22:51 +0800 |
| commit | 6f7b994684032060f0a2d7af82f4f3572293b8d6 (patch) | |
| tree | 793d328cbcd6761365267550b55db45aee9b21fc /src/core/chatManager.hpp | |
| parent | 6a51ab4525c59e9fe2bdbd92493019b0a98c6b94 (diff) | |
internal!: organized internal structure, using cmake now
Diffstat (limited to 'src/core/chatManager.hpp')
| -rw-r--r-- | src/core/chatManager.hpp | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/src/core/chatManager.hpp b/src/core/chatManager.hpp new file mode 100644 index 0000000..bd305de --- /dev/null +++ b/src/core/chatManager.hpp @@ -0,0 +1,25 @@ +#pragma once + +#include <memory> +#include <optional> +#include <string> +#include <vector> + +class CSession; + +class CChatManager { + public: + CChatManager(); + ~CChatManager(); + struct SMessage { + std::string msg; + std::string username; + std::optional<std::weak_ptr<CSession>> sender = std::nullopt; + bool admin = false; + }; + void newMessage(const SMessage &msg); + std::string fmtBroadcastMessage(const SMessage &msg); + + std::vector<SMessage> getChat() const; +}; +inline std::unique_ptr<CChatManager> g_pChatManager; |
