chiark / gitweb /
mosh: Fix argument passing in mosh wrapper
[termux-packages] / packages / termux-api / termux-location
1 #!/bin/sh
2 set -e -u
3
4 SCRIPTNAME=termux-location
5 show_usage () {
6     echo "usage: $SCRIPTNAME [-p provider] [-r request]"
7     echo "Get the device location."
8     echo ""
9     echo "  -p provider  location provider [gps/network/passive] (default: gps)"
10     echo "  -r request   kind of request to make [once/last/updates] (default: once)"
11     echo ""
12     exit 0
13 }
14
15 validate_provider () {
16     PROVIDER=$1
17     case "$PROVIDER" in
18         gps) ;;
19         network) ;;
20         passive) ;;
21         *) echo "$SCRIPTNAME: Unsupported provider: '$PROVIDER'"; exit 1;;
22     esac
23 }
24
25 validate_request () {
26     REQUEST=$1
27     case "$REQUEST" in
28         once) ;;
29         last) ;;
30         updates) ;;
31         *) echo "$SCRIPTNAME: Unsupported request: '$REQUEST'"; exit 1;;
32     esac
33 }
34
35 PARAMS=""
36
37 while getopts :hr:p: option
38 do
39     case "$option" in
40         h) show_usage;;
41         r) validate_request $OPTARG; PARAMS="$PARAMS --es request $OPTARG";;
42         p) validate_provider $OPTARG; PARAMS="$PARAMS --es provider $OPTARG";;
43         ?) echo "$SCRIPTNAME: illegal option -$OPTARG"; exit 1;
44     esac
45 done
46 shift $(($OPTIND-1))
47
48 if [ $# != 0 ]; then echo "$SCRIPTNAME: too many arguments"; exit 1; fi
49
50 @TERMUX_API@ Location $PARAMS