summaryrefslogtreecommitdiffstats
path: root/vlc-model.lua
diff options
context:
space:
mode:
authorMika Havela <mika.havela@gmail.com>2012-03-07 11:22:25 +0000
committerMika Havela <mika.havela@gmail.com>2012-03-07 11:22:25 +0000
commit00e3c8dc0c4c3f22b0b9173a215f276dcc659bfc (patch)
tree5f109d211184580b2b67c651727189fc5c1f69ec /vlc-model.lua
downloadacf-vlc-daemon-00e3c8dc0c4c3f22b0b9173a215f276dcc659bfc.tar.bz2
acf-vlc-daemon-00e3c8dc0c4c3f22b0b9173a215f276dcc659bfc.tar.xz
acf-vlc-daemon. New acf to control vlc-sessions.
It supports multiple vlc-sessions: 1) ln -s /etc/init.d/vlc /etc/init.d/vlc-newsession 2) cp /etc/conf.d/vlc /etc/conf.d/vlc-newsession 3) vi /etc/conf.d/vlc-newsession 4) ln -s /usr/share/acf/app/vlc /usr/share/acf/app/vlc-newsession 5) Logged on as root on ACF, use 'User management' to give selected users permissions to use acf-vlc-newsession
Diffstat (limited to 'vlc-model.lua')
-rw-r--r--vlc-model.lua71
1 files changed, 71 insertions, 0 deletions
diff --git a/vlc-model.lua b/vlc-model.lua
new file mode 100644
index 0000000..d2fe0cb
--- /dev/null
+++ b/vlc-model.lua
@@ -0,0 +1,71 @@
+module(..., package.seeall)
+
+-- Load libraries
+require("modelfunctions")
+require("fs")
+
+-- ################################################################################
+-- SET VARIABLES
+local packagename="vlc-daemon"
+local packagename="vlc"
+local processname="vlc"
+local configfile = "/etc/conf.d/"..tostring(processname)
+local logfile = "/var/log/vlc/vlc.log"
+
+function set_processname(p)
+ processname = p
+ configfile = "/etc/conf.d/"..tostring(processname)
+end
+
+
+-- ################################################################################
+-- LOCAL FUNCTIONS
+
+
+-- ################################################################################
+-- PUBLIC FUNCTIONS
+
+function startstop_service(action)
+ return modelfunctions.startstop_service(processname, action)
+end
+
+function getstatus()
+ return modelfunctions.getstatus(processname, packagename, tostring(processname).." Status")
+end
+
+function getconfigfile()
+ -- FIXME Validate
+ return modelfunctions.getfiledetails(configfile)
+end
+
+get_filedetails = function (path)
+ local path=logfile
+ for line in string.gmatch(fs.read_file(configfile), "(.-)\n") do
+ path=string.match(line,"^VLC_OPTS.*%-%-logfile%s+(%S+)") or path
+ end
+
+
+ local file = path
+ local st = fs.stat(path)
+ if st and st.type then
+ while st.type == "link" do
+ st = fs.stat(posix.readlink(st.path))
+ end
+ file = st.path
+ end
+
+ local filedetails = modelfunctions.getfiledetails(file)
+ filedetails.value.filename.value = path
+
+ return filedetails
+end
+
+function setconfigfile(filedetails)
+ -- FIXME Validate
+ return modelfunctions.setfiledetails(filedetails, {configfile})
+end
+
+function getleases()
+ return modelfunctions.getfiledetails(leasefile)
+end
+