ubus/lua/test.lua
John Crispin 8ea9667036 add Lua bindings for ubus events
It mostly mimick the style of the existing code.

With it and the ubox Lua bindings, you can now send ubus events
through Lua or listen for events (you can register for multiple events
at the same time).

Signed-off-by: Jeff Remy <jeff.remy@gmail.com>
2013-11-07 16:23:30 +01:00

54 lines
943 B
Lua
Executable file

#!/usr/bin/env lua
require "ubus"
require "uloop"
uloop.init()
local conn = ubus.connect()
if not conn then
error("Failed to connect to ubus")
end
local my_method = {
broken = {
hello = 1,
hello1 = {
function(req)
end, {id = "fail" }
},
},
test = {
hello = {
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 = {
function(req)
conn:reply(req, {message="foo1"});
conn:reply(req, {message="foo2"});
print("Call to function 'hello1'")
end, {id = ubus.INT32, msg = ubus.STRING }
}
}
}
conn:add(my_method)
local my_event = {
test = function(msg)
print("Call to test event")
for k, v in pairs(msg) do
print("key=" .. k .. " value=" .. tostring(v))
end
end,
}
conn:listen(my_event)
uloop.run()