#!/bin/sh

[ -n "$DEVPATH" ] || exit 0
[ -n "$DEVNAME" ] || exit 0
[ "$ACTION" = "add" ] || exit 0
[ -e "/var/lib/openct/status" ] || exit 0

# if udev supplied a device node directly from the usb-device, we use it,
# because it is guaranteed to exist at the time we run
if [ -n "$DEVNAME" -a -e "$DEVNAME" ]; then
	DEVICE="$DEVNAME"
fi

[ -n "$DEVICE" ] || exit 0

if [ -z "$PRODUCT" ]; then
	V=$(cat /sys/$DEVPATH/device/idVendor | sed -e 's/^0*//')
	P=$(cat /sys/$DEVPATH/device/idProduct | sed -e 's/^0*//')
	D=$(cat /sys/$DEVPATH/device/bcdDevice | sed -e 's/^0*//')
	PRODUCT="$V/$P/$D"
fi

[ -n "$PRODUCT" ] || exit 0

/usr/sbin/openct-control attach usb:$PRODUCT usb $DEVICE

echo "$0 waited for $DEVICE but it did not appear." | logger -p daemon.error
exit 0
