diff --git a/packages/addons/service/softcam/oscam/addon b/packages/addons/service/softcam/oscam/addon index aeea0fff59..5c1d47b448 100755 --- a/packages/addons/service/softcam/oscam/addon +++ b/packages/addons/service/softcam/oscam/addon @@ -23,6 +23,9 @@ . config/options $1 +mkdir -p $ADDON_BUILD/$PKG_ADDON_ID + cp -PR $PKG_DIR/config/settings.xml $ADDON_BUILD/$PKG_ADDON_ID/settings-default.xml + mkdir -p $ADDON_BUILD/$PKG_ADDON_ID/bin cp -P $PKG_BUILD/build/oscam $ADDON_BUILD/$PKG_ADDON_ID/bin cp -PR $PKG_DIR/config/oscam.conf $ADDON_BUILD/$PKG_ADDON_ID/oscam-default.conf diff --git a/packages/addons/service/softcam/oscam/config/settings.xml b/packages/addons/service/softcam/oscam/config/settings.xml new file mode 100644 index 0000000000..464b4519ec --- /dev/null +++ b/packages/addons/service/softcam/oscam/config/settings.xml @@ -0,0 +1,4 @@ + + + + diff --git a/packages/addons/service/softcam/oscam/source/bin/oscam.start b/packages/addons/service/softcam/oscam/source/bin/oscam.start index 2f6f3904a3..c46241aad8 100755 --- a/packages/addons/service/softcam/oscam/source/bin/oscam.start +++ b/packages/addons/service/softcam/oscam/source/bin/oscam.start @@ -35,6 +35,7 @@ if [ ! "$(pidof oscam)" ]; then ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.softcam.oscam" ADDON_LOG_DIR="$ADDON_HOME/log" + ADDON_SETTINGS="$ADDON_HOME/settings.xml" ADDON_CONF_DIR="$ADDON_HOME/config" ADDON_CONF="$ADDON_CONF_DIR/oscam.conf" ADDON_CONF_AC="$ADDON_CONF_DIR/oscam.ac" @@ -71,6 +72,10 @@ if [ ! "$(pidof oscam)" ]; then touch $ADDON_CONF_TIERS touch $ADDON_CONF_USER + if [ ! -f "$ADDON_SETTINGS" ]; then + cp $ADDON_DIR/settings-default.xml $ADDON_SETTINGS + fi + # Restart process if it terminates. if [ -f "$LOCKDIR/$LOCKFILE" ] ; then rm -rf "$LOCKDIR/$LOCKFILE" diff --git a/packages/addons/service/softcam/oscam/source/resources/language/English/strings.xml b/packages/addons/service/softcam/oscam/source/resources/language/English/strings.xml new file mode 100644 index 0000000000..d388c262c1 --- /dev/null +++ b/packages/addons/service/softcam/oscam/source/resources/language/English/strings.xml @@ -0,0 +1,5 @@ + + + General + Restart on suspend / resume + diff --git a/packages/addons/service/softcam/oscam/source/resources/settings.xml b/packages/addons/service/softcam/oscam/source/resources/settings.xml new file mode 100644 index 0000000000..41355ffc6b --- /dev/null +++ b/packages/addons/service/softcam/oscam/source/resources/settings.xml @@ -0,0 +1,8 @@ + + + + + + + + diff --git a/packages/addons/service/softcam/oscam/source/sleep.d/oscam.power b/packages/addons/service/softcam/oscam/source/sleep.d/oscam.power new file mode 100644 index 0000000000..c2db86d947 --- /dev/null +++ b/packages/addons/service/softcam/oscam/source/sleep.d/oscam.power @@ -0,0 +1,51 @@ +#!/bin/sh + +################################################################################ +# This file is part of OpenELEC - http://www.openelec.tv +# Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) +# +# This Program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2, or (at your option) +# any later version. +# +# This Program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with OpenELEC.tv; see the file COPYING. If not, write to +# the Free Software Foundation, 51 Franklin Street, Suite 500, Boston, MA 02110, USA. +# http://www.gnu.org/copyleft/gpl.html +################################################################################ + +. /etc/profile + +ADDON_HOME="$HOME/.xbmc/userdata/addon_data/service.softcam.oscam" +ADDON_SETTINGS="$ADDON_HOME/settings.xml" +RESTART_ON_RESUME=`grep RESTART_ON_RESUME $ADDON_SETTINGS | awk '{print $3}' | sed -e "s,value=,," -e "s,\",,g"` + +LOCKFILE="/var/lock/oscam.sleep" + +if [ "$RESTART_ON_RESUME" == "true" ] ; then + case "$1" in + hibernate|suspend) + if [ "$(pidof oscam)" ];then + progress "Shutting down oscam for suspending..." + oscam.stop + touch $LOCKFILE + fi + ;; + + thaw|resume) + progress "Restarting oscam for wakeup..." + if [ -f "$LOCKFILE" ] ; then + rm -rf "$LOCKFILE" + oscam.start + fi + ;; + *) exit $NA + ;; + esac +fi