diff options
Diffstat (limited to 'src/tangara/lua/lua_filesystem.cpp')
| -rw-r--r-- | src/tangara/lua/lua_filesystem.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/tangara/lua/lua_filesystem.cpp b/src/tangara/lua/lua_filesystem.cpp index ea08ca48..de51f555 100644 --- a/src/tangara/lua/lua_filesystem.cpp +++ b/src/tangara/lua/lua_filesystem.cpp @@ -28,7 +28,7 @@ struct LuaFileEntry { static_assert(std::is_trivially_destructible<LuaFileEntry>()); static_assert(std::is_trivially_copy_assignable<LuaFileEntry>()); -static auto push_lua_file_entry(lua_State* L, const database::FileEntry& r) -> void { +static auto push_lua_file_entry(lua_State* L, const lua::FileEntry& r) -> void { // Create and init the userdata. LuaFileEntry* file_entry = reinterpret_cast<LuaFileEntry*>( lua_newuserdata(L, sizeof(LuaFileEntry) + r.filepath.size())); @@ -46,24 +46,24 @@ static auto push_lua_file_entry(lua_State* L, const database::FileEntry& r) -> v std::memcpy(file_entry->path, r.filepath.data(), r.filepath.size()); } -auto check_file_iterator(lua_State* L, int stack_pos) -> database::FileIterator* { - database::FileIterator* it = *reinterpret_cast<database::FileIterator**>( +auto check_file_iterator(lua_State* L, int stack_pos) -> lua::FileIterator* { + lua::FileIterator* it = *reinterpret_cast<lua::FileIterator**>( luaL_checkudata(L, stack_pos, kFileIteratorMetatable)); return it; } -static auto push_iterator(lua_State* state, const database::FileIterator& it) +static auto push_iterator(lua_State* state, const lua::FileIterator& it) -> void { - database::FileIterator** data = reinterpret_cast<database::FileIterator**>( + lua::FileIterator** data = reinterpret_cast<lua::FileIterator**>( lua_newuserdata(state, sizeof(uintptr_t))); - *data = new database::FileIterator(it); // TODO... + *data = new lua::FileIterator(it); // TODO... luaL_setmetatable(state, kFileIteratorMetatable); } static auto fs_iterate_prev(lua_State* state) -> int { - database::FileIterator* it = check_file_iterator(state, 1); + lua::FileIterator* it = check_file_iterator(state, 1); it->prev(); - std::optional<database::FileEntry> res = it->value(); + std::optional<lua::FileEntry> res = it->value(); if (res) { push_lua_file_entry(state, *res); @@ -75,9 +75,9 @@ static auto fs_iterate_prev(lua_State* state) -> int { } static auto fs_iterate(lua_State* state) -> int { - database::FileIterator* it = check_file_iterator(state, 1); + lua::FileIterator* it = check_file_iterator(state, 1); it->next(); - std::optional<database::FileEntry> res = it->value(); + std::optional<lua::FileEntry> res = it->value(); if (res) { push_lua_file_entry(state, *res); @@ -89,13 +89,13 @@ static auto fs_iterate(lua_State* state) -> int { } static auto fs_iterator_clone(lua_State* state) -> int { - database::FileIterator* it = check_file_iterator(state, 1); + lua::FileIterator* it = check_file_iterator(state, 1); push_iterator(state, *it); return 1; } static auto fs_iterator_gc(lua_State* state) -> int { - database::FileIterator* it = check_file_iterator(state, 1); + lua::FileIterator* it = check_file_iterator(state, 1); delete it; return 0; } @@ -146,12 +146,12 @@ static auto fs_new_iterator(lua_State* state) -> int { // Takes a filepath as a string and returns a new FileIterator // on that directory std::string filepath = luaL_checkstring(state, -1); - database::FileIterator iter(filepath); + lua::FileIterator iter(filepath); push_iterator(state, iter); return 1; } -static const struct luaL_Reg kDatabaseFuncs[] = {{"iterator", fs_new_iterator}, +static const struct luaL_Reg kFilesystemFuncs[] = {{"iterator", fs_new_iterator}, {NULL, NULL}}; static auto lua_filesystem(lua_State* state) -> int { @@ -167,7 +167,7 @@ static auto lua_filesystem(lua_State* state) -> int { lua_settable(state, -3); // metatable.__index = metatable luaL_setfuncs(state, kFileEntryFuncs, 0); - luaL_newlib(state, kDatabaseFuncs); + luaL_newlib(state, kFilesystemFuncs); return 1; } |
