chiark / gitweb /
vim: Use sensible.vim as system vimrc
[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 "  -p provider  location provider [gps/network/passive] (default: gps)"
9     echo "  -r request   kind of request to make [once/last/updates] (default: once)"
10     exit 0
11 }
12
13 validate_provider () {
14     PROVIDER=$1
15     case "$PROVIDER" in
16         gps) ;;
17         network) ;;
18         passive) ;;
19         *) echo "$SCRIPTNAME: Unsupported provider: '$PROVIDER'"; exit 1;;
20     esac
21 }
22
23 validate_request () {
24     REQUEST=$1
25     case "$REQUEST" in
26         once) ;;
27         last) ;;
28         updates) ;;
29         *) echo "$SCRIPTNAME: Unsupported request: '$REQUEST'"; exit 1;;
30     esac
31 }
32
33 PARAMS=""
34
35 while getopts :hr:p: option
36 do
37     case "$option" in
38         h) show_usage;;
39         r) validate_request $OPTARG; PARAMS="$PARAMS --es request $OPTARG";;
40         p) validate_provider $OPTARG; PARAMS="$PARAMS --es provider $OPTARG";;
41         ?) echo "$SCRIPTNAME: illegal option -$OPTARG"; exit 1;
42     esac
43 done
44 shift $(($OPTIND-1))
45
46 if [ $# != 0 ]; then echo "$SCRIPTNAME: too many arguments"; exit 1; fi
47
48 @TERMUX_API@ Location $PARAMS