Contents of /mcore-src/trunk/mcore-tools/src/modules/citrix/citrix-serverlist.in
Parent Directory | Revision Log
Revision 2272 -
(show 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 | #!/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 |