#include "Config.h" #include "Daemon.h" #include "util.h" #include "Log.h" #ifdef _WIN32 #include "Win32/Win32App.h" namespace i2p { namespace util { bool DaemonWin32::init(int argc, char* argv[]) { setlocale(LC_CTYPE, ""); SetConsoleCP(1251); SetConsoleOutputCP(1251); setlocale(LC_ALL, "Russian"); return Daemon_Singleton::init(argc, argv); } bool DaemonWin32::start() { setlocale(LC_CTYPE, ""); SetConsoleCP(1251); SetConsoleOutputCP(1251); setlocale(LC_ALL, "Russian"); if (!i2p::win32::StartWin32App ()) return false; // override log i2p::config::SetOption("log", std::string ("file")); bool ret = Daemon_Singleton::start(); if (ret && IsLogToFile ()) { // TODO: find out where this garbage to console comes from SetStdHandle(STD_OUTPUT_HANDLE, INVALID_HANDLE_VALUE); SetStdHandle(STD_ERROR_HANDLE, INVALID_HANDLE_VALUE); } return ret; } bool DaemonWin32::stop() { i2p::win32::StopWin32App (); return Daemon_Singleton::stop(); } void DaemonWin32::run () { i2p::win32::RunWin32App (); } } } #endif