ubus/lua: pass notification name to callback
The callback function registered to be invoked when subscribing to a notification was only passed the notification data (if any) but not the name of the notification. This name is now passed as second argument to remain backwards compatible. The example subscriber.lua has also be updated. Signed-off-by: Dirk Feytons <dirk.feytons@gmail.com>
This commit is contained in:
parent
212ceb1b02
commit
5bae22eb54
2 changed files with 6 additions and 4 deletions
|
@ -15,8 +15,9 @@ if not conn then
|
|||
end
|
||||
|
||||
local sub = {
|
||||
notify = function( msg )
|
||||
print("Count: ", msg["count"])
|
||||
notify = function( msg, name )
|
||||
print("name:", name)
|
||||
print(" count:", msg["count"])
|
||||
end,
|
||||
}
|
||||
|
||||
|
|
|
@ -787,10 +787,11 @@ ubus_sub_notify_handler(struct ubus_context *ctx, struct ubus_object *obj,
|
|||
if (lua_isfunction(state, -1)) {
|
||||
if( msg ){
|
||||
ubus_lua_parse_blob_array(state, blob_data(msg), blob_len(msg), true);
|
||||
lua_call(state, 1, 0);
|
||||
} else {
|
||||
lua_call(state, 0, 0);
|
||||
lua_pushnil(state);
|
||||
}
|
||||
lua_pushstring(state, method);
|
||||
lua_call(state, 2, 0);
|
||||
} else {
|
||||
lua_pop(state, 1);
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue