--- mcore-src/trunk/mcore-tools/src/include/daemon.global.class.in 2014/01/10 23:51:35 2228 +++ mcore-src/trunk/mcore-tools/src/include/daemon.global.class.in 2015/09/17 07:27:10 2555 @@ -1,14 +1,20 @@ # $Id$ # loads client classes from $MCORE_LIBDIR -load_client_classes() +load_classes() { - local i + local class + local classtype + + case $1 in + client|control) classtype="$1" ;; + *) die "Unknown classes type '$1'" ;; + esac # client specific - for i in $(find ${MCORE_LIBDIR}/include -type f -name \*.client.class) + for class in $(find ${MCORE_LIBDIR}/include -type f -name \*.${classtype}.class) do - source ${i} || eecho "error loading ${i}" + include ${class} || eecho "error loading ${class}" done } @@ -28,9 +34,7 @@ local pid for pid in $(pidof sslsvd) do - kill -15 ${pid} - sleep 1 - kill -9 ${pid} + kill -SIGTERM ${pid} done } @@ -54,37 +58,59 @@ # run_class $method $caller $argv1 $argv2 ... $argvN run_class() { - local method="$1" - local caller="$2" + local method="${GLOBAL_ARGV[0]}" + local caller="${GLOBAL_ARGV[1]}" local class local cmd - local argv + local i + local count if valid_session then class="${caller%.*}" cmd="${caller#*.}" - argv="${@/${caller}/}" # remove caller - argv="${argv/${method}/}" # remove method -# echo "method=${method}" -# echo "caller=${caller}" -# echo "class=${class}" -# echo "cmd=${cmd}" -# echo "argv=${argv}" + # copy GLOBAL_ARGV to CLASS_ARGV array without method and caller.class + unset CLASS_ARGV + count="${#GLOBAL_ARGV[*]}" + for (( i=2; i