AuroraRuntime/Include/Aurora/Console/ConsoleMessage.hpp

55 lines
1.3 KiB
C++
Raw Normal View History

2021-06-27 21:25:29 +00:00
/***
Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved.
File: ConsoleMessage.hpp
Date: 2021-6-10
Author: Reece
***/
#pragma once
//#include <Aurora/Time/Time.hpp>
namespace Aurora::Threading::Threads
{
AUKN_SYM AuThreadId_t GetThreadId();
}
namespace Aurora::Time
{
AUKN_SYM AuUInt64 CurrentClockMS();
}
namespace Aurora::Console
{
2021-10-01 16:26:13 +00:00
class ConsoleMessage
2021-06-27 21:25:29 +00:00
{
public:
EAnsiColor color;
AuString prefix;
AuString line;
AuUInt64 time;
AuThreadId_t tid;
2021-10-01 16:26:13 +00:00
inline ConsoleMessage()
2021-06-27 21:25:29 +00:00
{
color = EAnsiColor::eReset;
}
2021-10-01 16:26:13 +00:00
inline ConsoleMessage(const AuString &prefix, const AuString &line) : prefix(prefix), line(line), color(EAnsiColor::eReset)
2021-06-27 21:25:29 +00:00
{
time = Time::CurrentClockMS();
tid = Threading::Threads::GetThreadId();
}
2021-10-01 16:26:13 +00:00
inline ConsoleMessage(const EAnsiColor color, const AuString &prefix, const AuString &line) : prefix(prefix), line(line), color(color)
2021-06-27 21:25:29 +00:00
{
time = Time::CurrentClockMS();
tid = Threading::Threads::GetThreadId();
}
2021-10-01 16:26:13 +00:00
AUKN_SYM AuString StringifyTime(bool simple = false) const;
AUKN_SYM AuString GetWrappedTag() const;
AUKN_SYM AuString ToConsole() const;
AUKN_SYM AuString ToSimplified() const;
2021-06-27 21:25:29 +00:00
};
}