Refactor some generic reading/writing routines out of moviefile.cpp
[lsnes.git] / src / lua / settings.cpp
blob0b9ec2a91a4e3d91dc391f70fa0fb391b4345aed
1 #include "lua/internal.hpp"
2 #include "core/settings.hpp"
4 namespace
6 int ss_set(lua::state& L, lua::parameters& P)
8 std::string name, value;
10 P(name, value);
12 try {
13 lsnes_vsetc.set(name, value);
14 } catch(std::exception& e) {
15 L.pushnil();
16 L.pushstring(e.what());
17 return 2;
19 L.pushboolean(1);
20 return 1;
23 int ss_get(lua::state& L, lua::parameters& P)
25 std::string name;
27 P(name);
29 try {
30 std::string value = lsnes_vsetc.get(name);
31 L.pushlstring(value.c_str(), value.length());
32 return 1;
33 } catch(std::exception& e) {
34 L.pushnil();
35 L.pushstring(e.what());
36 return 2;
40 class lua_settings_dummy {};
41 lua::_class<lua_settings_dummy> lua_settings(lua_class_bind, "*settings", {
42 {"set", ss_set},
43 {"get", ss_get},
44 });