#!/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.multimedia.tvheadend"
ADDON_SETTINGS="$ADDON_HOME/settings.xml"
REMOVE_MODULES=`grep REMOVE_MODULES $ADDON_SETTINGS | awk '{print $3 }' | sed -e "s,value=,," -e "s,\",,g"`

LOCKFILE="/var/lock/tvheadend.sleep"

case "$1" in
  hibernate|suspend)
    if [ "$(pidof tvheadend)" ];then
      progress "Shutting down HTS TVHeadend for suspending..."
      tvheadend.stop
      touch $LOCKFILE
      for module in $REMOVE_MODULES ; do
        rmmod -w $module
      done
    fi
    ;;

  thaw|resume)
    for module in $REMOVE_MODULES ; do
      modprobe $module
    done
    progress "Restarting HTS TVHeadend for wakeup..."
    if [ -f "$LOCKFILE" ] ; then
      rm -rf "$LOCKFILE"
      tvheadend.start
    fi
    ;;
  *) exit $NA
    ;;
esac
