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>
62 lines
1.6 KiB
Bash
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'
|
|
}
|