parent
1b2d791a05
commit
55bde70b96
@ -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 RegisterVersionModule(lua_State*) -> void; |
||||
|
||||
} // namespace lua
|
@ -0,0 +1,51 @@ |
||||
|
||||
/*
|
||||
* Copyright 2023 jacqueline <me@jacqueline.id.au> |
||||
* |
||||
* SPDX-License-Identifier: GPL-3.0-only |
||||
*/ |
||||
|
||||
#include "lua_version.hpp" |
||||
|
||||
#include <string> |
||||
|
||||
#include "bridge.hpp" |
||||
#include "lua.hpp" |
||||
|
||||
#include "esp_app_desc.h" |
||||
#include "esp_log.h" |
||||
#include "lauxlib.h" |
||||
#include "lua.h" |
||||
#include "lua_thread.hpp" |
||||
|
||||
namespace lua { |
||||
|
||||
static auto esp(lua_State* L) -> int { |
||||
auto desc = esp_app_get_description(); |
||||
lua_pushstring(L, desc->version); |
||||
return 1; |
||||
} |
||||
|
||||
static auto samd(lua_State* L) -> int { |
||||
Bridge* instance = Bridge::Get(L); |
||||
auto& samd = instance->services().samd(); |
||||
auto version = samd.Version(); |
||||
lua_pushlstring(L, version.data(), version.size()); |
||||
return 1; |
||||
} |
||||
|
||||
static const struct luaL_Reg kVersionFuncs[] = {{"esp", esp}, |
||||
{"samd", samd}, |
||||
{NULL, NULL}}; |
||||
|
||||
static auto lua_version(lua_State* L) -> int { |
||||
luaL_newlib(L, kVersionFuncs); |
||||
return 1; |
||||
} |
||||
|
||||
auto RegisterVersionModule(lua_State* L) -> void { |
||||
luaL_requiref(L, "version", lua_version, true); |
||||
lua_pop(L, 1); |
||||
} |
||||
|
||||
} // namespace lua
|
Loading…
Reference in new issue