summaryrefslogtreecommitdiff
path: root/src/lua/include
diff options
context:
space:
mode:
authorjacqueline <me@jacqueline.id.au>2024-01-17 11:48:40 +1100
committerjacqueline <me@jacqueline.id.au>2024-01-17 11:48:40 +1100
commit71b46730394979ea528d152dbe884cc35c368759 (patch)
tree516b3af32f8822a5f900ea10fd6ffba2e3de1ebb /src/lua/include
parent7cdcd44e0ca10ebdc796638190ed1d9b45d99ef0 (diff)
downloadtangara-fw-71b46730394979ea528d152dbe884cc35c368759.tar.gz
all screens basically working, but bluetooth is rough
Diffstat (limited to 'src/lua/include')
-rw-r--r--src/lua/include/lua_controls.hpp15
-rw-r--r--src/lua/include/property.hpp13
2 files changed, 26 insertions, 2 deletions
diff --git a/src/lua/include/lua_controls.hpp b/src/lua/include/lua_controls.hpp
new file mode 100644
index 00000000..18ad261d
--- /dev/null
+++ b/src/lua/include/lua_controls.hpp
@@ -0,0 +1,15 @@
+/*
+ * Copyright 2023 jacqueline <me@jacqueline.id.au>
+ *
+ * SPDX-License-Identifier: GPL-3.0-only
+ */
+
+#pragma once
+
+#include "lua.hpp"
+
+namespace lua {
+
+auto RegisterControlsModule(lua_State*) -> void;
+
+} // namespace lua
diff --git a/src/lua/include/property.hpp b/src/lua/include/property.hpp
index a8a88125..9c5129ae 100644
--- a/src/lua/include/property.hpp
+++ b/src/lua/include/property.hpp
@@ -6,18 +6,27 @@
#pragma once
+#include <stdint.h>
#include <memory>
#include <string>
#include "audio_events.hpp"
+#include "bluetooth_types.hpp"
#include "lua.hpp"
#include "lvgl.h"
#include "service_locator.hpp"
namespace lua {
-using LuaValue =
- std::variant<std::monostate, int, bool, std::string, audio::Track>;
+// FIXME: We should use some kind of interface for this instead.
+using LuaValue = std::variant<std::monostate,
+ int,
+ bool,
+ std::string,
+ audio::Track,
+ drivers::bluetooth::Device,
+ std::vector<drivers::bluetooth::Device>>;
+
using LuaFunction = std::function<int(lua_State*)>;
class Property {