1 #!/usr/bin/env lua 2 3 require "ubus" 4 require "uloop" 5 6 uloop.init() 7 8 local conn = ubus.connect() 9 if not conn then 10 error("Failed to connect to ubus") 11 end 12 13 local my_method = { 14 broken = { 15 hello = 1, 16 hello1 = { 17 function(req) 18 end, {id = "fail" } 19 }, 20 }, 21 test = { 22 hello = { 23 function(req, msg) 24 conn:reply(req, {message="foo"}); 25 print("Call to function 'hello'") 26 for k, v in pairs(msg) do 27 print("key=" .. k .. " value=" .. tostring(v)) 28 end 29 end, {id = ubus.INT32, msg = ubus.STRING } 30 }, 31 hello1 = { 32 function(req) 33 conn:reply(req, {message="foo1"}); 34 conn:reply(req, {message="foo2"}); 35 print("Call to function 'hello1'") 36 end, {id = ubus.INT32, msg = ubus.STRING } 37 }, 38 deferred = { 39 function(req) 40 conn:reply(req, {message="wait for it"}) 41 local def_req = conn:defer_request(req) 42 uloop.timer(function() 43 conn:reply(def_req, {message="done"}) 44 conn:complete_deferred_request(def_req, 0) 45 print("Deferred request complete") 46 end, 2000) 47 print("Call to function 'deferred'") 48 end, {} 49 } 50 } 51 } 52 53 conn:add(my_method) 54 55 local my_event = { 56 test = function(msg) 57 print("Call to test event") 58 for k, v in pairs(msg) do 59 print("key=" .. k .. " value=" .. tostring(v)) 60 end 61 end, 62 } 63 64 conn:listen(my_event) 65 66 uloop.run()
This page was automatically generated by LXR 0.3.1. • OpenWrt