Annotation of /mcore-src/trunk/mcore-tools/src/modules/citrix/storefront-session.in
Parent Directory | Revision Log
Revision 2354 -
(hide annotations)
(download)
Mon Aug 24 12:27:10 2015 UTC (8 years, 9 months ago) by niro
File size: 1952 byte(s)
Mon Aug 24 12:27:10 2015 UTC (8 years, 9 months ago) by niro
File size: 1952 byte(s)
-added storefront-session script and storefront.client.class
1 | niro | 2354 | #!/bin/bash |
2 | |||
3 | MCORE_LIBDIR="@@MCORE_LIBDIR@@" | ||
4 | source @@SYSCONFDIR@@/mcore/mcore.conf | ||
5 | source ${MCORE_LIBDIR}/include/common.global.class | ||
6 | source ${MCORE_LIBDIR}/include/daemon.global.class | ||
7 | |||
8 | STROREFRONTDIR="${MCORE_CONFIG_PATH}/citrix/storefront" | ||
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) method="${1//--}" ;; | ||
17 | --name) shift; name="$1" ;; | ||
18 | --session) shift; session="$1" ;; | ||
19 | --user) shift; user="$1" ;; | ||
20 | --domain) shift; domain="$1" ;; | ||
21 | --password) shift; password="$1" ;; | ||
22 | esac | ||
23 | shift | ||
24 | done | ||
25 | |||
26 | [[ -n ${method} ]] || die "No method given" | ||
27 | |||
28 | case "${method}" in | ||
29 | add) | ||
30 | # requires name | ||
31 | [[ -n ${name} ]] || die "No name given" | ||
32 | # action 'add' requires mode too | ||
33 | [[ -n ${mode} ]] || die "No mode given" | ||
34 | # and session | ||
35 | [[ -n ${session} ]] || die "No session given" | ||
36 | |||
37 | storefront_starter="${STOREFRONTDIR}/${name}.sh" | ||
38 | CONFIG="${MROOT}/${storefront_starter}" | ||
39 | clearconfig | ||
40 | |||
41 | addconfig '#!/bin/bash' | ||
42 | addconfig "${MCORE_LIBDIR}/storefront-resolver launch '${session}' '${user}' '${password}' '${domain}'" | ||
43 | |||
44 | if is_provided fluxbox | ||
45 | then | ||
46 | # generate fluxbox menu entry | ||
47 | ${MCORE_LIBDIR}/fluxbox-menuitem --add --name "${name}" --exec "${storefront_starter}" && | ||
48 | ${MCORE_LIBDIR}/fluxbox-rebuild-menu | ||
49 | fi | ||
50 | ;; | ||
51 | |||
52 | del) | ||
53 | [[ -n ${name} ]] || die "No name given" | ||
54 | if [ -f ${MROOT}/${STOREFRONTDIR}/"${name}".sh ] | ||
55 | then | ||
56 | rm ${MROOT}/${STOREFRONTDIR}/"${name}".sh | ||
57 | if is_provided fluxbox | ||
58 | then | ||
59 | ${MCORE_LIBDIR}/fluxbox-menuitem --del --name "${name}" && | ||
60 | ${MCORE_LIBDIR}/fluxbox-rebuild-menu | ||
61 | fi | ||
62 | else | ||
63 | eecho "No configured session named '${name}' exists." | ||
64 | fi | ||
65 | ;; | ||
66 | |||
67 | print) | ||
68 | list_files_in_directory ${MROOT}/${STOREFRONTDIR} | ||
69 | ;; | ||
70 | |||
71 | query) | ||
72 | eval sessionlist=( $(${MCORE_LIBDIR}/storefront-resolver enumerate) ) | ||
73 | sessioncount="${#sessionlist[*]}" | ||
74 | for (( i=0; i<sessioncount; i++)) | ||
75 | do | ||
76 | rvecho -n "${sessionlist[${i}]};" | ||
77 | done | ||
78 | rvecho | ||
79 | ;; | ||
80 | esac |