]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - scheduler/printers.c
Import CUPS 1.4svn r7023 into easysw/current.
[thirdparty/cups.git] / scheduler / printers.c
index b3ffa3891b1a3b440221ef75abb07b3da7d8c964..4f69babbecaf85c923603b132058a76875effaf1 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * "$Id: printers.c 6678 2007-07-16 18:03:35Z mike $"
+ * "$Id: printers.c 6970 2007-09-17 23:58:28Z mike $"
  *
  *   Printer routines for the Common UNIX Printing System (CUPS).
  *
@@ -257,6 +257,7 @@ cupsdCreateCommonData(void)
   cups_array_t         *notifiers;     /* Notifier array */
   char                 filename[1024], /* Filename */
                        *notifier;      /* Current notifier */
+  cupsd_policy_t       *p;             /* Current policy */
   static const int nups[] =            /* number-up-supported values */
                { 1, 2, 4, 6, 9, 16 };
   static const int orients[4] =/* orientation-requested-supported values */
@@ -321,6 +322,8 @@ cupsdCreateCommonData(void)
                  CUPS_GET_PPDS,
                  CUPS_MOVE_JOB,
                  CUPS_AUTHENTICATE_JOB,
+                 CUPS_GET_PPD,
+                 CUPS_GET_DOCUMENT,
                  IPP_RESTART_JOB
                };
   static const char * const charsets[] =/* charset-supported values */
@@ -562,9 +565,15 @@ cupsdCreateCommonData(void)
 
   /* printer-op-policy-supported */
   attr = ippAddStrings(CommonData, IPP_TAG_PRINTER, IPP_TAG_NAME,
-                       "printer-op-policy-supported", NumPolicies, NULL, NULL);
-  for (i = 0; i < NumPolicies; i ++)
-    attr->values[i].string.text = _cupsStrAlloc(Policies[i]->name);
+                       "printer-op-policy-supported", cupsArrayCount(Policies),
+                      NULL, NULL);
+  for (i = 0, p = (cupsd_policy_t *)cupsArrayFirst(Policies);
+       p;
+       i ++, p = (cupsd_policy_t *)cupsArrayNext(Policies))
+    attr->values[i].string.text = _cupsStrAlloc(p->name);
+
+  ippAddBoolean(CommonData, IPP_TAG_PRINTER, "server-is-sharing-printers",
+                BrowseLocalProtocols != 0 && Browsing);
 }
 
 
@@ -2975,7 +2984,8 @@ cupsdWritePrintcap(void)
   * data has come from...
   */
 
-  cupsFilePuts(fp, "# This file was automatically generated by cupsd(8) from the\n");
+  cupsFilePuts(fp,
+               "# This file was automatically generated by cupsd(8) from the\n");
   cupsFilePrintf(fp, "# %s/printers.conf file.  All changes to this file\n",
                  ServerRoot);
   cupsFilePuts(fp, "# will be lost.\n");
@@ -3001,14 +3011,15 @@ cupsdWritePrintcap(void)
 
           if (DefaultPrinter)
            cupsFilePrintf(fp, "%s|%s:rm=%s:rp=%s:\n", DefaultPrinter->name,
-                   DefaultPrinter->info, ServerName, DefaultPrinter->name);
+                          DefaultPrinter->info, ServerName,
+                          DefaultPrinter->name);
 
          for (p = (cupsd_printer_t *)cupsArrayFirst(Printers);
               p;
               p = (cupsd_printer_t *)cupsArrayNext(Printers))
            if (p != DefaultPrinter)
              cupsFilePrintf(fp, "%s|%s:rm=%s:rp=%s:\n", p->name, p->info,
-                     ServerName, p->name);
+                            ServerName, p->name);
           break;
 
       case PRINTCAP_SOLARIS:
@@ -3046,9 +3057,10 @@ cupsdWritePrintcap(void)
               p;
               p = (cupsd_printer_t *)cupsArrayNext(Printers))
            cupsFilePrintf(fp, "%s:\\\n"
-                       "\t:bsdaddr=%s,%s:\\\n"
-                       "\t:description=%s:\n",
-                   p->name, ServerName, p->name, p->info ? p->info : "");
+                              "\t:bsdaddr=%s,%s:\\\n"
+                              "\t:description=%s:\n",
+                          p->name, ServerName, p->name,
+                          p->info ? p->info : "");
           break;
     }
   }
@@ -3216,8 +3228,8 @@ add_printer_defaults(cupsd_printer_t *p)/* I - Printer */
                   "number-up-default", 1);
 
   if (!cupsGetOption("orientation-requested", p->num_options, p->options))
-    ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_ENUM,
-                  "orientation-requested-default", IPP_PORTRAIT);
+    ippAddString(p->attrs, IPP_TAG_PRINTER, IPP_TAG_NOVALUE,
+                 "orientation-requested-default", NULL, NULL);
 
   if (!cupsGetOption("notify-lease-duration", p->num_options, p->options))
     ippAddInteger(p->attrs, IPP_TAG_PRINTER, IPP_TAG_INTEGER,
@@ -3763,5 +3775,5 @@ write_irix_state(cupsd_printer_t *p)      /* I - Printer to update */
 
 
 /*
- * End of "$Id: printers.c 6678 2007-07-16 18:03:35Z mike $".
+ * End of "$Id: printers.c 6970 2007-09-17 23:58:28Z mike $".
  */