diff options
author | Mika Havela <mika.havela@gmail.com> | 2012-03-07 11:22:25 +0000 |
---|---|---|
committer | Mika Havela <mika.havela@gmail.com> | 2012-03-07 11:22:25 +0000 |
commit | 00e3c8dc0c4c3f22b0b9173a215f276dcc659bfc (patch) | |
tree | 5f109d211184580b2b67c651727189fc5c1f69ec /vlc-model.lua | |
download | acf-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.lua | 71 |
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 + |