--- mcore-src/trunk/mcore-tools/daemon/include/daemon.global.class 2011/03/11 19:38:10 1666
+++ mcore-src/trunk/mcore-tools/src/include/daemon.global.class 2014/01/10 14:57:04 2207
@@ -1,5 +1,39 @@
# $Id$
+# loads client classes from $MCORE_LIBDIR
+load_client_classes()
+{
+ local i
+
+ # client specific
+ for i in $(find ${MCORE_LIBDIR}/include -type f -name \*.client.class)
+ do
+ source ${i} || eecho "error loading ${i}"
+ done
+}
+
+# restarts the whole service via remote cmd
+restart_service()
+{
+ local pid
+ for pid in $(pidof sslsvd)
+ do
+ kill -SIGHUP ${pid}
+ done
+}
+
+# stops the whole service via remote cmd
+stop_service()
+{
+ local pid
+ for pid in $(pidof sslsvd)
+ do
+ kill -15 ${pid}
+ sleep 1
+ kill -9 ${pid}
+ done
+}
+
# # import_resource $table $serial $resource $value
# import_resource()
# {
@@ -64,9 +98,14 @@
mecho "\tauth - authenticate to the daemon"
mecho "\tprovide - shows provides of a system"
mecho "\trequire - verify plugin requirements"
+ mecho "\treload - reloads all client classes plugins"
+ mecho "\trestart - restarts the daemon"
+ mecho "\tstop - stops the daemon"
mecho "\tnocolors - disable colors, useful for the webclient"
+ mecho "\tcolors - enable colors"
mecho "\tquiet - do not print any unecessary messages"
mecho "\thelp - shows help"
+ mecho "\tversion - prints version of the daemon"
mecho "\tquit - quits the connection to the server"
mecho
mecho "Help topics:"
@@ -83,69 +122,6 @@
mecho "Type 'help [topic]' for more information about every topic."
}
-# on newer xorg-servers root is not allowed to run progs in a user session
-x11runas()
-{
- if [[ -n $(pidof X) ]]
- then
- su - "${MCORE_UNPRIV_USER}" -c "DISPLAY=${MCORE_XORG_DISPLAY} $@"
- fi
-}
-
-addconfig()
-{
- local opts
-
- if [[ -z ${CONFIG} ]]
- then
- eecho "You must define \$CONFIG varibale first!"
- return 1
- fi
-
- if [[ ! -d $(dirname ${CONFIG}) ]]
- then
- install -d $(dirname ${CONFIG})
- fi
-
- # check for opts
- case $1 in
- -n) shift; opts=" -n" ;;
- -e) shift; opts=" -e" ;;
- esac
-
- echo ${opts} "$@" >> ${CONFIG}
-}
-
-clearconfig()
-{
- if [[ -z ${CONFIG} ]]
- then
- eecho "You must define \$CONFIG varibale first!"
- return 1
- fi
-
- if [[ ! -d $(dirname ${CONFIG}) ]]
- then
- install -d $(dirname ${CONFIG})
- fi
- : > ${CONFIG}
-}
-
-# no_duplicate $list $item
-no_duplicate()
-{
- local i
- local list="$1"
- local item="$2"
-
- for i in ${list}
- do
- [[ ${i} = ${item} ]] && return 1
- done
-
- return 0
-}
-
require()
{
local requires="$@"
@@ -187,7 +163,8 @@
# show missing and set the right retval
if [[ -z ${missing} ]]
then
- rvecho "${sorted}"
+ # do not escape, or CRLFS get printed to screen too
+ rvecho ${sorted}
return 0
else
for req in ${sorted}
@@ -195,12 +172,14 @@
if no_duplicate "${missing}" "$req"
then
# print normal
- rvecho -n " ${req}"
+ rvecho -n "${req} "
else
# print missing
- eecho -n " ${req}"
+ eecho -n "${req} "
fi
done
+ # print CRLF
+ echo
return 1
fi
}
@@ -229,103 +208,37 @@
# sort them alpabetically
sorted=$(for i in ${PROVIDE}; do echo "${i}"; done | sort)
# do not escape, or CRLFS get printed to screen too
- rvecho ${sorted}
+ rvecho ${sorted}
}
-# message only echo | disabled in quiet mode
-mecho()
+help_daemon_mroot()
{
- local COLCYAN="\033[1;36m"
- local COLDEFAULT="\033[0m"
- local opts
- local webcrlf
-
- # print nothing if quiet mode was requested
- [[ ${QUIET} = true ]] && return
-
- if [[ ${NOCOLORS} = true ]]
- then
- COLCYAN=""
- COLDEFAULT=""
- fi
-
- [[ ${WEBCRLF} = true ]] && webcrlf="
"
-
- # respect -n
- case $1 in
- -n) shift; opts="n" ;;
- esac
-
- echo -e${opts} "${COLCYAN}$@${COLDEFAULT}${webcrlf}"
+ mecho "get daemon.mroot"
+ mecho " Prints current MROOT variable."
+ mecho
+ mecho "set daemon.mroot [path]"
+ mecho " set MROOT variable to given path."
}
-# prints error messages | enabled even in quiet mode
-eecho()
+get_daemon_mroot()
{
- local COLRED="\033[1;31m"
- local COLDEFAULT="\033[0m"
- local opts
- local webcrlf
-
- if [[ ${NOCOLORS} = true ]]
- then
- COLRED=""
- COLDEFAULT=""
- fi
-
- [[ ${WEBCRLF} = true ]] && webcrlf="
"
-
- # respect -n
- case $1 in
- -n) shift; opts="n" ;;
- esac
-
- echo -e${opts} "${COLRED}$@${COLDEFAULT}${webcrlf}"
+ rvecho "${MROOT}"
}
-# prints return values of get | enabled even in quiet mode
-rvecho()
+set_daemon_mroot()
{
- local COLPURPLE="\033[1;35m"
- local COLDEFAULT="\033[0m"
- local opts
- local webcrlf
+ local path=$1
- if [[ ${NOCOLORS} = true ]]
+ if [[ -d ${path} ]]
then
- COLPURPLE=""
- COLDEFAULT=""
+ export MROOT="${path}"
+ decho "MROOT='${MROOT}' is set."
+ else
+ eecho "Path '${path}' does not exist. MROOT not set."
fi
-
- [[ ${WEBCRLF} = true ]] && webcrlf="
"
-
- # respect -n
- case $1 in
- -n) shift; opts="n" ;;
- esac
-
- echo -e${opts} "${COLPURPLE}$@${COLDEFAULT}${webcrlf}"
}
-# prints debug messages if requested | enabled even in quiet mode
-decho()
+print_version()
{
- # print nothing if debug mode was *not* requested
- [[ ${DEBUG} != 1 ]] && return
-
- eecho "DEBUG: ${@}"
-}
-
-path_not_empty()
-{
- local path="$1"
- [[ -z ${path} ]] && eecho "path_not_empty(): no path given!" && return 1
-
- # return ERR if path does not exist
- [[ ! -d ${path} ]] && return 1
- # return ERR if path empty
- [[ -z $(find "${path}" -mindepth 1 -maxdepth 1) ]] && return 1
-
- # every thing went ok, directory not empty
- return 0
+ echo "mcored-$(<${MCORE_LIBDIR}/VERSION)"
}