summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorlittleblack111 <littleblack11111@gmail.com>2025-06-12 21:41:41 +0800
committerlittleblack111 <littleblack11111@gmail.com>2025-06-13 20:22:51 +0800
commit6f7b994684032060f0a2d7af82f4f3572293b8d6 (patch)
tree793d328cbcd6761365267550b55db45aee9b21fc /src
parent6a51ab4525c59e9fe2bdbd92493019b0a98c6b94 (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.hpp16
-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.cpp4
-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.hpp40
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;