#!/bin/sh
#
# This script is intended to handle a user shutdown request.
# It will probably (but not necesseraly) called from a crontab.
#
#

PATH=/bin:/sbin:/usr/bin:/usr/sbin
valid_runlevels="shutdown halt sleep reboot"
runlevel="sleep"

check_runlevel()
{
  req_runlevel=$1
  
  for valid in ${valid_runlevels}; do
    [ "${req_runlevel}" = "${valid}" ] && return 0
  done

  logger "smart_shutdown: request invalid runlevel ${req_runlevel}"
  return 1  
}

request_runlevel()
{
  dbus-send --system --dest=com.lacie.Unicorn --type=method_call --print-reply --reply-timeout=1000 /com/lacie/Unicorn com.lacie.Unicorn.switch_runlevel string:"$1"
}

if [ ! -z "$1" ]; then 
  check_runlevel "$1" || exit 1
  runlevel=$1
fi

request_runlevel ${runlevel}

exit 0

