X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/c46aba70aa4ccf22cc19fac31d451c7158e922dd..39c935d6d5ee86d153f6f7e6a10d723ae7c57f6f:/src/bindings/lua/simgrid_lua.cpp diff --git a/src/bindings/lua/simgrid_lua.cpp b/src/bindings/lua/simgrid_lua.cpp index 8510071d25..26e9078f75 100644 --- a/src/bindings/lua/simgrid_lua.cpp +++ b/src/bindings/lua/simgrid_lua.cpp @@ -1,4 +1,4 @@ -/* Copyright (c) 2010-2015. The SimGrid Team. +/* Copyright (c) 2010-2021. The SimGrid Team. * All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -6,61 +6,56 @@ /* SimGrid Lua bindings */ -#include "lua_private.h" -#include "lua_utils.h" +#include "lua_private.hpp" +#include "lua_utils.hpp" #include "src/surf/xml/platf.hpp" - +#include XBT_LOG_NEW_DEFAULT_CATEGORY(lua, "Lua Bindings"); -extern "C" { -#include - -int luaopen_simgrid(lua_State *L); -static void sglua_register_c_functions(lua_State *L); -} +extern "C" int luaopen_simgrid(lua_State* L); /* ********************************************************************************* */ /* simgrid API */ /* ********************************************************************************* */ /** - * \brief Prints a log string with debug level. - * \param L a Lua state - * \return number of values returned to Lua + * @brief Prints a log string with debug level. + * @param L a Lua state + * @return number of values returned to Lua * * - Argument 1 (string): the text to print */ -static int debug(lua_State* L) { - +static int debug(lua_State* L) +{ const char* str = luaL_checkstring(L, 1); XBT_DEBUG("%s", str); return 0; } /** - * \brief Prints a log string with info level. - * \param L a Lua state - * \return number of values returned to Lua + * @brief Prints a log string with info level. + * @param L a Lua state + * @return number of values returned to Lua * * - Argument 1 (string): the text to print */ -static int info(lua_State* L) { - +static int info(lua_State* L) +{ const char* str = luaL_checkstring(L, 1); XBT_INFO("%s", str); return 0; } -static int error(lua_State* L) { - +static int error(lua_State* L) +{ const char* str = luaL_checkstring(L, 1); XBT_ERROR("%s", str); return 0; } -static int critical(lua_State* L) { - +static int critical(lua_State* L) +{ const char* str = luaL_checkstring(L, 1); XBT_CRITICAL("%s", str); return 0; @@ -70,16 +65,17 @@ static int critical(lua_State* L) { * @brief Dumps a lua table with XBT_DEBUG * * This function can be called from within lua via "simgrid.dump(table)". It will - * then dump the table via XBT_DEBUG + * then dump the table via XBT_DEBUG */ -static int dump(lua_State* L) { +static int dump(lua_State* L) +{ int argc = lua_gettop(L); for (int i = 1; i <= argc; i++) { if (lua_istable(L, i)) { lua_pushnil(L); /* table nil */ - //lua_next pops the topmost element from the stack and + //lua_next pops the topmost element from the stack and //gets the next pair from the table at the specified index while (lua_next(L, i)) { /* table key val */ // we need to copy here, as a cast from "Number" to "String" @@ -89,7 +85,7 @@ static int dump(lua_State* L) { lua_pushvalue(L, -2); /* table key val key */ - XBT_DEBUG("%s", sglua_keyvalue_tostring(L, -1, -2)); + XBT_DEBUG("%s", sglua_keyvalue_tostring(L, -1, -2).c_str()); } lua_settop(L, argc); // Remove everything except the initial arguments @@ -105,7 +101,7 @@ static const luaL_Reg simgrid_functions[] = { {"info", info}, {"critical", critical}, {"error", error}, - {NULL, NULL} + {nullptr, nullptr} }; /* ********************************************************************************* */ @@ -113,26 +109,8 @@ static const luaL_Reg simgrid_functions[] = { /* ********************************************************************************* */ /** - * \brief Opens the simgrid Lua module. - * - * This function is called automatically by the Lua interpreter when some - * Lua code requires the "simgrid" module. - * - * \param L the Lua state - */ -int luaopen_simgrid(lua_State *L) -{ - XBT_DEBUG("luaopen_simgrid *****"); - - sglua_register_c_functions(L); - - return 1; -} - - -/** - * \brief Makes the core functions available to the Lua world. - * \param L a Lua world + * @brief Makes the core functions available to the Lua world. + * @param L a Lua world */ static void sglua_register_core_functions(lua_State *L) { @@ -143,12 +121,20 @@ static void sglua_register_core_functions(lua_State *L) } /** - * \brief Creates the simgrid module and make it available to Lua. - * \param L a Lua world + * @brief Opens the simgrid Lua module. + * + * This function is called automatically by the Lua interpreter when some + * Lua code requires the "simgrid" module. + * + * @param L the Lua state */ -static void sglua_register_c_functions(lua_State *L) +int luaopen_simgrid(lua_State *L) { + XBT_DEBUG("luaopen_simgrid *****"); + sglua_register_core_functions(L); sglua_register_host_functions(L); sglua_register_platf_functions(L); + + return 1; }