1 // =================================
 2 // Copyright (c) 2021 Seppo Laakko
 3 // Distributed under the MIT license
 4 // =================================
 5 
 6 #ifndef SOULNG_UTIL_LOG_INCLUDED
 7 #define SOULNG_UTIL_LOG_INCLUDED
 8 #include <soulng/util/UtilApi.hpp>
 9 #include <string>
10 
11 namespace soulng { namespace util {
12 
13 enum class LogMode
14 {
15     consolequeue
16 };
17 
18 void SetLogMode(LogMode mode);
19 void StartLog();
20 void EndLog();
21 void LogMessage(int logStreamIdconst std::string& message);
22 void LogMessage(int logStreamIdconst std::string& messageint indent);
23 int WaitForLogMessage();
24 int FetchLogMessage(char16_t* bufint size);
25 std::string FetchLogMessage(bool& endOfLogint timeoutMsbool& timeout);
26 
27 } } // namespace soulng::util
28 
29 #endif // SOULNG_UTIL_LOG_INCLUDED