Magellan Linux

Contents of /mcore-src/trunk/mcore-tools/src/modules/lprng/printing.client.class.in

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1248 - (show annotations) (download)
Wed Feb 2 20:20:24 2011 UTC (13 years, 3 months ago) by niro
Original Path: mcore-src/trunk/mcore-tools/daemon/client/include/printing.client.class
File size: 2221 byte(s)
-initial version
1 # $Id$
2
3 provide lprng
4
5 help_printing_addprinter()
6 {
7 mecho "set printing.addprinter [name] [port] [ip] [share]"
8 mecho " adds a new printer"
9 mecho " name - name of the printer"
10 mecho " port - printing port (lpt1, usb1, com1 ... lptN, usbN, comN"
11 mecho " ip - ip of the remote printer - optional"
12 mecho " share - share/port name of the remote printer - optional"
13 }
14
15 set_printing_addprinter()
16 {
17 local name="$1"
18 local port="$2"
19 local ip="$3"
20 local share="$4"
21
22 [[ -z ${name} ]] && help_printing_addprinter && return 1
23 [[ -z ${port} ]] && help_printing_addprinter && return 1
24
25 [[ ! -d /etc/printcap.d ]] && install -d /etc/printcap.d
26
27 case ${port} in
28 lpt[0-9]*) port="/dev/lp$(( ${port/lpt/}-1 ))" ;;
29 com[0-9]*) port="/dev/ttyS$(( ${port/com/}-1 ))" ;;
30 usb[0-9]*) port="/dev/usb/lp$(( ${port/usb/}-1 ))" ;;
31 #lpd) port="lpd://${ip}/${share}" ;;
32 #socket) port="socket://${ip}:${share}" ;;
33 esac
34
35 CONFIG="/etc/printcap.d/${name}.conf"
36 addconfig "${name}|${name}"
37 addconfig " :lp=${port}"
38 addconfig " :sd=/var/spool/lpd/${name}"
39
40 # regenerate printcap
41 helper_generate_printcap
42 }
43
44 help_printing_delprinter()
45 {
46 mecho "set printing.delprinter [name]"
47 mecho " deletes given printer"
48 }
49
50 set_printing_delprinter()
51 {
52 local name="$1"
53
54 [[ -z ${name} ]] && help_printing_addprinter && return 1
55
56 if [[ -f /etc/printcap.d/${name}.conf ]]
57 then
58 rm /etc/printcap.d/${name}.conf
59 fi
60
61 if [[ -d /var/spool/lpd/${name} ]]
62 then
63 rm -rf /var/spool/lpd/${name}
64 fi
65
66 # regenerate printcap
67 helper_generate_printcap
68 }
69
70 help_printing_printer()
71 {
72 mecho "get printing.printer"
73 mecho " shows all config/var/spool/lpd/ured printer"
74 }
75
76 get_printing_printer()
77 {
78 local i
79 local printer
80
81 for i in $(find /etc/printcap.d -type f -name \*.conf)
82 do
83 printer="${printer} $(basename ${i} .conf)"
84 done
85
86 mecho ${printer}
87 }
88
89 helper_generate_printcap()
90 {
91 local i
92
93 CONFIG="/etc/printcap"
94 clearconfig
95
96 for i in $(find /etc/printcap.d -type f -name \*.conf)
97 do
98 mecho "adding ${i}"
99 addconfig "#--- added by mcored ---"
100 cat ${i} >> ${CONFIG}
101 addconfig "#-----------------------"
102 addconfig
103
104 # install spooler directories
105 install -o lp -g lp -m0700 -d /var/spool/lpd/$(basename ${i} .conf)
106 done
107 }