Re: [Rhythmbox-devel] IPC in Rhythmbox 0.9.0



On Wed, Sep 07, 2005 at 12:49:25PM -0400, Colin Walters wrote:
> On Wed, 2005-09-07 at 00:15 -0500, Paul Kuliniewicz wrote:
> > I'm currently working on getting Rhythmbox Applet [0] to play nicely
> > with Rhythmbox 0.9.0.  I've found that 0.9.0 make binary-incompatible
> > changes to the Bonobo interface, so an applet compiled against 0.8.8
> > won't work properly with 0.9.0, and vice versa.  Ideally, I'd like to
> > have the applet support both versions, which means coding an interface
> > targeted at the 0.9.x series.
> 
> That's a bug really; the Bonobo interface should have been extended in a
> compatible way, either by creating a new interface that extends the old
> one.  Patches to fix that accepted =)

I don't think it would be too difficult to add the necessary backwards
compatibility hooks to the Bonobo interface, so I'll start with that.
Then at least anything using the Bonobo interface won't break when
Rhythmbox gets upgrated.

Once I figure out exactly how the ABI broke I'll file a bug, then follow
up with whatever patch I come up with.  Then at the very least Rhythmbox
0.9.1 should "just work" with my existing applet code.

> > The big question is, what's the preferred method for doing IPC with
> > Rhythmbox 0.9.x: Bonobo or D-Bus?  A cursory glance t the code suggests
> > the Bonobo interface is more featureful than the D-Bus one, but if D-Bus
> > is deemed to be The Future, I suspect my effort would be better aimed at
> > fleshing that out rather than coding for a deprecated interface.
> 
> The D-BUS one does less, true, but I'm happy to add more to it.  D-BUS
> is definitely preferred because Bonobo is crazy, basically :)  There's a
> big comment about this in remote/bonobo/rb-remote-bonobo.c.

I just might take you up on that. :-)

> > I have noticed that 0.9.0 checks for D-Bus < 0.30.  Is this the version
> > of D-Bus that Rhythmbox is targetting, or was that just the version
> > available when the interface was written?  I notice D-Bus 0.50 was just
> > released; would it be better to target that, hoping there won't be many
> > changes between that and 1.0?  I don't know how much D-Bus's wire
> > protocol has changed between versions, but the GLib bindings certainly
> > have; I notice 0.9.0 seems to use the plain vanilla C bindings.
> 
> This is all fixed in CVS.

Ah, looks like quite a bit changed between 0.9.0 and CVS in this regard.
That's good to see.

Attachment: signature.asc
Description: Digital signature



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