ubus/lua/test_client.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

41 lines
808 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 ubusd")
end
local namespaces = conn:objects()
for i, n in ipairs(namespaces) do
print("namespace=" .. n)
local signatures = conn:signatures(n)
for p, s in pairs(signatures) do
print("\tprocedure=" .. p)
for k, v in pairs(s) do
print("\t\tattribute=" .. k .. " type=" .. v)
end
end
end
local status = conn:call("test", "hello", { msg = "eth0" })
for k, v in pairs(status) do
print("key=" .. k .. " value=" .. tostring(v))
end
local status = {conn:call("test", "hello1", { msg = "eth0" })}
for a = 1, #status do
for k, v in pairs(status[a]) do
print("key=" .. k .. " value=" .. tostring(v))
end
end
conn:send("test", { foo = "bar"})
uloop.run()