#!/bin/bash
#
# This is an example of a script to be put into
# /usr/lib/powersave/scripts/. Its name can then be used as an
# event name in /etc/sysconfig/powersave/events.
# Part of the powersave package.
#
# Stefan Seyfried, 2005
#
# First, we pull in the helper functions.
# This does the following:
# - expands PATH to the script path, sets the following variables:
#  SCRIPT_DIR    - the directory where the scripts are
#  EV_ID         - the event id, needed for SCRIPT_RETURN
#  SCRIPT_RETURN - the binary that tells powersaved that we finished
#  MYNAME        - the name of this script
#  LOGGER        - command to log something: '$LOGGER "custom script logging"'
#  SYSCONF_DIR   - where the config files are lying around
# - sources $SYSCONF_DIR/common for basic config variabes.
# - provides some funcions:
#  DEBUG     - for logging depending on the $DEBUG variable
#  EXIT      - for exiting the script. Don't exit via "exit"!
# - sets a trap on exit so that even syntax errors in your scripts or
#   unwanted codepaths or even foreign termination still lead to a controlled
#   feedback for the powersaved via SCRIPT_RETURN
#   This trap gets reset if you exit via the EXIT function - this is what it
#   is for :-)
. ${0%/*}/helper_functions # `dirname $0`/helper_functions

########################################################################
# put your own code here ###############################################
########################################################################

echo "i am a custom event script and pollute the syslog." | logger
$LOGGER "i can even do some more sophisticated logging"
DEBUG "and even depending on the DEBUG variable!" WARN

########################################################################
# this must be called to tell powersaved that processing of this
# event is finished. If your script is totally asynchronous, you
# can call this at the beginning of the script, before your code.
# in this case, powersaved will *not* wait for your script to finish.
# if you do not call this, weird things will happen.
########################################################################
$SCRIPT_RETURN $EV_ID 0 "my_custom_event_script finished"

########################################################################
# reset the trap and exit with status 0
########################################################################
EXIT 0
