Files
thrawn/src/thrawn_api_db_logger.cpp

72 lines
1.8 KiB
C++

#include "thrawn_api.h"
#include "LuaEngine.h"
//void write_light(const std::string_view name, const bool is_on);
int thrawn_log_light(lua_State* lua) {
int paramCount = lua_gettop(lua);
if (paramCount != 3) {
return -1;
}
//Param 1: room
//Param 2: name
//Param 3: is_on
if (!check_arguments<std::string, std::string, bool>(lua)) {
return -1;
}
// if (!lua_isstring(lua, -3) || !lua_isstring (lua, -2) || !lua_isboolean (lua, -1)) {
// return -1;
// }
LuaEngine::get_instance().db_logger.write_light(lua_tostring(lua, -3), lua_tostring(lua, -2), lua_toboolean(lua, -1));
return 0;
}
int thrawn_log_light_dimmable(lua_State* lua) {
int paramCount = lua_gettop(lua);
if (paramCount != 4) {
return -1;
}
//Param 1: room
//Param 2: name
//Param 3: is_on
//Param 4: brightness
if (!check_arguments<std::string, std::string, bool, int>(lua)) {
return -1;
}
// if (!lua_isstring(lua, -4) | !lua_isstring(lua, -3) || !lua_isboolean(lua, -2) || !lua_isinteger(lua, -1)) {
// return -1;
// }
LuaEngine::get_instance().db_logger.write_light_dimmable(lua_tostring(lua, -4), lua_tostring(lua, -3), lua_toboolean(lua, -2), lua_tointeger(lua, -1));
return 0;
}
int thrawn_log_light_tw(lua_State* lua) {
int paramCount = lua_gettop(lua);
if (paramCount != 5) {
return -1;
}
//Param 1: room
//Param 2: name
//Param 3: is_on
//Param 4: brightness
//Param 5: color_temperature
if (!check_arguments<std::string, std::string, bool, int, int>(lua)) {
return -1;
}
// if (!lua_isstring(lua, -5) || !lua_isstring(lua, -4) || !lua_isboolean(lua, -3) || !lua_isinteger(lua, -2) || !lua_isinteger(lua, -1)) {
// return -1;
// }
LuaEngine::get_instance().db_logger.write_light_tuneable_white(lua_tostring(lua, -5), lua_tostring(lua, -4), lua_toboolean(lua, -3), lua_tointeger(lua, -2), lua_tointeger(lua, -1));
return 0;
}