bonus-edge-proxy/src/web/web_server.h

44 lines
959 B
C
Raw Normal View History

2025-10-15 14:27:21 +08:00
// 文件名: src/web/web_server.h
#ifndef WEB_SERVER_H
#define WEB_SERVER_H
#include "crow.h"
#include "crow/middlewares/cors.h"
2025-10-15 14:27:21 +08:00
#include "systemMonitor/system_monitor.h"
#include "deviceManager/device_manager.h"
2025-10-16 17:05:24 +08:00
#include "dataCache/live_data_cache.h"
2025-10-15 14:27:21 +08:00
#include <thread>
// 将 WebServer 的基类模板参数 改为 crow::CORSHandler
class WebServer : public crow::Crow<crow::CORSHandler> {
2025-10-15 14:27:21 +08:00
public:
2025-10-16 17:05:24 +08:00
WebServer(SystemMonitor::SystemMonitor& monitor,
DeviceManager& deviceManager,
LiveDataCache& liveDataCache,
uint16_t port = 8080
);
2025-10-15 14:27:21 +08:00
~WebServer();
WebServer(const WebServer&) = delete;
WebServer& operator=(const WebServer&) = delete;
void start();
void stop();
private:
void setup_routes();
SystemMonitor::SystemMonitor& m_monitor;
DeviceManager& m_device_manager;
2025-10-16 17:05:24 +08:00
LiveDataCache& m_live_data_cache;
2025-10-15 14:27:21 +08:00
uint16_t m_port;
std::thread m_thread;
2025-10-15 14:27:21 +08:00
};
#endif // WEB_SERVER_H