There should be a D-Bus notifier following the IPP notifications model. D-Bus object: org.cups.cupsd D-Bus object path: /org/cups/cupsd D-Bus interface name: org.cups.cupsd Signals: PrinterRestarted PrinterShutdown PrinterStopped rinterFinishingsChanged PrinterMediaChanged PrinterAdded PrinterDeleted PrinterModified PrinterStateChanged PrinterConfigChanged PrinterChanged JobCreated JobCompleted JobStopped JobConfigChanged JobProgress JobState JobStateChanged ServerRestarted ServerStarted ServerStopped ServerAudit The parameters to the signal would be: None for the Server* signals. For the Printer* and Job* signals: STRING printer-uri STRING printer-name INT32 printer-state STRING printer-state-reasons BOOL printer-is-accepting-jobs For the Job* signals only: INT32 job-id INT32 job-state STRING job-state-reasons STRING job-name or "" INT32 job-impressions-completed The job-impressions-completed parameter is actually sourced from the job-media-sheets-completed value.
Removing: JobStateChanged This is not a real event, but a convenience mask.
STRING printer-state-reasons This is a comma-separated list.
For the Printer* and Job* signals: STRING printer-uri May be "" if there is no associated printer, in which case the other printer parameters must be ignored. STRING printer-name INT32 printer-state STRING printer-state-reasons This is a comma separated list. BOOL printer-is-accepting-jobs Rationale: printer-uri may not be supplied in a job signal if the job never started.
Created attachment 153536 [details] cups-dbus-notifier.patch Here's what I have so far. It seems to work, but printer-is-accepting-jobs always seems to be false which doesn't seem right.
PrinterStateChanged has been removed for the same reasons as JobStateChanged. New parameter inserted before all the others: STRING text. This comes from notify-text, and applies to all signals.
PrinterConfigChanged and PrinterChanged removed as well, since they are also bitmasks.
Created attachment 153613 [details] cups-dbus-notifier.patch Okay, this patch seems to work quite well now.
Created attachment 153707 [details] cups-dbus-notifier.patch Here is an updated patch. PrinterStateChanged is added back in because cupsd does emit this notification ('printer-state-changed'). Should JobStateChanged be added back in, even though it is a convenience bitmask and cupsd does not emit that notification? A lock-file is now used to prevent duplicate D-BUS message when more than one dbus: subscription is in place.
Created attachment 154538 [details] cups-dbus-notifier.patch Added license banner to dbus.c.
Changing version to '9' as part of upcoming Fedora 9 GA. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
Deferring to rawhide.
This bug appears to have been reported against 'rawhide' during the Fedora 10 development cycle. Changing version to '10'. More information and reason for this action is here: http://fedoraproject.org/wiki/BugZappers/HouseKeeping
CUPS 1.4 (in rawhide) has a D-Bus notifier now. Keeping open for F-10 in case of backport.
No time for this.