/*** Copyright (C) 2021 J Reece Wilson (a/k/a "Reece"). All rights reserved. File: Entrypoint.cpp Date: 2021-5-13 Author: Reece ***/ #include #include #include "RuntimeInternal.hpp" #include "Crypto.hpp" #include "Processes/Processes.hpp" #include "RNG/RNG.hpp" #include "Locale/Locale.hpp" #include "Console/Console.hpp" #include "IO/FS/FS.hpp" #include "Hashing/Hashing.hpp" #include "Debug/Debug.hpp" #include "Async/Async.hpp" #include "HWInfo/HWInfo.hpp" #if defined(AURORA_PLATFORM_WIN32) #include "Extensions/Win32/DarkTheme.hpp" #endif static void Init() { #if defined(AURORA_PLATFORM_WIN32) Aurora::Extensions::Win32::InitDarkMode(); #endif Crypto::InitCrypto(); Aurora::Console::Init(); Aurora::IO::FS::InitResources(); Aurora::Console::Init2(); Aurora::Debug::InitDebug(); Aurora::Locale::Init(); Aurora::Processes::Init(); Aurora::RNG::Init(); Aurora::Hashing::InitHashing(); Aurora::Async::InitAsync(); Aurora::HWInfo::Init(); } static void Pump() { Aurora::Console::Pump(); } static void Deinit() { Aurora::RNG::Release(); Aurora::Async::ShutdownAsync(); Aurora::Console::Exit(); } namespace Aurora { AUKN_SYM void RuntimeStart(const RuntimeStartInfo &info) { gRuntimeConfig = info; Init(); } AUKN_SYM void RuntimeShutdown() { Deinit(); } AUKN_SYM void RuntimeSysPump() { Pump(); } } #if defined(AURORA_PLATFORM_WIN32) BOOL WINAPI DllMain( HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpReserved) { if (fdwReason == DLL_PROCESS_ATTACH) { DisableThreadLibraryCalls(hinstDLL); } return TRUE; } #endif