lua: propagate incoming message to method callback inside the lua context
Signed-off-by: John Crispin <blogic@openwrt.org>
This commit is contained in:
parent
1e3220d9df
commit
0f793d3a45
2 changed files with 9 additions and 2 deletions
|
@ -20,9 +20,12 @@ local my_method = {
|
|||
},
|
||||
test = {
|
||||
hello = {
|
||||
function(req)
|
||||
function(req, msg)
|
||||
conn:reply(req, {message="foo"});
|
||||
print("Call to function 'hello'")
|
||||
for k, v in pairs(msg) do
|
||||
print("key=" .. k .. " value=" .. tostring(v))
|
||||
end
|
||||
end, {id = ubus.INT32, msg = ubus.STRING }
|
||||
},
|
||||
hello1 = {
|
||||
|
|
|
@ -290,7 +290,11 @@ ubus_method_handler(struct ubus_context *ctx, struct ubus_object *obj,
|
|||
|
||||
if (lua_isfunction(state, -1)) {
|
||||
lua_pushlightuserdata(state, req);
|
||||
lua_call(state, 1, 0);
|
||||
if (!msg)
|
||||
lua_pushnil(state);
|
||||
else
|
||||
ubus_lua_parse_blob_array(state, blob_data(msg), blob_len(msg), true);
|
||||
lua_call(state, 2, 0);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue