Magellan Linux

Annotation of /mcore-src/trunk/mcore-tools/src/modules/citrix/citrix.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 2479 - (hide annotations) (download)
Thu Sep 10 08:48:45 2015 UTC (8 years, 8 months ago) by niro
File size: 4494 byte(s)
-use 0/1 for bool values instead of mixed 0/1 and true/false settings
1 niro 1266 # $Id$
2    
3     provide citrix ica
4    
5     # needs fluxbox!
6     require fluxbox basic-video
7    
8 niro 2259 # citrix global config
9     include @@SYSCONFDIR@@/mcore/citrix.conf
10    
11 niro 1266 help_citrix_serverlist()
12     {
13 niro 2259 mecho "get citrix.serverlist [action]"
14 niro 1266 mecho " Shows all hosts added on the serverlist."
15 niro 2259 mecho " [actions]:"
16     mecho " print - prints local configured serverlist"
17     mecho " query - get serverlist of the farm from given [server]"
18 niro 1266 mecho
19     mecho "set citrix.serverlist [action] [host]"
20     mecho " Adds or deletes a server from the ica serverlist."
21     mecho " [actions]:"
22     mecho " add - adds a server"
23     mecho " del - deletes a server"
24 niro 2259 mecho " auto - queries given [server] for the serverlist and adds all of them"
25 niro 1266 mecho
26     mecho " host - dns hostname or ip of the server"
27     mecho
28     mecho " If no [host] was given, all entries are deleted."
29     }
30    
31     help_citrix_session()
32     {
33     mecho "get citrix.session"
34     mecho " Shows all configured ICA sessions"
35 niro 2259 mecho " print - prints all local configured sessions"
36     mecho " query - get sessionlist of the farm from given [server]"
37 niro 1266 mecho
38 niro 2038 mecho "set citrix.session [action] [name] [session] [mode] [user] [domain] [password]"
39 niro 1266 mecho " Adds or delets a ICA session."
40     mecho " Available actions:"
41     mecho " add - adds a new ica session"
42 niro 2272 mecho " del - deletes ica session with name [name]"
43     mecho " if no [name] given, all sessions will be deleted"
44 niro 1266 mecho
45     mecho " Available modes:"
46     mecho " fullscreen - fullscreen session"
47     mecho " seamless - seamless windows session"
48     mecho " *x* - windowed session with given resolution"
49     mecho " any resonable resolution is fine like:"
50     mecho " 1024x768, 1280x1024, 1440x900 etc"
51     mecho
52     mecho " session - name of the Citrix session"
53     mecho " user - user inside the session - optional"
54     mecho " domain - logon domain of the user - optional"
55     mecho " password - password of the user - optional"
56     }
57    
58     set_citrix_session()
59     {
60 niro 2269 local action="${CLASS_ARGV[0]}"
61     local name="${CLASS_ARGV[1]}"
62     local session="${CLASS_ARGV[2]}"
63     local mode="${CLASS_ARGV[3]}"
64 niro 2271 local user="${CLASS_ARGV[4]}"
65 niro 2269 local domain="${CLASS_ARGV[5]}"
66     local password="${CLASS_ARGV[6]}"
67 niro 1266 local i
68    
69     [[ -z ${action} ]] && help_citrix_session && return 1
70    
71     case "${action}" in
72     add)
73 niro 2272 # requires name
74     [[ -z ${name} ]] && help_citrix_session && return 1
75 niro 1266 # action 'add' need mode too
76     [[ -z ${mode} ]] && help_citrix_session && return 1
77 niro 2038 # and session
78     [[ -z ${session} ]] && help_citrix_session && return 1
79 niro 1266
80     # other sanity checks
81     case "${mode}" in
82     fullscreen) ;;
83     seamless) ;;
84     *x*) ;;
85 niro 2274 *) help_citrix_session && return 1 ;;
86 niro 1266 esac
87    
88 niro 2272 # create citrix session file
89     ${MCORE_LIBDIR}/citrix-session \
90     --add \
91     --name "${name}" \
92     --session "${session}" \
93     --mode "${mode}" \
94     --user "${user}" \
95     --domain "${domain}" \
96     --password "${password}"
97 niro 1266 ;;
98    
99     del)
100 niro 2273 if [[ -n ${name} ]]
101 niro 1266 then
102 niro 2272 ${MCORE_LIBDIR}/citrix-session --del --name "${name}"
103     else
104 niro 2479 for i in $(NOCOLORS=1 ${MCORE_LIBDIR}/citrix-session --print)
105 niro 1266 do
106 niro 2279 # basename
107     name="${i%.*}"
108     ${MCORE_LIBDIR}/citrix-session --del --name "${name}"
109 niro 1266 done
110 niro 2275 fi
111 niro 1266 ;;
112    
113     *) help_citrix_session && return 1 ;;
114     esac
115     }
116    
117     get_citrix_session()
118     {
119 niro 2269 local action="${CLASS_ARGV[0]}"
120 niro 2259
121     [[ -z ${action} ]] && help_citrix_serverlist && return 1
122    
123     case "${action}" in
124 niro 2276 print) ${MCORE_LIBDIR}/citrix-session --print ;;
125     query) ${MCORE_LIBDIR}/citrix-session --query ;;
126 niro 2261 *) help_citrix_session && return 1 ;;
127 niro 2259 esac
128 niro 1266 }
129    
130     set_citrix_serverlist()
131     {
132 niro 2269 local action="${CLASS_ARGV[0]}"
133     local server="${CLASS_ARGV[1]}"
134 niro 2259 local i
135 niro 1266
136     [[ -z ${action} ]] && help_citrix_serverlist && return 1
137    
138     case "${action}" in
139 niro 2272 add) ${MCORE_LIBDIR}/citrix-serverlist --add --server "${server}" ;;
140 niro 1266 del)
141 niro 2272 if [[ -n ${server} ]]
142 niro 1266 then
143 niro 2272 ${MCORE_LIBDIR}/citrix-serverlist --del --server "${server}"
144     else
145 niro 1266 # delete all items
146 niro 2479 for i in $(NOCOLORS=1 ${MCORE_LIBDIR}/citrix-serverlist --print)
147 niro 2259 do
148 niro 2272 ${MCORE_LIBDIR}/citrix-serverlist --del --server "${i}"
149 niro 2259 done
150     fi
151     ;;
152 niro 2272 auto) ${MCORE_LIBDIR}/citrix-serverlist --auto ;;
153 niro 1266 *) help_citrix_serverlist && return 1 ;;
154     esac
155     }
156    
157     get_citrix_serverlist()
158     {
159 niro 2269 local action="${CLASS_ARGV[0]}"
160 niro 2259
161     [[ -z ${action} ]] && help_citrix_serverlist && return 1
162    
163     case "${action}" in
164 niro 2276 print) ${MCORE_LIBDIR}/citrix-serverlist --print ;;
165     query) ${MCORE_LIBDIR}/citrix-serverlist --query ;;
166 niro 2261 *) help_citrix_session && return 1 ;;
167 niro 2259 esac
168 niro 1266 }