bluez/bluetooth.sh

48 lines
1.1 KiB
Bash

#!/bin/bash
# $id$
# Bluetooth hotplug policy agent for Linux 2.6 kernels
#
# Bluetooth hotplug params include:
#
# ACTION=%s [add or remove]
# SUBSYSTEM=bluetooth
#
[ x"$SUBSYSTEM" = xbluetooth ] || {
echo "bad invocation: SUBSYSTEM != bluetooth"
exit 1
}
. /etc/sysconfig/hardware/scripts/functions
BLUETOOTH_CONFIG=/etc/sysconfig/bluetooth
test -r $BLUETOOTH_CONFIG || exit 6
. $BLUETOOTH_CONFIG
case $ACTION in
add)
info_mesg $ACTION $INTERFACE $START_SERVICES
if [ $START_SERVICES = "no" ]; then
exit 0
fi
# for later consumption by the bluetooth-coldplug init script
mkdir /dev/shm/bluetooth-adapter-present
# this is a fake dbus call, which gets the adapter up via DBus activation
/bin/dbus-send --system --type=method_call --print-reply --reply-timeout=1000 --dest=org.bluez / org.bluez.hello
;;
remove)
info_mesg $ACTION $INTERFACE
# Do this only if _all_ bt-devices are finally removed
# Problem: Devices in hid-proxy-mode are not known as /dev/hciX
if [ $ALWAYS_STOP_SERVICES = "yes" ]; then
/etc/init.d/bluetooth stop
fi
;;
*)
info_mesg Bluetooth $ACTION event not supported
exit 1
;;
esac