/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Console.hpp Date: 2021-6-9 Author: Reece ***/ #pragma once #include "EAnsiColor.hpp" #include "ConsoleMessage.hpp" namespace Aurora::Console { namespace Logging { struct ILogger; } /// Writes a log message to the console subscribers and telemetry outputs AUKN_SYM void WriteLine(AuUInt8 level, const ConsoleMessage &msg); AUKN_SYM void SetGlobalLogger(const AuSPtr &defaultGlobalLogger); AUKN_SYM AuSPtr GetDefaultLogInterface(); /// Consider using the following function for asynchronous utf-8 processed line based input - /// Hooks::SetCallbackAndDisableCmdProcessing(...) AUKN_SYM AuUInt32 ReadStdIn(void *buffer, AuUInt32 length); /// Consider using AuLog for general purpose use AUKN_SYM AuUInt32 WriteStdOut(const void *buffer, AuUInt32 length); /** * Simulates a processed stdin line given a UTF8 string */ AUKN_SYM bool DispatchRawLine(const AuString &string); AUKN_SYM void OpenLateStd(); AUKN_SYM void OpenLateGUI(); } #include "Commands/Commands.hpp" #include "Hooks/Hooks.hpp" #include "Logging/Logging.hpp"