com.apple.print.recoverable-message attribute.
scheduler/ipp.c:
- copy_printer_attrs(): Copy com.apple.print.recoverable-message
attribute as needed.
scheduler/job.c
- cupsdUpdateJob(): Handle recoverable: and recovered: messages.
scheduler/printers.c
- cupsdAddPrinterHistory(): Add com.apple.print.recoverable-message
to history.
- cupsdDeletePrinter(): Clear recoverable string as needed.
scheduler/printers.h
- Add recoverable string to cupsd_printer_t structure.
git-svn-id: svn+ssh://src.apple.com/svn/cups/cups.org/trunk@5039
7a7537e8-13f0-0310-91df-
b6672ffda945
curtime = time(NULL);
+#ifdef __APPLE__
+ if ((!ra || cupsArrayFind(ra, "com.apple.print.recoverable-message")) &&
+ printer->recoverable)
+ ippAddString(con->response, IPP_TAG_PRINTER, IPP_TAG_TEXT,
+ "com.apple.print.recoverable-message", NULL,
+ printer->recoverable);
+#endif /* __APPLE__ */
+
if (!ra || cupsArrayFind(ra, "printer-current-time"))
ippAddDate(con->response, IPP_TAG_PRINTER, "printer-current-time",
ippTimeToDate(curtime));
/**** TODO ****/
}
+#ifdef __APPLE__
+ else if (!strncmp(message, "recoverable:", 12))
+ {
+ cupsdSetPrinterReasons(job->printer,
+ "+com.apple.print.recoverable-warning");
+
+ message += 12;
+ while (isspace(*message & 255))
+ message ++;
+
+ cupsdSetString(&job->printer->recoverable, message);
+ cupsdAddPrinterHistory(job->printer);
+ }
+ else if (!strncmp(message, "recovered:", 10))
+ {
+ cupsdSetPrinterReasons(job->printer,
+ "-com.apple.print.recoverable-warning");
+
+ message += 10;
+ while (isspace(*message & 255))
+ message ++;
+
+ cupsdSetString(&job->printer->recoverable, message);
+ cupsdAddPrinterHistory(job->printer);
+ }
+#endif /* __APPLE__ */
else
{
/*
ippAddBoolean(history, IPP_TAG_PRINTER, "printer-is-shared", p->shared);
ippAddString(history, IPP_TAG_PRINTER, IPP_TAG_TEXT, "printer-state-message",
NULL, p->state_message);
+#ifdef __APPLE__
+ if (p->recoverable)
+ ippAddString(history, IPP_TAG_PRINTER, IPP_TAG_TEXT,
+ "com.apple.print.recoverable-message", NULL, p->recoverable);
+#endif /* __APPLE__ */
if (p->num_reasons == 0)
ippAddString(history, IPP_TAG_PRINTER, IPP_TAG_KEYWORD,
"printer-state-reasons", NULL,
cupsdClearString(&p->op_policy);
cupsdClearString(&p->error_policy);
+#ifdef __APPLE__
+ cupsdClearString(&p->recoverable);
+#endif /* __APPLE__ */
+
free(p);
/*
int num_history; /* Number of history collections */
ipp_t **history; /* History data */
int sequence_number; /* Increasing sequence number */
+#ifdef __APPLE__
+ char *recoverable; /* com.apple.print.recoverable-message */
+#endif /* __APPLE__ */
} cupsd_printer_t;