Fresh pull from upstream (stable) package feed
[librecmc/package-feed.git] / sound / shairplay / files / shairplay.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2014 OpenWrt.org
3
4 START=90
5 USE_PROCD=1
6
7 append_arg() {
8         local cfg="$1"
9         local var="$2"
10         local opt="$3"
11         local def="$4"
12         local val
13
14         config_get val "$cfg" "$var"
15         [ -n "$val" -o -n "$def" ] && procd_append_param command $opt="${val:-$def}"
16 }
17
18 start_instance() {
19         local cfg="$1"
20         local aux
21
22         config_get_bool aux "$cfg" 'disabled' '0'
23         [ "$aux" = 1 ] && return 1
24
25         procd_open_instance
26
27         procd_set_param command /usr/bin/shairplay
28
29         append_arg "$cfg" apname "--apname" "AirPlay"
30         append_arg "$cfg" port "--server_port"
31         append_arg "$cfg" password "--password"
32         append_arg "$cfg" hwaddr "--hwaddr"
33
34         append_arg "$cfg" ao_driver "--ao_driver"
35         append_arg "$cfg" ao_devicename "--ao_devicename"
36         append_arg "$cfg" ao_deviceid "--ao_deviceid"
37
38         config_get_bool aux "$cfg" 'respawn' '0'
39         [ "$aux" = 1 ] && procd_set_param respawn
40
41         procd_close_instance
42 }
43
44 service_triggers() { 
45         procd_add_reload_trigger "shairplay" 
46 }
47
48 start_service() {
49         config_load shairplay
50         config_foreach start_instance shairplay
51 }