You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
tdebluez/src/tdebluez-common/dunhandler/dunhandler

71 lines
2.7 KiB

#!/bin/sh
#/***************************************************************************
# dunhandler - a script for tdeio_sdp
# -------------------
# begin : Mon March 29 2004
# copyright : (C) 2004 by Simone Gotti
# email : simone.gotti@email.it
# ***************************************************************************/
#
#/***************************************************************************
# * *
# * 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. *
# * *
# ***************************************************************************/
# get the btaddress and the rfcomm channel from the command line
BTADDR=$(echo $1 | cut -d'/' -f3 | cut -d'[' -f2 | cut -d']' -f1)
PARAMS=$(echo $1 | cut -d'?' -f2 )
OLDIFS=$IFS
IFS='&'
for i in $PARAMS; do
if test $(echo $i | cut -d'=' -f1) = "rfcommchannel"; then
RFCOMM_CHANNEL=$(echo $i | cut -d'=' -f2)
fi
done;
IFS=$OLDIFS
RFCOMM_SHOW_OUT=$(rfcomm show)
# Check if the channel is already binded
BINDED_CHANNEL=$(echo $RFCOMM_SHOW_OUT | grep -i $BTADDR | grep -i " "$RFCOMM_CHANNEL" " | cut -d' ' -f1 | cut -d':' -f1)
if test "x"$BINDED_CHANNEL != "x"; then
MESSAGE1="A bind between the bluetooth device (using the dial-up-networking profile) and /dev/rfcomm$DEV_NUMBER already exists. You can use any connection program (kppp, pppd script etc...) using /dev/rfcomm$DEV_NUMBER like the modem device"
kdialog --msgbox "$MESSAGE1"
else
# Find the first unbinded /dev/rfcommX
DEV_NUMBER=0
while test "x"$(echo $RFCOMM_SHOW_OUT | grep "rfcomm"$DEV_NUMBER":"| cut -d' ' -f1 ) != "x"; do
DEV_NUMBER=$[$DEV_NUMBER+1]
if test $DEV_NUMBER -gt 255; then break; fi;
done;
# do the bind
echo "doing: rfcomm bind $DEV_NUMBER $BTADDR $RFCOMM_CHANNEL"
if test -e /def/rfcomm$DEV_NUMBER; then
EXIT_CODE=$(tdesu -f/dev/rfcomm$DEV_NUMBER -c "rfcomm bind $DEV_NUMBER $BTADDR $RFCOMM_CHANNEL")
else
EXIT_CODE=$(tdesu -c "rfcomm bind $DEV_NUMBER $BTADDR $RFCOMM_CHANNEL")
fi
echo $EXIT_CODE
MESSAGE1="Created a bind between the bluetooth device (using the dial-up-networking profile) and /dev/rfcomm$DEV_NUMBER. You can use any connection program (kppp, pppd script etc...) using /dev/rfcomm$DEV_NUMBER like the modem device"
kdialog --msgbox "$MESSAGE1"
fi;