add file.create_memory_device, app.create_memory_device

This commit is contained in:
MihailRis
2025-11-16 18:13:53 +03:00
parent 654267f2d4
commit 0c517709a1
4 changed files with 40 additions and 4 deletions
+15
View File
@@ -1,6 +1,21 @@
#include "api_lua.hpp"
#include "io/io.hpp"
#include "io/devices/MemoryDevice.hpp"
static int l_create_memory_device(lua::State* L) {
auto name = lua::require_string(L, 1);
if (io::get_device(name)) {
throw std::runtime_error(
"entry-point '" + std::string(name) + "' is already used"
);
}
io::set_device(name, std::make_unique<io::MemoryDevice>());
return 0;
}
const luaL_Reg applib[] = {
{"create_memory_device", lua::wrap<l_create_memory_device>},
// see libcore.cpp an stdlib.lua
{nullptr, nullptr}
};