/* * CDDL HEADER START * * The contents of this file are subject to the terms of the * Common Development and Distribution License, Version 1.0 only * (the "License"). You may not use this file except in compliance * with the License. * * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE * or http://www.opensolaris.org/os/licensing. * See the License for the specific language governing permissions * and limitations under the License. * * When distributing Covered Code, include this CDDL HEADER in each * file and include the License file at usr/src/OPENSOLARIS.LICENSE. * If applicable, add the following below this CDDL HEADER, with the * fields enclosed by brackets "[]" replaced with your own identifying * information: Portions Copyright [yyyy] [name of copyright owner] * * CDDL HEADER END */ /* * ident "%Z%%M% %I% %E% SMI" * * Copyright 2004 Sun Microsystems, Inc. All rights reserved. * Use is subject to license terms. * * PrinterUtil class * Methods not associated with a printer instance. */ package com.sun.admin.pm.server; import java.io.*; import java.util.*; public class PrinterUtil { // // main for testing // public static void main(String[] args) { String dp = null; String devs[] = null; String printers[] = null; try { NameService ns = new NameService("ldap"); // checkRootPasswd("xxx"); dp = getDefaultPrinter(ns); devs = getDeviceList(); printers = getPrinterList(ns); } catch (Exception e) { System.out.println(e); System.exit(1); } System.out.println("Default printer is: " + dp); for (int i = 0; i < devs.length; i++) { System.out.println(devs[i]); } for (int i = 0; i < printers.length; i += 3) { System.out.println("printername: " + printers[i]); System.out.println("servername: " + printers[i+1]); System.out.println("comment: " + printers[i+2]); } System.exit(0); } // // Get the default printer for a specified name space // public synchronized static String getDefaultPrinter( NameService ns) throws Exception { Debug.message("SVR: PrinterUtil.getDefaultPrinter()"); String nsarg = ns.getNameService(); String ret = DoPrinterUtil.getDefault(nsarg); if (ret == null) { return (new String("")); } return (new String(ret)); } // // Get a list of possible printer devices for this machine. // public synchronized static String[] getDeviceList() throws Exception { Debug.message("SVR: PrinterUtil.getDeviceList()"); String emptylist[] = new String[1]; emptylist[0] = ""; String ret[] = DoPrinterUtil.getDevices(); if (ret == null) { return (emptylist); } return (ret); } // // Get the list of supported Printer Makes (Manufacturers) // If supported, a PPD file exists for this Make // public synchronized static String[] getMakesList() throws Exception { Debug.message("SVR: PrinterUtil.getMakesList()"); String emptylist[] = new String[1]; emptylist[0] = ""; String ret[] = DoPrinterUtil.getMakes(); if (ret == null) { return (emptylist); } return (ret); } public synchronized static String[] getModelsList( String make) throws Exception { Debug.message("SVR: PrinterUtil.getModelsList()"); String emptylist[] = new String[1]; emptylist[0] = ""; String ret[] = DoPrinterUtil.getModels(make); return (ret); } public synchronized static String[] getPPDList( String make, String model) throws Exception { Debug.message("SVR: PrinterUtil.getPPDList()"); String emptylist[] = new String[1]; emptylist[0] = ""; String ret[] = DoPrinterUtil.getPPDs(make, model); if (ret == null) { return (emptylist); } return (ret); } public synchronized static String[] getProbePrinter(String device) { Debug.message("SVR: PrinterUtil.getProbePrinter()"); String ret[] = DoPrinterUtil.getProbe(device); return (ret); } // // Get a list of printers in the specified name service. // public synchronized static String[] getPrinterList( NameService ns) throws Exception { Debug.message("SVR: PrinterUtil.getPrinterList()"); String emptylist[] = new String[1]; emptylist[0] = ""; String nsarg = ns.getNameService(); String[] ret = DoPrinterUtil.getList(nsarg); if (ret == null) { return (emptylist); } return (ret); } // // Does this printer already exist in the specified // name service // public synchronized static boolean exists( String name, NameService ns) throws Exception { Debug.message("SVR: PrinterUtil.exists()"); String nsname = ns.getNameService(); return (DoPrinterUtil.exists(name, nsname)); } public synchronized static boolean isLocal( String printername) throws Exception { Debug.message("SVR: PrinterUtil.isLocal()"); return (DoPrinterUtil.isLocal(printername)); } public synchronized static void checkRootPasswd( String passwd) throws Exception { DoPrinterNS.doCheckRootPasswd(passwd); } }