Merge pull request #4962 from diizzyy/patch-96
[feed/packages.git] / net / u2pnpd / files / u2pnpd.init
1 #!/bin/sh /etc/rc.common
2 # Copyright (C) 2015 OpenWrt.org
3
4 START=50
5 STOP=20
6
7 SERVICE_DAEMONIZE=1
8 SERVICE_PID_FILE=/var/run/u2pnpd.pid
9 SERVICE_USE_PID=1
10 SERVICE_WRITE_PID=1
11
12 start_instance() {
13 local section="$1"
14 local enabled
15 local interface manufacturer manufacturerURL modelDescription
16 local modelName modelNumber modelURL serialNumber friendlyName
17 local uuid httpsURL
18 local i
19
20 config_get_bool enabled "$section" 'enabled' 1
21 [ "$enabled" -gt 0 ] || return 0
22
23 for i in interface httpsURL manufacturer manufacturerURL modelDescription \
24 modelName modelNumber modelURL serialNumber friendlyName uuid; do
25 config_get "$i" "$section" "$i"
26 done
27
28 [ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
29
30 service_start /usr/bin/u2pnpd ${httpsURL:+-s} \
31 ${interface:+--interface="$interface"} \
32 ${manufacturer:+--manufacturer="$manufacturer"} \
33 ${manufacturerURL:+--manufacturerURL="$manufacturerURL"} \
34 ${modelDescription:+--modelDescription="$modelDescription"} \
35 ${modelName:+--modelName="$modelName"} \
36 ${modelNumber:+--modelNumber="$modelNumber"} \
37 ${modelURL:+--modelURL="$modelURL"} \
38 ${serialNumber:+--serialNumber="$serialNumber"} \
39 ${friendlyName:+--friendlyName="$friendlyName"} \
40 ${uuid:+--uuid="$uuid"}
41 }
42
43 stop_instance() {
44 local section="$1"
45 local interface
46
47 config_get interface "$section" 'interface'
48 [ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
49
50 service_stop /usr/bin/u2pnpd
51 rm -f "$SERVICE_PID_FILE"
52 }
53
54 start() {
55 config_load 'u2pnpd'
56 config_foreach start_instance 'u2pnpd'
57 }
58
59 stop() {
60 config_load 'u2pnpd'
61 config_foreach stop_instance 'u2pnpd'
62 }