*
* Printer class routines for the Common UNIX Printing System (CUPS).
*
- * Copyright 2007 by Apple Inc.
+ * Copyright 2007-2008 by Apple Inc.
* Copyright 1997-2007 by Easy Software Products, all rights reserved.
*
* These coded instructions, statements, and computer programs are the
* cupsdAddPrinterToClass() - Add a printer to a class...
* cupsdDeletePrinterFromClass() - Delete a printer from a class.
* cupsdDeletePrinterFromClasses() - Delete a printer from all classes.
- * cupsdDeleteAllClasses() - Remove all classes from the system.
* cupsdFindAvailablePrinter() - Find an available printer in a class.
* cupsdFindClass() - Find the named class.
* cupsdLoadAllClasses() - Load classes from the classes.conf file.
}
-/*
- * 'cupsdDeleteAllClasses()' - Remove all classes from the system.
- */
-
-void
-cupsdDeleteAllClasses(void)
-{
- cupsd_printer_t *c; /* Pointer to current printer/class */
-
-
- for (c = (cupsd_printer_t *)cupsArrayFirst(Printers);
- c;
- c = (cupsd_printer_t *)cupsArrayNext(Printers))
- if (c->type & CUPS_PRINTER_CLASS)
- cupsdDeletePrinter(c, 0);
-}
-
-
/*
* 'cupsdFindAvailablePrinter()' - Find an available printer in a class.
*/
DefaultPrinter = p;
}
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "</Class>"))
{
p = NULL;
}
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!p)
{
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
}
else if (!strcasecmp(line, "AuthInfoRequired"))
{
{
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
+ continue;
}
else if ((temp = cupsdFindPrinter(value)) == NULL)
{
else if (!strcasecmp(value, "stopped"))
p->state = IPP_PRINTER_STOPPED;
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.",
linenum);
- break;
- }
}
else if (!strcasecmp(line, "StateMessage"))
{
!strcasecmp(value, "false")))
p->accepting = 0;
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.",
linenum);
- break;
- }
}
else if (!strcasecmp(line, "Shared"))
{
!strcasecmp(value, "false")))
p->shared = 0;
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.",
linenum);
- break;
- }
}
else if (!strcasecmp(line, "JobSheets"))
{
}
}
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "AllowUser"))
{
cupsdAddPrinterUser(p, value);
}
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "DenyUser"))
{
cupsdAddPrinterUser(p, value);
}
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "QuotaPeriod"))
{
if (value)
p->quota_period = atoi(value);
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "PageLimit"))
{
if (value)
p->page_limit = atoi(value);
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "KLimit"))
{
if (value)
p->k_limit = atoi(value);
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "OpPolicy"))
{
value, linenum);
}
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else if (!strcasecmp(line, "ErrorPolicy"))
{
if (value)
cupsdSetString(&p->error_policy, value);
else
- {
cupsdLogMessage(CUPSD_LOG_ERROR,
"Syntax error on line %d of classes.conf.", linenum);
- break;
- }
}
else
{