Re: [patch] dbus printer addition/removal notifications



On Wed, 2004-09-08 at 23:24 -0400, Jody Goldberg wrote:
> On Wed, Sep 08, 2004 at 08:15:27PM -0400, Colin Walters wrote:
> > Hi,
> > 
> > This patch for libgnomecups adds optional DBus support for getting
> > notification of printer additions and removals.  This avoids polling the
> > system cupsd every 5 seconds and filling up the logs.
> 
> The structure of the patch is fine, but I'm not entirely comfortable
> with the dbus interface for a few reasons.
>  
> > +	if (dbus_message_is_signal (message,
> > +				    "com.redhat.PrinterSpooler",
> > +				    "PrinterAdded")) {
> 
> - That seems like an odd namespace.

Oops, sorry, yes.  The CUPS dbus stuff started out as a small hack here,
but has grown significantly and I never got around to changing the
namespace.  

>   I can't see the cups folk
> accepting that.  When it does land we'll need to change things.

Agreed.  Unfortunately though the CUPS upstream does not seem amenable
to the patch, or at least to the larger infrastructure we're building
around it.  They apparently would rather wait until IPP notifications
are implemented.

Ideally though it would be org.cups.*.  But since they don't seem
interested perhaps we should use org.gnome?

> - The cupsd tends to do a rather poor job of noticing new hardware.
> I've been expecting to get dbus notifications from hald directly
> when things were connected. 

Well, the way things work in Fedora right now is HAL calls out to
hal_lpadmin which talks to cups over IPP and sets up the printer.  John
Palmieri has also implemented a driver prompt in eggcups very recently,
so the system cups can ask the user session for a driver.

>  Or are you do you want
>     hald -> cupsd -> libgnomecups
> so that cupsd can also trigger on new network printers

Yeah.  The DBus PrinterAdded and PrinterRemoved are just optimizations
on the polling (not filling logs, keeping cups from always being
resident, etc), not a new interface.

Attachment: signature.asc
Description: This is a digitally signed message part



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]