#pragma once #include #include ///////////////////////// Configs ///////////////////////// // Plugins & Base libs path #define LLSE_DEPENDS_DIR "./plugins/lib" #define LLSE_PLUGINS_LOAD_DIR "./plugins" // Plugin package information #define LLSE_PLUGIN_PACKAGE_EXTENSION ".llplugin" #define LLSE_PLUGIN_PACKAGE_TEMP_DIR "./plugins/LiteLoader/temp" #define LLSE_PLUGIN_PACKAGE_UNCOMPRESS_TIMEOUT 30000 // Current language information #define LLSE_BACKEND_NODEJS_NAME "NodeJs" #define LLSE_BACKEND_JS_NAME "Js" #define LLSE_BACKEND_LUA_NAME "Lua" #if defined(LLSE_BACKEND_QUICKJS) // QuickJs #define LLSE_BACKEND_TYPE LLSE_BACKEND_JS_NAME #define LLSE_PLUGINS_EXTENSION ".js" #define LLSE_PLUGINS_ROOT_DIR "plugins" #define LLSE_IS_PLUGIN_PACKAGE 0 #elif defined(LLSE_BACKEND_LUA) // Lua #define LLSE_BACKEND_TYPE LLSE_BACKEND_LUA_NAME #define LLSE_PLUGINS_EXTENSION ".lua" #define LLSE_PLUGINS_ROOT_DIR "plugins" #define LLSE_IS_PLUGIN_PACKAGE 0 #elif defined(LLSE_BACKEND_NODEJS) // NodeJs #define LLSE_BACKEND_TYPE LLSE_BACKEND_NODEJS_NAME #define LLSE_PLUGINS_EXTENSION LLSE_PLUGIN_PACKAGE_EXTENSION #define LLSE_PLUGINS_ROOT_DIR "plugins/nodejs" #define LLSE_IS_PLUGIN_PACKAGE 1 #endif // Language specific information #define LLSE_NODEJS_ROOT_DIR "plugins/nodejs" // All backends information #define LLSE_MODULE_TYPE LLSE_BACKEND_TYPE #define LLSE_VALID_BACKENDS std::vector({"Js", "Lua", "NodeJs"}) #define LLSE_VALID_PLUGIN_EXTENSIONS std::vector({".js", ".lua", ""}) #define LLSE_VALID_PLUGIN_PACKAGE_IDENTIFIER std::vector({"", "", "package.json"}) #define LLSE_VALID_BACKENDS_COUNT LLSE_VALID_BACKENDS.size() // Loader information #if defined(LLSE_BACKEND_NODEJS) #define LLSE_LOADER_NAME "ScriptEngine-NodeJs" #define LLSE_LOADER_DESCRIPTION "Node.js ScriptEngine for LiteLoaderBDS" #elif defined(LLSE_BACKEND_QUICKJS) #define LLSE_LOADER_NAME "ScriptEngine-QuickJs" #define LLSE_LOADER_DESCRIPTION "Javascript ScriptEngine for LiteLoaderBDS" #elif defined(LLSE_BACKEND_LUA) #define LLSE_LOADER_NAME "ScriptEngine-Lua" #define LLSE_LOADER_DESCRIPTION "Lua ScriptEngine for LiteLoaderBDS" #endif // Debug engine information #if defined(LLSE_BACKEND_NODEJS) #define LLSE_DEBUG_CMD "nodejsdebug" #elif defined(LLSE_BACKEND_QUICKJS) #define LLSE_DEBUG_CMD "jsdebug" #elif defined(LLSE_BACKEND_LUA) #define LLSE_DEBUG_CMD "luadebug" #endif #define LLSE_DEBUG_ENGINE_NAME "__LLSE_DEBUG_ENGINE__" // Global communication #define LLSE_GLOBAL_DATA_NAME L"LLSE_GLOBAL_DATA_SECTION" #define LLSE_REMOTE_CALL_EVENT_NAME L"LLSE_REMOTE_CALL_EVENT" #define LLSE_MESSAGE_SYSTEM_WAIT_CHECK_INTERVAL 5 // Timeout #define LLSE_MAXWAIT_REMOTE_LOAD 10 * 1000 #define LLSE_MAXWAIT_REMOTE_CALL 30 * 1000 // Thread pool parameter #define LLSE_POOL_THREAD_COUNT 4 // Others #define LLSE_7Z_PATH "./plugins/LiteLoader/7z/7za.exe"