diff options
Diffstat (limited to 'applications/luci-olsr/luasrc/controller/olsr4.lua')
-rw-r--r-- | applications/luci-olsr/luasrc/controller/olsr4.lua | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/applications/luci-olsr/luasrc/controller/olsr4.lua b/applications/luci-olsr/luasrc/controller/olsr4.lua new file mode 100644 index 000000000..31a3101bc --- /dev/null +++ b/applications/luci-olsr/luasrc/controller/olsr4.lua @@ -0,0 +1,47 @@ +module("luci.controller.olsr4", package.seeall) + +function index() + if not nixio.fs.access("/etc/config/olsrd") then + return + end + + require("luci.model.uci") + local uci = luci.model.uci.cursor_state() + + local ol = entry( + {"admin", "services", "olsrd"}, + cbi("olsr/olsrd"), "OLSR IPv4" + ) + ol.subindex = true + + entry( + {"admin", "services", "olsrd", "iface"}, + cbi("olsr/olsrdiface") + ).leaf = true + + entry( + {"admin", "services", "olsrd", "hna"}, + cbi("olsr/olsrdhna"), _("HNA Announcements") + ) + + oplg = entry( + {"admin", "services", "olsrd", "plugins"}, + cbi("olsr/olsrdplugins"), _("Plugins") + ) + + oplg.leaf = true + oplg.subindex = true + + local uci = require("luci.model.uci").cursor() + uci:foreach("olsrd", "LoadPlugin", + function (section) + local lib = section.library + entry( + {"admin", "services", "olsrd", "plugins", lib }, + cbi("olsr/olsrdplugins"), + nil --'Plugin "%s"' % lib:gsub("^olsrd_",""):gsub("%.so.+$","") + ) + end + ) +end + |