/* */ #include "console.h" #include "NullOutputFile.h" #ifdef __MINGW32__ #include "WinConsoleFile.h" #else // !__MINGW32__ #include "BufferedFile.h" #endif // !__MINGW32__ namespace aria2 { namespace global { namespace { Console consoleCout; Console consoleCerr; Console consoleCoutBackup; }; // namespace void initConsole(bool suppress) { if (suppress) { consoleCout = consoleCerr = std::make_shared(); } else { #ifdef __MINGW32__ consoleCout = std::make_shared(STD_OUTPUT_HANDLE); consoleCerr = std::make_shared(STD_ERROR_HANDLE); #else // !__MINGW32__ consoleCout = std::make_shared(stdout); consoleCerr = std::make_shared(stderr); #endif // !__MINGW32__ } } void redirectStdoutToStderr() { consoleCoutBackup = std::move(consoleCout); consoleCout = consoleCerr; } const Console& cout() { return consoleCout; } const Console& cerr() { return consoleCerr; } } // namespace global } // namespace aria2