Annotation of /mcore-src/trunk/mcore-tools/src/modules/citrix/citrix.client.class.in
Parent Directory | Revision Log
Revision 2276 -
(hide annotations)
(download)
Tue Jan 14 13:31:36 2014 UTC (10 years, 8 months ago) by niro
File size: 4631 byte(s)
Tue Jan 14 13:31:36 2014 UTC (10 years, 8 months ago) by niro
File size: 4631 byte(s)
-prefix citrix-session and citrix-serverlist with MCORE_LIBDIR
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 | # generate fluxbox menu entry | ||
99 | niro | 2038 | set_fluxbox_menuitem add "${name}" "wfica ${icafile}" |
100 | niro | 1266 | ;; |
101 | |||
102 | del) | ||
103 | niro | 2273 | if [[ -n ${name} ]] |
104 | niro | 1266 | then |
105 | niro | 2272 | ${MCORE_LIBDIR}/citrix-session --del --name "${name}" |
106 | niro | 2038 | set_fluxbox_menuitem del "${name}" |
107 | niro | 2272 | else |
108 | for i in $(NOCOLORS=true ${MCORE_LIBDIR}/citrix-session --print) | ||
109 | niro | 1266 | do |
110 | niro | 2272 | ${MCORE_LIBDIR}/citrix-session --del --name "${i}" |
111 | set_fluxbox_menuitem del "${name}" | ||
112 | niro | 1266 | done |
113 | niro | 2275 | fi |
114 | niro | 1266 | ;; |
115 | |||
116 | *) help_citrix_session && return 1 ;; | ||
117 | esac | ||
118 | } | ||
119 | |||
120 | get_citrix_session() | ||
121 | { | ||
122 | niro | 2269 | local action="${CLASS_ARGV[0]}" |
123 | niro | 2259 | |
124 | [[ -z ${action} ]] && help_citrix_serverlist && return 1 | ||
125 | |||
126 | case "${action}" in | ||
127 | niro | 2276 | print) ${MCORE_LIBDIR}/citrix-session --print ;; |
128 | query) ${MCORE_LIBDIR}/citrix-session --query ;; | ||
129 | niro | 2261 | *) help_citrix_session && return 1 ;; |
130 | niro | 2259 | esac |
131 | niro | 1266 | } |
132 | |||
133 | set_citrix_serverlist() | ||
134 | { | ||
135 | niro | 2269 | local action="${CLASS_ARGV[0]}" |
136 | local server="${CLASS_ARGV[1]}" | ||
137 | niro | 2259 | local i |
138 | niro | 1266 | |
139 | [[ -z ${action} ]] && help_citrix_serverlist && return 1 | ||
140 | |||
141 | case "${action}" in | ||
142 | niro | 2272 | add) ${MCORE_LIBDIR}/citrix-serverlist --add --server "${server}" ;; |
143 | niro | 1266 | del) |
144 | niro | 2272 | if [[ -n ${server} ]] |
145 | niro | 1266 | then |
146 | niro | 2272 | ${MCORE_LIBDIR}/citrix-serverlist --del --server "${server}" |
147 | else | ||
148 | niro | 1266 | # delete all items |
149 | niro | 2272 | for i in $(NOCOLORS=true ${MCORE_LIBDIR}/citrix-serverlist --print) |
150 | niro | 2259 | do |
151 | niro | 2272 | ${MCORE_LIBDIR}/citrix-serverlist --del --server "${i}" |
152 | niro | 2259 | done |
153 | fi | ||
154 | ;; | ||
155 | niro | 2272 | auto) ${MCORE_LIBDIR}/citrix-serverlist --auto ;; |
156 | niro | 1266 | *) help_citrix_serverlist && return 1 ;; |
157 | esac | ||
158 | } | ||
159 | |||
160 | get_citrix_serverlist() | ||
161 | { | ||
162 | niro | 2269 | local action="${CLASS_ARGV[0]}" |
163 | niro | 2259 | |
164 | [[ -z ${action} ]] && help_citrix_serverlist && return 1 | ||
165 | |||
166 | case "${action}" in | ||
167 | niro | 2276 | print) ${MCORE_LIBDIR}/citrix-serverlist --print ;; |
168 | query) ${MCORE_LIBDIR}/citrix-serverlist --query ;; | ||
169 | niro | 2261 | *) help_citrix_session && return 1 ;; |
170 | niro | 2259 | esac |
171 | niro | 1266 | } |