packages/net/u2pnpd/files/u2pnpd.init
Michael Heimpold 31e6a7832a u2pnpd: add new package
u²pnpd announces a device as UPnP basic device on the
network so that an user could easily find it. It tries
to detect various system information automatically, however
everything can be overridden by UCI settings.

Signed-off-by: Michael Heimpold <mhei@heimpold.de>
2015-10-01 23:49:20 +02:00

62 lines
1.6 KiB
Bash

#!/bin/sh /etc/rc.common
# Copyright (C) 2015 OpenWrt.org
START=50
STOP=20
SERVICE_DAEMONIZE=1
SERVICE_PID_FILE=/var/run/u2pnpd.pid
SERVICE_USE_PID=1
SERVICE_WRITE_PID=1
start_instance() {
local section="$1"
local enabled
local interface manufacturer manufacturerURL modelDescription
local modelName modelNumber modelURL serialNumber friendlyName
local uuid httpsURL
local i
config_get_bool enabled "$section" 'enabled' 1
[ "$enabled" -gt 0 ] || return 0
for i in interface httpsURL manufacturer manufacturerURL modelDescription \
modelName modelNumber modelURL serialNumber friendlyName uuid; do
config_get "$i" "$section" "$i"
done
[ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
service_start /usr/bin/u2pnpd ${httpsURL:+-s} \
${interface:+--interface="$interface"} \
${manufacturer:+--manufacturer="$manufacturer"} \
${manufacturerURL:+--manufacturerURL="$manufacturerURL"} \
${modelDescription:+--modelDescription="$modelDescription"} \
${modelName:+--modelName="$modelName"} \
${modelNumber:+--modelNumber="$modelNumber"} \
${modelURL:+--modelURL="$modelURL"} \
${serialNumber:+--serialNumber="$serialNumber"} \
${friendlyName:+--friendlyName="$friendlyName"} \
${uuid:+--uuid="$uuid"}
}
stop_instance() {
local section="$1"
local interface
config_get interface "$section" 'interface'
[ -n "$interface" ] && SERVICE_PID_FILE="/var/run/u2pnpd.$interface.pid"
service_stop /usr/bin/u2pnpd
rm -f "$SERVICE_PID_FILE"
}
start() {
config_load 'u2pnpd'
config_foreach start_instance 'u2pnpd'
}
stop() {
config_load 'u2pnpd'
config_foreach stop_instance 'u2pnpd'
}