From 8c34952fa03d58a005ccb7c54fca8c28b668071e Mon Sep 17 00:00:00 2001
From: Kubat <mael.martin31@gmail.com>
Date: Wed, 1 Sep 2021 13:28:08 +0200
Subject: [PATCH] MISC: Separate implementation of the different classes of
 Log.hh into multiple namespace Vivy{} in the Log.cc file

---
 src/Lib/Log.cc | 83 ++++++++++++++++++++++++++++++--------------------
 1 file changed, 50 insertions(+), 33 deletions(-)

diff --git a/src/Lib/Log.cc b/src/Lib/Log.cc
index 716b966a..5d66c93e 100644
--- a/src/Lib/Log.cc
+++ b/src/Lib/Log.cc
@@ -1,48 +1,21 @@
 #include "Log.hh"
 
-using namespace Vivy;
-
+// Vivy::LogSinkDispatcher and child classes implementation
+namespace Vivy
+{
 LogSinkDispatcher::~LogSinkDispatcher() noexcept {}
-LogSink::~LogSink() noexcept {}
-Logger::~Logger() noexcept { parentLogSink->closeLoggerClients(); }
-LogMessage::~LogMessage() noexcept { parentLogger->sendLogMessage(*this); }
 
 const std::string_view
 LogSinkDispatcher::getDispatcherName() const noexcept
 {
     return dispatcherName;
 }
-
-const chrono::milliseconds
-LogMessage::getTimeStamp() const noexcept
-{
-    return timeStamp;
 }
 
-LogMessage::Header const &
-LogMessage::getHeader() const noexcept
+// Vivy::LogSink implementation
+namespace Vivy
 {
-    return messageHeader;
-}
-
-const std::string_view
-LogMessage::getTextBuffer() const noexcept
-{
-    const char *txt = textBuffer.data();
-    return std::string_view{ txt, strlen(txt) };
-}
-
-void
-Logger::sendLogMessage(const LogMessage &msg) const noexcept
-{
-    parentLogSink->recieveLogMessage(this, msg);
-}
-
-const std::string_view
-Logger::getCategoryView() const noexcept
-{
-    return std::string_view{ logCategory };
-}
+LogSink::~LogSink() noexcept {}
 
 // Get the log message from the logger and add it to the sink's queue.
 void
@@ -113,6 +86,22 @@ LogSink::getLogDispatcher(const std::string_view name) const
                             return ptr->getDispatcherName() == name;
                         });
 }
+}
+
+// Vivy::Logger implementation
+namespace Vivy
+{
+void
+Logger::sendLogMessage(const LogMessage &msg) const noexcept
+{
+    parentLogSink->recieveLogMessage(this, msg);
+}
+
+const std::string_view
+Logger::getCategoryView() const noexcept
+{
+    return std::string_view{ logCategory };
+}
 
 LogMessage
 Logger::logEvent(const char *fileName, const char *functionName, const int lineNumber,
@@ -124,6 +113,12 @@ Logger::logEvent(const char *fileName, const char *functionName, const int lineN
                                                 .lineNumberInFile = lineNumber });
 }
 
+Logger::~Logger() noexcept { parentLogSink->closeLoggerClients(); }
+}
+
+// Vivy::LogMessage implementation
+namespace Vivy
+{
 LogMessage::LogMessage(Logger *const logger, const LogMessage::Header hdr) noexcept
     : messageHeader(hdr)
     , parentLogger(logger)
@@ -165,3 +160,25 @@ LogMessage::operator<<(const char *str) noexcept
     textBuffer[indexInArray] = '\0';
     return *this;
 }
+
+const chrono::milliseconds
+LogMessage::getTimeStamp() const noexcept
+{
+    return timeStamp;
+}
+
+LogMessage::Header const &
+LogMessage::getHeader() const noexcept
+{
+    return messageHeader;
+}
+
+const std::string_view
+LogMessage::getTextBuffer() const noexcept
+{
+    const char *txt = textBuffer.data();
+    return std::string_view{ txt, strlen(txt) };
+}
+
+LogMessage::~LogMessage() noexcept { parentLogger->sendLogMessage(*this); }
+}
-- 
GitLab