From 6f7b994684032060f0a2d7af82f4f3572293b8d6 Mon Sep 17 00:00:00 2001 From: littleblack111 Date: Thu, 12 Jun 2025 21:41:41 +0800 Subject: internal!: organized internal structure, using cmake now --- src/sessionManager.hpp | 40 ---------------------------------------- 1 file changed, 40 deletions(-) delete mode 100644 src/sessionManager.hpp (limited to 'src/sessionManager.hpp') diff --git a/src/sessionManager.hpp b/src/sessionManager.hpp deleted file mode 100644 index 179d7d8..0000000 --- a/src/sessionManager.hpp +++ /dev/null @@ -1,40 +0,0 @@ -#pragma once - -#include "chatManager.hpp" -#include "format.hpp" -#include "session.hpp" -#include -#include -#include - -class CSessionManager { - public: - CSessionManager(); - ~CSessionManager(); - - void newSession(); - - void run(); - void broadcast(const std::string &msg, std::optional> self = std::nullopt) const; // second param only specified when we want to exclude the sender - void kick(std::weak_ptr session, const bool kill = false, const std::string &reason = ""); - void addSession(const CSession &session); - - bool nameExists(const std::string &name); - void shutdownSessions(); - - std::shared_ptr getByName(const std::string &name) const; - std::shared_ptr getByIp(const std::string &ip) const; - std::vector> getSessions() const; - - // Safer weak_ptr versions - recommended for most use cases to avoid accidental lifetime extension - std::weak_ptr getByNameWeak(const std::string &name) const; - std::weak_ptr getByIpWeak(const std::string &ip) const; - - private: - void broadcast(const CChatManager::SMessage &msg) const; - - std::vector>> m_vSessions; - - friend class CChatManager; -}; -inline std::shared_ptr g_pSessionManager; -- cgit v1.2.3