LocalPlayer::accelerateHorizontal: cleanups
[oweals/minetest.git] / src / log.h
index f877f2f8a1c26f9767996c5c72d04a4e67327ff5..56492ff8688f2e0abf9210d26fcaad5a1838ea1c 100644 (file)
--- a/src/log.h
+++ b/src/log.h
@@ -24,7 +24,9 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include <queue>
 #include <string>
 #include <fstream>
-#include "threads.h"
+#include <thread>
+#include <mutex>
+#include "irrlichttypes.h"
 
 class ILogOutput;
 
@@ -38,12 +40,16 @@ enum LogLevel {
        LL_MAX,
 };
 
+typedef u8 LogLevelMask;
+#define LOGLEVEL_TO_MASKLEVEL(x) (1 << x)
+
 class Logger {
 public:
        void addOutput(ILogOutput *out);
        void addOutput(ILogOutput *out, LogLevel lev);
+       void addOutputMasked(ILogOutput *out, LogLevelMask mask);
        void addOutputMaxLevel(ILogOutput *out, LogLevel lev);
-       void removeOutput(ILogOutput *out);
+       LogLevelMask removeOutput(ILogOutput *out);
        void setLevelSilenced(LogLevel lev, bool silenced);
 
        void registerThread(const std::string &name);
@@ -73,8 +79,8 @@ private:
        // written to when one thread has access currently).
        // Works on all known architectures (x86, ARM, MIPS).
        volatile bool m_silenced_levels[LL_MAX];
-       std::map<threadid_t, std::string> m_thread_names;
-       mutable Mutex m_mutex;
+       std::map<std::thread::id, std::string> m_thread_names;
+       mutable std::mutex m_mutex;
        bool m_trace_enabled;
 };