Magellan Linux

Annotation of /mcore-src/trunk/mcore-tools/src/modules/citrix/storefront-session.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2354 - (hide annotations) (download)
Mon Aug 24 12:27:10 2015 UTC (8 years, 8 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