From 20d28e80a5c861a9d5f449ea911ab75b4f37ad0d Mon Sep 17 00:00:00 2001 From: Jef Date: Tue, 24 Sep 2024 14:54:57 +0200 Subject: Initial community commit --- Src/Wasabi/api/console/console.cpp | 33 +++++++++++++++++++++++++++++++++ Src/Wasabi/api/console/console.h | 19 +++++++++++++++++++ 2 files changed, 52 insertions(+) create mode 100644 Src/Wasabi/api/console/console.cpp create mode 100644 Src/Wasabi/api/console/console.h (limited to 'Src/Wasabi/api/console') diff --git a/Src/Wasabi/api/console/console.cpp b/Src/Wasabi/api/console/console.cpp new file mode 100644 index 00000000..3188ac7d --- /dev/null +++ b/Src/Wasabi/api/console/console.cpp @@ -0,0 +1,33 @@ +#include "console.h" +#include +#include + +void Console::outputString(int severity, const char *string) { + if (!console) { + console = new ConsoleEnum; + } + + if (needscan) { + needscan=0; + console->reset(); + svc_console *con = console->getNext(); + noconsole = (con == NULL); + } + if (noconsole) return; + + console->reset(); + svc_console *con = console->getNext(); + while (con) { + con->outputString(severity, string); + con = console->getNext(); + } +} + +void Console::reset() { + needscan=1; +} + +int Console::needscan=1; +int Console::noconsole=0; + +ConsoleEnum *Console::console = NULL; diff --git a/Src/Wasabi/api/console/console.h b/Src/Wasabi/api/console/console.h new file mode 100644 index 00000000..bece619d --- /dev/null +++ b/Src/Wasabi/api/console/console.h @@ -0,0 +1,19 @@ +#ifndef __CONSOLE_H +#define __CONSOLE_H + +class ConsoleEnum; + +class Console { + public: + + static void outputString(int severity, const char *string); + static void reset(); + + private: + + static ConsoleEnum *console; + static int needscan; + static int noconsole; +}; + +#endif -- cgit