1
0
Fork 0
mirror of https://github.com/luanti-org/luanti.git synced 2025-06-27 16:36:03 +00:00

Use a settings object for the main settings

This unifies the settings APIs.

This also unifies the sync and async registration APIs, since the async
registration API did not support adding non-functions to the API table.
This commit is contained in:
ShadowNinja 2014-12-12 14:49:19 -05:00
parent a024042bf5
commit 43d1f375d1
46 changed files with 411 additions and 417 deletions

View file

@ -42,6 +42,9 @@ private:
// set(self, key, value)
static int l_set(lua_State *L);
// set_bool(self, key, value)
static int l_set_bool(lua_State* L);
// remove(self, key) -> success
static int l_remove(lua_State *L);
@ -54,16 +57,20 @@ private:
// to_table(self) -> {[key1]=value1,...}
static int l_to_table(lua_State *L);
bool m_write_allowed;
Settings *m_settings;
std::string m_filename;
bool m_is_own_settings;
bool m_write_allowed;
public:
LuaSettings(const char *filename, bool write_allowed);
LuaSettings(Settings *settings, const std::string &filename);
LuaSettings(const std::string &filename, bool write_allowed);
~LuaSettings();
static void create(lua_State *L, Settings *settings, const std::string &filename);
// LuaSettings(filename)
// Creates an LuaSettings and leaves it on top of stack
// Creates a LuaSettings and leaves it on top of the stack
static int create_object(lua_State *L);
static LuaSettings *checkobject(lua_State *L, int narg);