#!/bin/sh
#
# Copyright (C) 2005 Richard Hughes <richard@hughsie.com>
#
# 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 of the License, or
# (at your option) any later version.

# Check for environment variables
if [ -z "$HAL_PROP_LAPTOP_PANEL_ACCESS_METHOD" ] || 
   [ -z "$HAL_PROP_LAPTOP_PANEL_NUM_LEVELS" ] ; then
        echo "org.freedesktop.Hal.Device.UnknownError" >&2
        echo "Missing or empty environment variable(s)." >&2
        echo "This script should be started by hald." >&2
        exit 1
fi

# TODO: check privilege

# read value for set brightness
read value

# Check for values outside range
if [ ${value} -lt 0 ] || [ ${value} -ge $HAL_PROP_LAPTOP_PANEL_NUM_LEVELS ]; then
	echo "org.freedesktop.Hal.Device.LaptopPanel.Invalid" >&2
	echo "Brightness has to be between 0 and $((HAL_PROP_LAPTOP_PANEL_NUM_LEVELS - 1))" >&2
	exit 1
fi

export value

if [ -n "$HALD_UNAME_S" -a -x ./$HALD_UNAME_S/hal-system-lcd-set-brightness-$HALD_UNAME_S ]; then
    exec ./$HALD_UNAME_S/hal-system-lcd-set-brightness-$HALD_UNAME_S $@
else
    echo "org.freedesktop.Hal.Device.UnknownError" >&2
    echo "No back-end for your operating system" >&2
    exit 1
fi
