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 | |
| parent | 6a51ab4525c59e9fe2bdbd92493019b0a98c6b94 (diff) | |
internal!: organized internal structure, using cmake now
Diffstat (limited to 'src')
| -rw-r--r-- | src/command/commandHandler.cpp (renamed from src/commandHandler.cpp) | 4 | ||||
| -rw-r--r-- | src/command/commandHandler.hpp (renamed from src/commandHandler.hpp) | 2 | ||||
| -rw-r--r-- | src/command/commands.cpp (renamed from src/commands.cpp) | 6 | ||||
| -rw-r--r-- | src/command/commands.hpp (renamed from src/commands.hpp) | 0 | ||||
| -rw-r--r-- | src/core/chatManager.cpp (renamed from src/chatManager.cpp) | 6 | ||||
| -rw-r--r-- | src/core/chatManager.hpp (renamed from src/chatManager.hpp) | 0 | ||||
| -rw-r--r-- | src/core/chatServer.cpp (renamed from src/chatServer.cpp) | 12 | ||||
| -rw-r--r-- | src/core/chatServer.hpp (renamed from src/chatServer.hpp) | 0 | ||||
| -rw-r--r-- | src/core/server.cpp (renamed from src/server.cpp) | 2 | ||||
| -rw-r--r-- | src/core/server.hpp (renamed from src/server.hpp) | 2 | ||||
| -rw-r--r-- | src/core/session.cpp (renamed from src/session.cpp) | 6 | ||||
| -rw-r--r-- | src/core/session.hpp (renamed from src/session.hpp) | 4 | ||||
| -rw-r--r-- | src/core/sessionManager.cpp (renamed from src/sessionManager.cpp) | 6 | ||||
| -rw-r--r-- | src/core/sessionManager.hpp | 16 | ||||
| -rw-r--r-- | src/debug/format.hpp (renamed from src/format.hpp) | 0 | ||||
| -rw-r--r-- | src/debug/log.hpp (renamed from src/log.hpp) | 2 | ||||
| -rw-r--r-- | src/io/IOManager.cpp (renamed from src/IOManager.cpp) | 2 | ||||
| -rw-r--r-- | src/io/IOManager.hpp (renamed from src/IOManager.hpp) | 4 | ||||
| -rw-r--r-- | src/io/inputManager.cpp (renamed from src/inputManager.cpp) | 6 | ||||
| -rw-r--r-- | src/io/inputManager.hpp (renamed from src/inputManager.hpp) | 0 | ||||
| -rw-r--r-- | src/io/renderManager.cpp (renamed from src/renderManager.cpp) | 2 | ||||
| -rw-r--r-- | src/io/renderManager.hpp (renamed from src/renderManager.hpp) | 0 | ||||
| -rw-r--r-- | src/io/scroller.cpp (renamed from src/scroller.cpp) | 2 | ||||
| -rw-r--r-- | src/io/scroller.hpp (renamed from src/scroller.hpp) | 0 | ||||
| -rw-r--r-- | src/main.cpp | 4 | ||||
| -rw-r--r-- | src/misc/FileDescriptor.cpp (renamed from src/FileDescriptor.cpp) | 0 | ||||
| -rw-r--r-- | src/misc/FileDescriptor.hpp (renamed from src/FileDescriptor.hpp) | 0 | ||||
| -rw-r--r-- | src/sessionManager.hpp | 40 |
28 files changed, 44 insertions, 84 deletions
diff --git a/src/commandHandler.cpp b/src/command/commandHandler.cpp index e459ee0..4aa6723 100644 --- a/src/commandHandler.cpp +++ b/src/command/commandHandler.cpp @@ -1,6 +1,6 @@ #include "commandHandler.hpp" -#include "log.hpp" -#include "session.hpp" +#include "../debug/log.hpp" +#include "../core/session.hpp" #include <algorithm> #include <memory> diff --git a/src/commandHandler.hpp b/src/command/commandHandler.hpp index 89d19d6..7fc20d5 100644 --- a/src/commandHandler.hpp +++ b/src/command/commandHandler.hpp @@ -1,6 +1,6 @@ #pragma once -#include "session.hpp" +#include "../core/session.hpp" #include <any> #include <functional> #include <memory> diff --git a/src/commands.cpp b/src/command/commands.cpp index e7894db..6f3db68 100644 --- a/src/commands.cpp +++ b/src/command/commands.cpp @@ -1,8 +1,8 @@ #include "commands.hpp" #include "commandHandler.hpp" -#include "format.hpp" -#include "log.hpp" -#include "sessionManager.hpp" +#include "../debug/format.hpp" +#include "../debug/log.hpp" +#include "../core/sessionManager.hpp" #define NOREASON "No reason specified"; diff --git a/src/commands.hpp b/src/command/commands.hpp index b49b6dc..b49b6dc 100644 --- a/src/commands.hpp +++ b/src/command/commands.hpp diff --git a/src/chatManager.cpp b/src/core/chatManager.cpp index 8439673..e981e7f 100644 --- a/src/chatManager.cpp +++ b/src/core/chatManager.cpp @@ -1,7 +1,7 @@ #include "chatManager.hpp" -#include "IOManager.hpp" -#include "inputManager.hpp" -#include "log.hpp" +#include "../io/IOManager.hpp" +#include "../io/inputManager.hpp" +#include "../debug/log.hpp" #include "sessionManager.hpp" CChatManager::CChatManager() { diff --git a/src/chatManager.hpp b/src/core/chatManager.hpp index bd305de..bd305de 100644 --- a/src/chatManager.hpp +++ b/src/core/chatManager.hpp diff --git a/src/chatServer.cpp b/src/core/chatServer.cpp index 458fc09..4a16c56 100644 --- a/src/chatServer.cpp +++ b/src/core/chatServer.cpp @@ -1,11 +1,11 @@ #include "chatServer.hpp" -#include "IOManager.hpp" +#include "../io/IOManager.hpp" #include "chatManager.hpp" -#include "commandHandler.hpp" -#include "commands.hpp" -#include "inputManager.hpp" -#include "log.hpp" -#include "renderManager.hpp" +#include "../command/commandHandler.hpp" +#include "../command/commands.hpp" +#include "../io/inputManager.hpp" +#include "../debug/log.hpp" +#include "../io/renderManager.hpp" #include "server.hpp" #include "sessionManager.hpp" diff --git a/src/chatServer.hpp b/src/core/chatServer.hpp index 00d2979..00d2979 100644 --- a/src/chatServer.hpp +++ b/src/core/chatServer.hpp diff --git a/src/server.cpp b/src/core/server.cpp index db92481..a78c217 100644 --- a/src/server.cpp +++ b/src/core/server.cpp @@ -1,5 +1,5 @@ #include "server.hpp" -#include "log.hpp" +#include "../debug/log.hpp" #include <cstring> #include <memory> #include <sys/socket.h> diff --git a/src/server.hpp b/src/core/server.hpp index ce375de..c42192b 100644 --- a/src/server.hpp +++ b/src/core/server.hpp @@ -1,6 +1,6 @@ #pragma once -#include "FileDescriptor.hpp" +#include "../misc/FileDescriptor.hpp" #include <memory> #include <netinet/in.h> diff --git a/src/session.cpp b/src/core/session.cpp index 126d547..7b0b459 100644 --- a/src/session.cpp +++ b/src/core/session.cpp @@ -1,8 +1,8 @@ #include "session.hpp" #include "chatManager.hpp" -#include "commandHandler.hpp" -#include "format.hpp" -#include "log.hpp" +#include "../command/commandHandler.hpp" +#include "../debug/format.hpp" +#include "../debug/log.hpp" #include "server.hpp" #include "sessionManager.hpp" #include <algorithm> diff --git a/src/session.hpp b/src/core/session.hpp index 2ca274e..ca951d1 100644 --- a/src/session.hpp +++ b/src/core/session.hpp @@ -1,8 +1,8 @@ #pragma once -#include "FileDescriptor.hpp" +#include "../misc/FileDescriptor.hpp" #include "chatManager.hpp" -#include "format.hpp" +#include "../debug/format.hpp" #include <format> #include <memory> #include <netinet/in.h> diff --git a/src/sessionManager.cpp b/src/core/sessionManager.cpp index 7ed1a8e..6c002a5 100644 --- a/src/sessionManager.cpp +++ b/src/core/sessionManager.cpp @@ -1,8 +1,8 @@ #include "sessionManager.hpp" -#include "IOManager.hpp" +#include "../io/IOManager.hpp" #include "chatServer.hpp" -#include "format.hpp" -#include "log.hpp" +#include "../debug/format.hpp" +#include "../debug/log.hpp" #include "session.hpp" #include <algorithm> #include <ranges> diff --git a/src/core/sessionManager.hpp b/src/core/sessionManager.hpp index e84226c..71bcc5f 100644 --- a/src/core/sessionManager.hpp +++ b/src/core/sessionManager.hpp @@ -1,9 +1,9 @@ #pragma once #include "../debug/format.hpp" -#include "../misc/memory.hpp" #include "chatManager.hpp" #include "session.hpp" +#include <memory> #include <thread> #include <vector> @@ -15,22 +15,22 @@ class CSessionManager { void newSession(); void run(); - void broadcast(const std::string &msg, std::optional<WP<CSession>> self = std::nullopt) const; // second param only specified when we want to exclude the sender - void kick(WP<CSession> session, const bool kill = false, const std::string &reason = ""); + void broadcast(const std::string &msg, std::optional<std::weak_ptr<CSession>> self = std::nullopt) const; // second param only specified when we want to exclude the sender + void kick(std::weak_ptr<CSession> session, const bool kill = false, const std::string &reason = ""); void addSession(const CSession &session); bool nameExists(const std::string &name); void shutdownSessions(); - SP<CSession> getByName(const std::string &name) const; - SP<CSession> getByIp(const std::string &ip) const; - std::vector<SP<CSession>> getSessions() const; + std::shared_ptr<CSession> getByName(const std::string &name) const; + std::shared_ptr<CSession> getByIp(const std::string &ip) const; + std::vector<std::shared_ptr<CSession>> getSessions() const; private: void broadcast(const CChatManager::SMessage &msg) const; - std::vector<std::pair<std::jthread, SP<CSession>>> m_vSessions; + std::vector<std::pair<std::jthread, std::shared_ptr<CSession>>> m_vSessions; friend class CChatManager; }; -inline SP<CSessionManager> g_pSessionManager; +inline std::shared_ptr<CSessionManager> g_pSessionManager; diff --git a/src/format.hpp b/src/debug/format.hpp index f857f96..f857f96 100644 --- a/src/format.hpp +++ b/src/debug/format.hpp diff --git a/src/log.hpp b/src/debug/log.hpp index a4654c4..71a958e 100644 --- a/src/log.hpp +++ b/src/debug/log.hpp @@ -1,5 +1,5 @@ #pragma once -#include "IOManager.hpp" +#include "../io/IOManager.hpp" #include "format.hpp" #include <print> #include <string> diff --git a/src/IOManager.cpp b/src/io/IOManager.cpp index eb648e5..be29adf 100644 --- a/src/IOManager.cpp +++ b/src/io/IOManager.cpp @@ -1,6 +1,6 @@ #include "IOManager.hpp" #include "inputManager.hpp" -#include "log.hpp" +#include "../debug/log.hpp" CIOManager::CIOManager() { log(LOG, "IOManager: initialized"); diff --git a/src/IOManager.hpp b/src/io/IOManager.hpp index 670e597..d1d891d 100644 --- a/src/IOManager.hpp +++ b/src/io/IOManager.hpp @@ -1,7 +1,7 @@ #pragma once -#include "chatManager.hpp" -#include "format.hpp" +#include "../core/chatManager.hpp" +#include "../debug/format.hpp" #include <optional> class CIOManager { diff --git a/src/inputManager.cpp b/src/io/inputManager.cpp index d392081..09a7729 100644 --- a/src/inputManager.cpp +++ b/src/io/inputManager.cpp @@ -1,8 +1,8 @@ #include "inputManager.hpp" #include "IOManager.hpp" -#include "chatManager.hpp" -#include "commandHandler.hpp" -#include "log.hpp" +#include "../core/chatManager.hpp" +#include "../command/commandHandler.hpp" +#include "../debug/log.hpp" #include "renderManager.hpp" #include "scroller.hpp" diff --git a/src/inputManager.hpp b/src/io/inputManager.hpp index a81e39d..a81e39d 100644 --- a/src/inputManager.hpp +++ b/src/io/inputManager.hpp diff --git a/src/renderManager.cpp b/src/io/renderManager.cpp index 18b0664..a8dff68 100644 --- a/src/renderManager.cpp +++ b/src/io/renderManager.cpp @@ -1,5 +1,5 @@ #include "renderManager.hpp" -#include "log.hpp" +#include "../debug/log.hpp" CRenderManager::CRenderManager() : screen(ftxui::ScreenInteractive::TerminalOutput()) { diff --git a/src/renderManager.hpp b/src/io/renderManager.hpp index 7a14cc0..7a14cc0 100644 --- a/src/renderManager.hpp +++ b/src/io/renderManager.hpp diff --git a/src/scroller.cpp b/src/io/scroller.cpp index e841401..c595a39 100644 --- a/src/scroller.cpp +++ b/src/io/scroller.cpp @@ -1,6 +1,6 @@ #include "scroller.hpp" -#include "log.hpp" +#include "../debug/log.hpp" #include <algorithm> // for max, min #include <ftxui/component/component_base.hpp> // for Component, ComponentBase #include <ftxui/component/event.hpp> // for Event, Event::ArrowDown, Event::ArrowUp, Event::End, Event::Home, Event::PageDown, Event::PageUp diff --git a/src/scroller.hpp b/src/io/scroller.hpp index b8b39b1..b8b39b1 100644 --- a/src/scroller.hpp +++ b/src/io/scroller.hpp diff --git a/src/main.cpp b/src/main.cpp index 0ee7b3a..c4a6ce4 100644 --- a/src/main.cpp +++ b/src/main.cpp @@ -1,5 +1,5 @@ -#include "chatServer.hpp" -#include "log.hpp" +#include "core/chatServer.hpp" +#include "debug/log.hpp" #include <algorithm> #include <csignal> #include <unistd.h> diff --git a/src/FileDescriptor.cpp b/src/misc/FileDescriptor.cpp index 92505f5..92505f5 100644 --- a/src/FileDescriptor.cpp +++ b/src/misc/FileDescriptor.cpp diff --git a/src/FileDescriptor.hpp b/src/misc/FileDescriptor.hpp index 75aeb73..75aeb73 100644 --- a/src/FileDescriptor.hpp +++ b/src/misc/FileDescriptor.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 <memory> -#include <thread> -#include <vector> - -class CSessionManager { - public: - CSessionManager(); - ~CSessionManager(); - - void newSession(); - - void run(); - void broadcast(const std::string &msg, std::optional<std::weak_ptr<CSession>> self = std::nullopt) const; // second param only specified when we want to exclude the sender - void kick(std::weak_ptr<CSession> 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<CSession> getByName(const std::string &name) const; - std::shared_ptr<CSession> getByIp(const std::string &ip) const; - std::vector<std::shared_ptr<CSession>> getSessions() const; - - // Safer weak_ptr versions - recommended for most use cases to avoid accidental lifetime extension - std::weak_ptr<CSession> getByNameWeak(const std::string &name) const; - std::weak_ptr<CSession> getByIpWeak(const std::string &ip) const; - - private: - void broadcast(const CChatManager::SMessage &msg) const; - - std::vector<std::pair<std::jthread, std::shared_ptr<CSession>>> m_vSessions; - - friend class CChatManager; -}; -inline std::shared_ptr<CSessionManager> g_pSessionManager; |
