Magellan Linux

Contents of /alx-src/branches/alxconf-060/plugins/egk_scm/plugin.sh

Parent Directory Parent Directory | Revision Log Revision Log


Revision 3523 - (show annotations) (download) (as text)
Mon Apr 23 07:30:59 2012 UTC (12 years ago) by niro
File MIME type: application/x-sh
File size: 2768 byte(s)
-configure plugins via sql database
1 # this script gets called by config_sessions
2
3 PLUGIN_NAME="egk_scm"
4 PLUGIN_MENUITEM_NAME="SUM_EGK"
5 PLUGIN_MENUITEM_EXEC="rdesktop"
6 PLUGIN_MENUITEM_PARAM='-r scard:\"eHealth200 Terminal 00 00\"=\"SCM Microsystems Inc. Terminal0-Patient slot 0\",\"eHealth200 Terminal 00 01\"=\"SCM Microsystems Inc. Terminal0-Doctor slot 0\"'
7 PLUGIN_MENUITEM_WORKDIR=""
8 PLUGIN_MENUITEM_ICON=""
9
10 PLUGIN_AUTOSTART=0
11 PLUGIN_PACKAGES="libusb libusb-compat pcsc-lite pcsc-plugin-ehealth200"
12 # uses rdesktop plugin config
13 PLUGIN_CONFIG="/etc/alxconfig-ng/plugin-rdesktop.conf"
14
15 # include alx functions
16 source /etc/alxconfig-ng/config.rc
17 source /etc/alxconfig-ng/serial
18 source ${ALX_FUNCTIONS}/common
19 source ${ALX_FUNCTIONS}/mysqlfunctions
20
21 install_plugin()
22 {
23 local i
24 for i in ${PLUGIN_PACKAGES}
25 do
26 if [[ -z $(magequery -n ${i}) ]]
27 then
28 MAGE_BOOTSTRAP=true mage install ${i}
29 mage clean
30 fi
31 done
32 }
33
34 setup_plugin()
35 {
36 return 0
37 }
38
39 # create desktop buttons
40 create_menuitem()
41 {
42 if [ -f ${PLUGIN_CONFIG} ]
43 then
44 source ${PLUGIN_CONFIG}
45
46 # use session name from rdesktop if available
47 if [[ ! -z ${PLUGIN_CONFIG_SESSION_NAME} ]]
48 then
49 PLUGIN_MENUITEM_NAME="${PLUGIN_CONFIG_SESSION_NAME}"
50 fi
51 else
52 # rdesktop not configured, disable plugin
53 PLUGIN_CONFIG_PARAM=""
54 PLUGIN_CONFIG_SERVER=""
55 PLUGIN_MENUITEM_NAME=""
56 PLUGIN_MENUITEM_EXEC=""
57 PLUGIN_MENUITEM_PARAM=""
58 PLUGIN_MENUITEM_WORKDIR=""
59 PLUGIN_MENUITEM_ICON=""
60 fi
61
62 # don't touch these echo, define variables above
63 echo "PLUGIN_MENUITEM_NAME=\"${PLUGIN_MENUITEM_NAME}\""
64 echo "PLUGIN_MENUITEM_EXEC=\"${PLUGIN_MENUITEM_EXEC}\""
65 echo "PLUGIN_MENUITEM_PARAM=\"${PLUGIN_CONFIG_PARAM} ${PLUGIN_MENUITEM_PARAM} ${PLUGIN_CONFIG_SERVER}\""
66 echo "PLUGIN_MENUITEM_WORKDIR=\"${PLUGIN_MENUITEM_WORKDIR}\""
67 echo "PLUGIN_MENUITEM_ICON=\"${PLUGIN_MENUITEM_ICON}\""
68 }
69
70 autostart_plugin()
71 {
72 # only run autostart if rdesktop was configured
73 if [ -f ${PLUGIN_CONFIG} ]
74 then
75 source ${PLUGIN_CONFIG}
76 evaluate_table plugin_egk_scm
77
78 # use session name from rdesktop if available
79 if [[ ! -z ${PLUGIN_CONFIG_SESSION_NAME} ]]
80 then
81 PLUGIN_MENUITEM_NAME="${PLUGIN_CONFIG_SESSION_NAME}"
82 fi
83 fi
84 # sanitize variables
85 [[ -z ${plugin_egk_scm_autostart} ]] && plugin_egk_scm_autostart=0
86
87 echo "PLUGIN_AUTOSTART=\"${plugin_egk_scm_autostart}\""
88 echo "PLUGIN_MENUITEM_NAME=\"${PLUGIN_MENUITEM_NAME}\""
89 }
90
91 uninstall_plugin()
92 {
93 local i
94 for i in ${PLUGIN_PACKAGES}
95 do
96 if [[ -n $(magequery -n ${i}) ]]
97 then
98 MAGE_BOOTSTRAP=true mage uninstall ${i}
99 mage clean
100 fi
101 done
102
103 mage clean
104 }
105
106 case $1 in
107 install) install_plugin ;;
108 setup) setup_plugin ;;
109 menuitem) create_menuitem ;;
110 autostart) autostart_plugin ;;
111 uninstall) uninstall_plugin ;;
112 *) echo "PLUGIN '${PLUGIN_NAME}': unkown operation '$1'" ;;
113 esac