summaryrefslogtreecommitdiff
path: root/src/sessionManager.hpp
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-03-17 00:19:35 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-03-20 23:45:01 +0800
commit35cde25820fe9077dbc195d3b1485cd3fb82813f (patch)
tree1932a1ba2e916a798c3a46e698e7d1bdaa49432d /src/sessionManager.hpp
parentad4ae6449221edbbe5fcec9c366b1748fea2ba17 (diff)
feat: kick client (#6)
Diffstat (limited to 'src/sessionManager.hpp')
-rw-r--r--src/sessionManager.hpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/sessionManager.hpp b/src/sessionManager.hpp
index 21c47b9..79fa372 100644
--- a/src/sessionManager.hpp
+++ b/src/sessionManager.hpp
@@ -15,13 +15,16 @@ class CSessionManager {
void run();
void broadcast(const std::string &msg) const;
- void kick(const CSession *session) const;
+ void kick(const CSession *session, const std::string &reason = "") const;
void addSession(const CSession &session);
- void removeSession(std::pair<std::jthread, std::shared_ptr<CSession>> *session);
+ void removeSession(std::pair<std::jthread, std::shared_ptr<CSession>> *session, const bool &kill = false);
bool nameExists(const std::string &name);
void shutdownSessions();
+ const CSession *getByName(const std::string &name) const;
+ const CSession *getByIp(const char m_ip[INET_ADDRSTRLEN]) const;
+
private:
void broadcastChat(const std::string &msg, const std::string &username) const;