#! /bin/sh
DBUS_PATH=/com/nokia/bme/signal
DBUS_INTERFACE=com.nokia.bme.signal
DBUS_SEND=dbus-send
DBUS_SEND_FLAGS='--system --type=signal'

program=fakecharger
version=1.0.1

usage()
{
	printf "Usage: %s [OPTION]... [TEST]...\n" $program
	printf "Test MCE and Battery status-bar applet by emulating\n"
	printf "charger plugging events\n\n"

	printf "  --help      display this help and exit\n"
	printf "  --version   output version information and exit\n\n"

	printf "Valid tests are:\n\n"

	printf "  charger_connected\n"
	printf "  charger_disconnected\n"
	printf "  battery_full\n"
	printf "  battery_low\n"
	printf "  battery_empty\n"
}

version()
{
	printf "%s %s\n" $program $version
}

charger_connected()
{
# Fake that charger was connected
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.charger_connected
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.charger_charging_on
}

charger_disconnected()
{
# Fake that charger was disconnected
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.charger_charging_off
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.charger_disconnected
}

battery_full()
{
# Fake that the battery is full
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.battery_full
}

battery_low()
{
# Fake that the battery is low
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.battery_low
}

battery_empty()
{
# Fake that the battery is empty
	$DBUS_SEND $DBUS_SEND_FLAGS $DBUS_PATH $DBUS_INTERFACE.battery_empty
}

[ $# -eq 0 ] && ( usage; exit 1 )

# setup command line options
while ! [ $# -eq 0 ]; do
	case $1 in
	charger_connected)
		charger_connected
		;;
	charger_disconnected)
		charger_disconnected
		;;
	battery_full)
		battery_full
		;;
	battery_low)
		battery_low
		;;
	battery_empty)
		battery_empty
		;;
	--help)
		usage
		exit 0
		;;
	--version)
		version
		exit 0
		;;
	*)
		usage
		exit 1
		;;
	esac
	shift
done

