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 }
|