271 public synchronized void refreshServices() { |
271 public synchronized void refreshServices() { |
272 /* excludes the default printer */ |
272 /* excludes the default printer */ |
273 String[] printers = null; // array of printer names |
273 String[] printers = null; // array of printer names |
274 String[] printerURIs = null; //array of printer URIs |
274 String[] printerURIs = null; //array of printer URIs |
275 |
275 |
276 getDefaultPrintService(); |
276 try { |
|
277 getDefaultPrintService(); |
|
278 } catch (Throwable t) { |
|
279 IPPPrintService.debug_println(debugPrefix+ |
|
280 "Exception getting default printer : " + t); |
|
281 } |
277 if (CUPSPrinter.isCupsRunning()) { |
282 if (CUPSPrinter.isCupsRunning()) { |
278 printerURIs = CUPSPrinter.getAllPrinters(); |
283 try { |
|
284 printerURIs = CUPSPrinter.getAllPrinters(); |
|
285 IPPPrintService.debug_println("CUPS URIs = " + printerURIs); |
|
286 if (printerURIs != null) { |
|
287 for (int p = 0; p < printerURIs.length; p++) { |
|
288 IPPPrintService.debug_println("URI="+printerURIs[p]); |
|
289 } |
|
290 } |
|
291 } catch (Throwable t) { |
|
292 IPPPrintService.debug_println(debugPrefix+ |
|
293 "Exception getting all CUPS printers : " + t); |
|
294 } |
279 if ((printerURIs != null) && (printerURIs.length > 0)) { |
295 if ((printerURIs != null) && (printerURIs.length > 0)) { |
280 printers = new String[printerURIs.length]; |
296 printers = new String[printerURIs.length]; |
281 for (int i=0; i<printerURIs.length; i++) { |
297 for (int i=0; i<printerURIs.length; i++) { |
282 int lastIndex = printerURIs[i].lastIndexOf("/"); |
298 int lastIndex = printerURIs[i].lastIndexOf("/"); |
283 printers[i] = printerURIs[i].substring(lastIndex+1); |
299 printers[i] = printerURIs[i].substring(lastIndex+1); |
630 |
646 |
631 IPPPrintService.debug_println("isRunning ? "+ |
647 IPPPrintService.debug_println("isRunning ? "+ |
632 (CUPSPrinter.isCupsRunning())); |
648 (CUPSPrinter.isCupsRunning())); |
633 if (CUPSPrinter.isCupsRunning()) { |
649 if (CUPSPrinter.isCupsRunning()) { |
634 String[] printerInfo = CUPSPrinter.getDefaultPrinter(); |
650 String[] printerInfo = CUPSPrinter.getDefaultPrinter(); |
635 defaultPrinter = printerInfo[0]; |
651 if (printerInfo != null && printerInfo.length >= 2) { |
636 psuri = printerInfo[1]; |
652 defaultPrinter = printerInfo[0]; |
|
653 psuri = printerInfo[1]; |
|
654 } |
637 } else { |
655 } else { |
638 if (isMac() || isSysV()) { |
656 if (isMac() || isSysV()) { |
639 defaultPrinter = getDefaultPrinterNameSysV(); |
657 defaultPrinter = getDefaultPrinterNameSysV(); |
640 } else if (isAIX()) { |
658 } else if (isAIX()) { |
641 defaultPrinter = getDefaultPrinterNameAIX(); |
659 defaultPrinter = getDefaultPrinterNameAIX(); |