Annotation of /mcore-src/trunk/mcore-tools/src/modules/citrix/citrix-serverlist.in
Parent Directory | Revision Log
Revision 2272 -
(hide annotations)
(download)
Tue Jan 14 13:20:35 2014 UTC (10 years, 8 months ago) by niro
File size: 1541 byte(s)
Tue Jan 14 13:20:35 2014 UTC (10 years, 8 months ago) by niro
File size: 1541 byte(s)
-split citrix.client.class.in to single programs named citrix-serverlist, citrix-session and query-citrix-browser to make things more modular and simpler
1 | niro | 2272 | #!/bin/bash |
2 | |||
3 | MCORE_LIBDIR="@@MCORE_LIBDIR@@" | ||
4 | source @@SYSCONFDIR@@/mcore/mcore.conf | ||
5 | source @@SYSCONFDIR@@/mcore/citrix.conf | ||
6 | source ${MCORE_LIBDIR}/include/common.global.class | ||
7 | |||
8 | SERVERLISTDIR="${MCORE_CONFIG_PATH}/citrix/serverlist" | ||
9 | |||
10 | die() { echo "ERROR: $@"; exit 1; } | ||
11 | |||
12 | # very basic getops | ||
13 | for argv in $* | ||
14 | do | ||
15 | case $1 in | ||
16 | --add|--del|--print|--query|--auto) method="${1//--}" ;; | ||
17 | --server) shift; server="$1" ;; | ||
18 | esac | ||
19 | shift | ||
20 | done | ||
21 | |||
22 | [[ -n ${method} ]] || die "No method given" | ||
23 | |||
24 | case "${method}" in | ||
25 | add) | ||
26 | [[ -n ${server} ]] || die "No server given" | ||
27 | CONFIG="${MROOT}/${SERVERLISTDIR}/${server}" | ||
28 | clearconfig | ||
29 | addconfig "${server}" | ||
30 | ;; | ||
31 | |||
32 | del) | ||
33 | [[ -n ${server} ]] || die "No server given" | ||
34 | if [ ! -d ${MROOT}/${SERVERLISTDIR} ] | ||
35 | then | ||
36 | eecho "'${MROOT}/${SERVERLISTDIR}' directory not found." | ||
37 | elif [ -f ${MROOT}/${SERVERLISTDIR}/${server} ] | ||
38 | then | ||
39 | rm ${MROOT}/${SERVERLISTDIR}/"${server}" | ||
40 | else | ||
41 | eecho "No configured server named '${server}' exists." | ||
42 | fi | ||
43 | ;; | ||
44 | |||
45 | auto) | ||
46 | eval serverlist=( $(${MCORE_LIBDIR}/query-citrix-browser --server) ) | ||
47 | servercount="${#serverlist[*]}" | ||
48 | for (( i=0; i<servercount; i++)) | ||
49 | do | ||
50 | server="${serverlist[${i}]}" | ||
51 | CONFIG="${MROOT}/${SERVERLISTDIR}/${server}" | ||
52 | clearconfig | ||
53 | addconfig "${server}" | ||
54 | done | ||
55 | ;; | ||
56 | |||
57 | print) | ||
58 | list_files_in_directory ${MROOT}/${SERVERLISTDIR} | ||
59 | ;; | ||
60 | |||
61 | query) | ||
62 | eval serverlist=( $(${MCORE_LIBDIR}/query-citrix-browser --server) ) | ||
63 | servercount="${#serverlist[*]}" | ||
64 | for (( i=0; i<servercount; i++)) | ||
65 | do | ||
66 | rvecho -n "${serverlist[${i}]};" | ||
67 | done | ||
68 | rvecho | ||
69 | ;; | ||
70 | esac |