/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Console.cpp Date: 2021-6-8 Author: Reece ***/ #include #include "Console.hpp" #include "Commands/Commands.hpp" #include "Hooks/Hooks.hpp" #include "ConsoleStd/ConsoleStd.hpp" #include "ConsoleWxWidgets/ConsoleWxWidgets.hpp" #include "ConsoleFIO/ConsoleFIO.hpp" #include "Flusher.hpp" namespace Aurora::Console { AUKN_SYM void WriteLine(const ConsoleMessage &msg) { Hooks::WriteLine(msg); } AUKN_SYM AuUInt32 ReadStdIn(void *buffer, AuUInt32 length) { return ConsoleStd::ReadStdIn(buffer, length); } AUKN_SYM AuUInt32 WriteStdOut(const void *buffer, AuUInt32 length) { return ConsoleStd::WriteStdOut(buffer, length); } AUKN_SYM bool DispatchRawLine(const AuString &string) { if (Hooks::gExternalLineProcessor) { Hooks::gExternalLineProcessor->OnProcessedLineUTF8(string); return true; } return Commands::DispatchCommand(string); } void Init() { Hooks::Init(); ConsoleStd::Init(); ConsoleWxWidgets::Init(); } void Init2() { ConsoleFIO::Init(); InitFlusher(); } void Pump() { Commands::PumpCommands(); ConsoleStd::Pump(); ConsoleWxWidgets::Pump(); ConsoleFIO::Pump(); } void Exit() { DeinitFlusher(); ConsoleStd::Exit(); ConsoleWxWidgets::Exit(); ConsoleFIO::Exit(); Hooks::Deinit(); } AUKN_SYM void OpenLateStd() { ConsoleStd::Start(); } AUKN_SYM void OpenLateGUI() { ConsoleWxWidgets::Start(); } }