summaryrefslogtreecommitdiffstats
path: root/rc-model.lua
diff options
context:
space:
mode:
authorTed Trask <ttrask01@yahoo.com>2012-01-16 22:01:42 +0000
committerTed Trask <ttrask01@yahoo.com>2012-01-16 22:01:42 +0000
commit6d638ac9d28eac2c144d229359b64c0edaee2b4d (patch)
tree27ee829675ed7f7d7004d42a13f420ebb07f9f01 /rc-model.lua
parent8fd2c642cf707934ec66060f48d074847d069046 (diff)
downloadacf-alpine-baselayout-6d638ac9d28eac2c144d229359b64c0edaee2b4d.tar.bz2
acf-alpine-baselayout-6d638ac9d28eac2c144d229359b64c0edaee2b4d.tar.xz
Modified rc to add service status and startstop actions
Diffstat (limited to 'rc-model.lua')
-rw-r--r--rc-model.lua28
1 files changed, 27 insertions, 1 deletions
diff --git a/rc-model.lua b/rc-model.lua
index c213e1f..215d02d 100644
--- a/rc-model.lua
+++ b/rc-model.lua
@@ -17,7 +17,16 @@ table.sort(runlevels)
local config
status = function()
- config = config or processinfo.read_initrunlevels()
+ if not config then
+ config = processinfo.read_initrunlevels()
+ for i,c in pairs(config) do
+ c.actions, c.description = processinfo.daemon_actions(c.servicename)
+ c.status = processinfo.daemoncontrol(c.servicename, "status")
+ if c.status then
+ c.status = string.match(c.status, "status: (.*)")
+ end
+ end
+ end
return cfe({ type="structure", value=config, label="Init Runlevels" })
end
@@ -73,3 +82,20 @@ update_runlevels = function(service)
return service
end
+
+handle_startstop = function(servicename, action)
+ local result = ""
+ local errtxt
+ local actions,errtxt = processinfo.daemon_actions(servicename)
+ if actions then
+ errtxt = nil
+ local reverseactions = {}
+ for i,act in ipairs(actions) do reverseactions[string.lower(act)] = i end
+ if reverseactions[string.lower(action)] then
+ result, errtxt = processinfo.daemoncontrol(servicename, action)
+ else
+ errtxt = "Unknown command!"
+ end
+ end
+ return cfe({ label="Start/Stop result", value=result, errtxt=errtxt })
+end