2006-03-17  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.4.

2006-03-16  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinter): Initialise local ppd
	variable.
	(docstrings): Better doc strings for addPrinterToClass and
	deletePrinterFromClass.
	(Connection_deleteClass): Implemented.
	(Connection_setPrinterInfo): Handle classes.
	(Connection_setPrinterLocation): Handle classes.

2006-03-14  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Support DESTDIR.

2006-03-14  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_disablePrinter): Use
	IPP_PAUSE_PRINTER.
	(Connection_enablePrinter): Use IPP_RESUME_PRINTER.
	(Connection_setPrinterJobSheets): Fixed typo.

2006-03-10  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.3.

2006-03-10  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterShared): Renamed.
	(Connection_getPrinterAttributes): Find
	requesting-user-name-allowed and requesting-user-name-denied
	attributes.
	(Connection_setPrinterUsersAllowed): Implemented.
	(Connection_setPrinterUsersDenied): Implemented.

2006-03-09  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getClasses): Handle empty classes.

	* cupsmodule.c (initcups): Always define CUPS 1.2.x CUPS_PRINTER_*
	constants.

	* cupsmodule.h (CUPS_PRINTER_*): More CUPS 1.1.x compatibility
	stuff.

2006-03-08  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.c (PPD_init): Handle fopen failure.
	(utf8_to_ppd_encoding): Nul-terminate the string.
	(Option_getseters) Better docstring for conflicted attribute.

2006-03-07  Tim Waugh  <twaugh@redhat.com>

	* cupsppd.h (PPD struct): New members for encoding conversion.
	* cupsppd.c (PPD_new): Initialise encoding conversion members in
	PPD struct.
	(PPD_init): Likewise.
	(PPD_dealloc): Deallocate encoding conversion handles.
	(ppd_encoding_is_utf8): New function.
	(make_PyUnicode_from_ppd_string): New function.
	(utf8_to_ppd_encoding): New function.
	(Option_getKeyword): Convert to Unicode.
	(Option_getDefchoice): Likewise.
	(Option_getText): Likewise.
	(Option_getChoices): Likewise.
	(Group_getText): Likewise.
	(Group_getName): Likewise.
	(Constraint_getOption1): Likewise.
	(Constraint_getChoice1): Likewise.
	(Constraint_getOption2): Likewise.
	(Constraint_getChoice2): Likewise.
	(PPD_markOption): Convert to PPD encoding.

2006-03-03  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.2.

2006-03-03  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (do_printer_request): Watch out for exceptions
	from the password callback.
	(Connection_addPrinter): Likewise.
	(Connection_setPrinterDevice): Likewise.
	(Connection_setPrinterInfo): Likewise.
	(Connection_setPrinterLocation): Likewise.
	(Connection_setPrinterPublished): Likewise.
	(Connection_setPrinterJobSheets): Likewise.
	(Connection_setPrinterErrorPolicy): Likewise.
	(Connection_setPrinterOpPolicy): Likewise.
	(Connection_addPrinterToClass): Likewise.
	(Connection_deletePrinterFromClass): Likewise.

2006-03-01  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (set_ipp_error): Use ippErrorString().
	(Connection_getPrinters): Fixed typo.

	* cupsmodule.c (initcups): IPP error codes.

	* cupsppd.c (PPD_writeFd): Treat PageRegion specially, like CUPS
	does.
	(nondefaults_are_marked): New function.
	(PPD_nondefaultsMarked): Implemented.

2006-02-27  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterInfo): Use IPP_TAG_TEXT
	here.
	(Connection_setPrinterLocation): Likewise.
	(get_printer_attributes_request): Removed.

	* cupsconnection.c (do_printer_request): Use ippNewRequest().
	(Connection_getPrinters): Likewise.
	(Connection_getClasses): Likewise.
	(Connection_getPPDs): Likewise.
	(add_modify_printer_request): Likewise.
	(Connection_addPrinterToClass): Likewise.
	(Connection_deletePrinterFromClass): Likewise.

	* cupsmodule.h (ippNewRequest): Implemented, for compatibility
	with CUPS 1.1.x.

	* cupsconnection.c (get_printer_attributes_request): New function.
	(build_list_from_attribute_strings): New function.
	(Connection_getPrinterAttributes): Implemented.
	(Connection_setPrinterJobSheets): Implemented.
	(Connection_setPrinterErrorPolicy): Implemented.
	(Connection_setPrinterOpPolicy): Implemented.
	(Connection_getClasses): Use build_list_from_attribute_strings().

2006-02-23  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Better 'dist' target.

2006-02-23  Tim Waugh  <twaugh@redhat.com>

	* Makefile: Version 1.9.1.

2006-02-23  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_setPrinterPublished): Implemented.
	(Connection_getPrinters): Add 'printer-is-shared' Boolean into
	requested attributes.

	* cupsmodule.c (cups_getUser): Implemented.
	(cups_getServer): Implemented.
	(cups_getPort): Implemented.
	(cups_getEncryption): Implemented.

	* cupsppd.h (PPD): Moved this here from..
	* cupsppd.c: ..here.
	(PPD_writeFd): No longer static.
	(PPD_findOption): Implemented.

	* cupsconnection.c (Connection_addPrinter): Accept 'ppd' keyword,
	for cups.PPD object.

	* cupsppd.c (PPD_init): Open handle to PPD file.
	(PPD_dealloc): Close it.
	(PPD_writeFd): Implemented.

	* cupsmodule.c (cups_setPort): Implemented.

2006-02-22  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_addPrinterToClass): Implemented.
	(Connection_deletePrinterFromClass): Implemented.
	(Connection_addPrinter): Added 'info', 'location', and 'device'
	keywords.
	(add_modify_printer_request): New utility function.
	(Connection_setPrinterInfo): Implemented.
	(Connection_setPrinterLocation): Implemented.
	(Connection_getClasses): Implemented.

	* cupsmodule.c (initcups): Added printer states constants.

	* cupsconnection.c: More consistent error handling.
	(do_printer_request): Fixed ipp_t leak.
	(Connection_addPrinter): Likewise.
	(Connection_setPrinterDevice): Likewise.
	(set_ipp_error): Make use of cupsLastErrorString conditional on
	CUPS 1.2.

	* cupsconnection.c (Connection_putFile): Fixed ipp_t leak.
	(set_ipp_error): "i" -> "(is)" for IPPError.

	* cupsmodule.h: New file.

	* cupsconnection.c (Connection_getDevices): Implemented.

2006-02-21  Tim Waugh  <twaugh@redhat.com>

	* cupsconnection.c (Connection_getPPDs): Implemented.

	* cupsppd.c (Group_getOptions): Return a list, not a dict, to
	preserve the order of options.
	* test.py (test_cups_module): Updated.

	* cupsconnection.c (Connection_addPrinter): Allow adding a printer
	from a ppd-name instead of a filename.

	* cupsconnection.c (Connection_getFile): Fixed ipp_t leak.

	* cupsppd.c (PPD_getOptionGroups): Make this an attribute not a
	method.
	* test.py (test_cups_module): Updated.

	* cupsppd.c: Implement 'Constraint' type.
	* cupsppd.h: Declare cups_ConstraintType.
	* cupsmodule.c (initcups): Add 'Constraint' type.

	* cupsconnection.c (Connection_getPrinters): Do this inline
	instead of in a separate function.

