Assorted away-tpope updates
[tpope-extra.git] / bluetooth / obexd
1 #!/bin/sh
2 # $Id$
3 # -*- sh -*- vim: ft=sh sw=4 sts=4
4
5 # /usr/local/sbin/obexd
6 # Designed to repeatedly call obexserver to receive new files, and send them
7 # off in an email to root.
8
9 on_term() {
10     killall obexserver >/dev/null 2>&1 || true
11     exit
12 }
13
14 trap on_term SIGTERM
15 #trap on_term SIGQUIT
16 trap on_term SIGINT
17
18 trap "sdptool del OPUSH >/dev/null || true" EXIT
19
20 sdptool add --channel=10 OPUSH >/dev/null
21
22 while true; do
23 filename=`obexserver|grep '^Filename = '|sed -e 's/^Filename = //'`
24
25 (
26     case "$filename" in
27         *.txt)          ctype=text/plain ;;
28         *.htm|*.html)   ctype=text/html ;;
29         *.vcf)          ctype=text/x-vcard ;;
30         *.wav)          ctype=audio/x-wav ;;
31         *.mid|*.midi)   ctype=audio/midi ;;
32         *.jpg|*.jpeg)   ctype=image/jpeg ;;
33         *.gif)          ctype=image/gif ;;
34         "WAP bookmark") ctype=text/x-url ;;
35         *.3gp)          ctype=video/x-realmedia ;; # ???
36         *) ctype=application/octet-stream ;;
37     esac
38
39     # metasend can't handle file names with spaces
40     tempfile=`mktemp -t obexd.XXXXXX`
41     case "$ctype" in
42         text/*) tr -d '\r' < "/tmp/$filename" >> $tempfile ;;
43         *) cat "/tmp/$filename" >> $tempfile ;;
44     esac
45     rm -f "/tmp/$filename"
46
47     metasend -b -F bluetooth -t root -s "Object received via Bluetooth" -c '' \
48     -D "$filename" -S 4000000 -m "$ctype; name=\"`echo $filename|tr ' ' '_'`\""\
49     -f $tempfile
50     rm -f $tempfile
51 )
52
53 done