50 lines
1.1 KiB
Bash
Executable file
50 lines
1.1 KiB
Bash
Executable file
#!/bin/sh
|
|
|
|
. /usr/share/libubox/jshn.sh
|
|
. /lib/functions.sh
|
|
|
|
SERVICESFILE="-1"
|
|
|
|
find_service_config() {
|
|
local cfg="$1"
|
|
|
|
config_get library "$cfg" library
|
|
if [ "$library" != "olsrd_nameservice" ]; then
|
|
return 1
|
|
fi
|
|
config_get services_file "$cfg" services_file
|
|
SERVICESFILE=$services_file
|
|
}
|
|
|
|
load_services() {
|
|
local olsrd="$1"
|
|
config_load $olsrd
|
|
config_foreach find_service_config LoadPlugin
|
|
local services_configured=0
|
|
if [ "$SERVICESFILE" != "-1" ]; then
|
|
services_configured=1
|
|
fi
|
|
local services=$(cat $SERVICESFILE|grep -ve "^###"|grep -ve "^$")
|
|
json_init
|
|
json_add_boolean configured $services_configured
|
|
json_add_string source "$olsrd"
|
|
json_add_string services "$services"
|
|
json_dump
|
|
}
|
|
|
|
case "$1" in
|
|
list)
|
|
# List method must return the list of methods and parameters that the daemon will accept. Only methods listed here will available to call.
|
|
echo '{ "services4": { }, "services6": { } }'
|
|
;;
|
|
call)
|
|
case "$2" in
|
|
services4)
|
|
load_services "olsrd"
|
|
;;
|
|
services6)
|
|
load_services "olsrd6"
|
|
;;
|
|
esac
|
|
;;
|
|
esac
|