From 00e3c8dc0c4c3f22b0b9173a215f276dcc659bfc Mon Sep 17 00:00:00 2001 From: Mika Havela Date: Wed, 7 Mar 2012 11:22:25 +0000 Subject: 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 --- vlc-model.lua | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 vlc-model.lua (limited to 'vlc-model.lua') 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 + -- cgit v1.2.3