summaryrefslogtreecommitdiff
path: root/src/lua/include/bridge.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2023-11-14 13:20:04 +1100
committerjacqueline <me@jacqueline.id.au>2023-11-14 13:20:04 +1100
commit71ed09a6f70901c9097973a44b24d6a6ced2834f (patch)
tree3d02e4e180cd0a5caa1185eba89181607c4bccb9 /src/lua/include/bridge.hpp
parent8a0a167adbf3d9b6f8b6f16aaf20ca39ad5549de (diff)
downloadtangara-fw-71ed09a6f70901c9097973a44b24d6a6ced2834f.tar.gz
Add two-way databinding for lua, and flesh out the lua statusbar
Diffstat (limited to 'src/lua/include/bridge.hpp')
-rw-r--r--src/lua/include/bridge.hpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/lua/include/bridge.hpp b/src/lua/include/bridge.hpp
index 059d0604..26401d14 100644
--- a/src/lua/include/bridge.hpp
+++ b/src/lua/include/bridge.hpp
@@ -11,19 +11,28 @@
#include "lua.hpp"
#include "lvgl.h"
+#include "property.hpp"
#include "service_locator.hpp"
namespace lua {
class Bridge {
public:
+ static auto Get(lua_State* state) -> Bridge*;
+
Bridge(system_fsm::ServiceLocator&, lua_State& s);
+ auto AddPropertyModule(
+ const std::string&,
+ std::vector<std::pair<std::string, std::shared_ptr<Property>>>) -> void;
+
system_fsm::ServiceLocator& services() { return services_; }
+ PropertyBindings& bindings() { return bindings_; }
private:
system_fsm::ServiceLocator& services_;
lua_State& state_;
+ PropertyBindings bindings_;
};
} // namespace lua