#!/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