src/windows/classes/sun/print/Win32PrintServiceLookup.java

Print this page




  39 import javax.print.PrintServiceLookup;
  40 import javax.print.attribute.Attribute;
  41 import javax.print.attribute.AttributeSet;
  42 import javax.print.attribute.HashPrintRequestAttributeSet;
  43 import javax.print.attribute.HashPrintServiceAttributeSet;
  44 import javax.print.attribute.PrintRequestAttribute;
  45 import javax.print.attribute.PrintRequestAttributeSet;
  46 import javax.print.attribute.PrintServiceAttribute;
  47 import javax.print.attribute.PrintServiceAttributeSet;
  48 import javax.print.attribute.standard.PrinterName;
  49 
  50 public class Win32PrintServiceLookup extends PrintServiceLookup {
  51 
  52     private String defaultPrinter;
  53     private PrintService defaultPrintService;
  54     private String[] printers; /* excludes the default printer */
  55     private PrintService[] printServices; /* includes the default printer */
  56 
  57     static {
  58         java.security.AccessController.doPrivileged(
  59                     new sun.security.action.LoadLibraryAction("awt"));



  60     }


  61 
  62     /* The singleton win32 print lookup service.
  63      * Code that is aware of this field and wants to use it must first
  64      * see if its null, and if so instantiate it by calling a method such as
  65      * javax.print.PrintServiceLookup.defaultPrintService() so that the
  66      * same instance is stored there.
  67      */
  68     private static Win32PrintServiceLookup win32PrintLUS;
  69 
  70     /* Think carefully before calling this. Preferably don't call it. */
  71     public static Win32PrintServiceLookup getWin32PrintLUS() {
  72         if (win32PrintLUS == null) {
  73             /* This call is internally synchronized.
  74              * When it returns an instance of this class will have
  75              * been instantiated - else there's a JDK internal error.
  76              */
  77             PrintServiceLookup.lookupDefaultPrintService();
  78         }
  79         return win32PrintLUS;
  80     }




  39 import javax.print.PrintServiceLookup;
  40 import javax.print.attribute.Attribute;
  41 import javax.print.attribute.AttributeSet;
  42 import javax.print.attribute.HashPrintRequestAttributeSet;
  43 import javax.print.attribute.HashPrintServiceAttributeSet;
  44 import javax.print.attribute.PrintRequestAttribute;
  45 import javax.print.attribute.PrintRequestAttributeSet;
  46 import javax.print.attribute.PrintServiceAttribute;
  47 import javax.print.attribute.PrintServiceAttributeSet;
  48 import javax.print.attribute.standard.PrinterName;
  49 
  50 public class Win32PrintServiceLookup extends PrintServiceLookup {
  51 
  52     private String defaultPrinter;
  53     private PrintService defaultPrintService;
  54     private String[] printers; /* excludes the default printer */
  55     private PrintService[] printServices; /* includes the default printer */
  56 
  57     static {
  58         java.security.AccessController.doPrivileged(
  59             new java.security.PrivilegedAction<Void>() {
  60                 public Void run() {
  61                     System.loadLibrary("awt");
  62                     return null;
  63                 }
  64             });
  65     }
  66 
  67     /* The singleton win32 print lookup service.
  68      * Code that is aware of this field and wants to use it must first
  69      * see if its null, and if so instantiate it by calling a method such as
  70      * javax.print.PrintServiceLookup.defaultPrintService() so that the
  71      * same instance is stored there.
  72      */
  73     private static Win32PrintServiceLookup win32PrintLUS;
  74 
  75     /* Think carefully before calling this. Preferably don't call it. */
  76     public static Win32PrintServiceLookup getWin32PrintLUS() {
  77         if (win32PrintLUS == null) {
  78             /* This call is internally synchronized.
  79              * When it returns an instance of this class will have
  80              * been instantiated - else there's a JDK internal error.
  81              */
  82             PrintServiceLookup.lookupDefaultPrintService();
  83         }
  84         return win32PrintLUS;
  85     }