1#ifndef ENGINE_SERVER_SERVER_LOGGER_H
2#define ENGINE_SERVER_SERVER_LOGGER_H
3#include <base/logger.h>
4
5#include <thread>
6
7class CServer;
8
9class CServerLogger : public ILogger
10{
11 CServer *m_pServer = nullptr;
12 CLock m_PendingLock;
13 std::vector<CLogMessage> m_vPending;
14 std::thread::id m_MainThread;
15
16public:
17 CServerLogger(CServer *pServer);
18 void Log(const CLogMessage *pMessage) override REQUIRES(!m_PendingLock);
19 // Must be called from the main thread!
20 void OnServerDeletion();
21};
22
23#endif // ENGINE_SERVER_SERVER_LOGGER_H
24