summaryrefslogtreecommitdiff
path: root/src/lua/include/bridge.hpp
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-05-02 19:12:26 +1000
committerjacqueline <me@jacqueline.id.au>2024-05-02 19:12:26 +1000
commit1573a8c4cde1cd9528b422b2dcc598e37ffe94a7 (patch)
treed162822b8fd7054f81bace0c7a65ab4d5e6f93ef /src/lua/include/bridge.hpp
parenta231fd1c8afedbeb14b0bc77d76bad61db986059 (diff)
downloadtangara-fw-1573a8c4cde1cd9528b422b2dcc598e37ffe94a7.tar.gz
WIP merge cyclically dependent components into one big component
Diffstat (limited to 'src/lua/include/bridge.hpp')
-rw-r--r--src/lua/include/bridge.hpp54
1 files changed, 0 insertions, 54 deletions
diff --git a/src/lua/include/bridge.hpp b/src/lua/include/bridge.hpp
deleted file mode 100644
index 64f14e0e..00000000
--- a/src/lua/include/bridge.hpp
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright 2023 jacqueline <me@jacqueline.id.au>
- *
- * SPDX-License-Identifier: GPL-3.0-only
- */
-
-#pragma once
-
-#include <memory>
-#include <string>
-
-#include "lua.hpp"
-#include "lvgl.h"
-#include "property.hpp"
-#include "service_locator.hpp"
-
-namespace lua {
-
-/*
- * Responsible for adding C/C++ module bindings to Lua threads. This class
- * keeps no thread-specific internal state, and instead uses the LUA_REGISTRY
- * table of its host threads to store data.
- */
-class Bridge {
- public:
- /*
- * Utility for retrieving the Bridge from a Lua thread in which the Bridge's
- * bindings have been installed. Use by Lua's C callbacks to access the rest
- * of the system.
- */
- static auto Get(lua_State* state) -> Bridge*;
-
- Bridge(system_fsm::ServiceLocator& s);
-
- system_fsm::ServiceLocator& services() { return services_; }
-
- auto installBaseModules(lua_State* L) -> void;
- auto installLvgl(lua_State* L) -> void;
- auto installPropertyModule(
- lua_State* L,
- const std::string&,
- std::vector<
- std::pair<std::string, std::variant<LuaFunction, Property*>>>&)
- -> void;
-
- Bridge(const Bridge&) = delete;
- Bridge& operator=(const Bridge&) = delete;
-
- private:
- system_fsm::ServiceLocator& services_;
- PropertyBindings bindings_;
-};
-
-} // namespace lua