[patch] generate marshallers and metadata from dbus-glib-tool
kuliniew at purdue.edu
Mon Sep 6 23:56:16 UTC 2004
On Mon, Sep 06, 2004 at 04:40:04PM +0200, Olivier Andrieu wrote:
> Paul Kuliniewicz [Tue, 24 Aug 2004]:
> > With the attached patch, dbus-glib-tool can now generate the object
> > metadata structures used by the GLib bindings from an XML
> > description of the object's interface, along with any marshallers
> > needed to invoke the object's methds.
> > This patch does *not* implement signals at all, yet.
> I implemented basic support for signals (ie forwarding the emission of
> gobject signals to the bus). It does export _all_ the object signals,
> which is a bit extreme. The list of signals to export should come from
> xml file I guess.
I guess it depends on what kinds of objects you're "supposed" to expose
using D-BUS. If you're supposed to create a separate object just for
D-BUS stuff, you could get away with just exporting all signals (and
methods, if GLib had a way to get that information ). If you're
supposed to take existing objects and also expose them to D-BUS, there
could be lots of methods and signals that either don't make sense to
expose or don't have D-BUS-friendly interfaces.
For now, I'd think it's safer to just expose signals listed in the XML
> Have you improved your patch ? If yes, could you send it to the list,
> so that I can merge my code about signals.
Unfortunately, I've been sidetracked ever since classes started. I
haven't even made any of the cleanups Havoc had suggested for my
original patch. *sigh* I've been meaning to do some more work on it;
maybe this is the prod I needed. <g>
 I had toyed with the idea of adding method metadata to GObjects in
general via a hypothetical GIntrospectable interface, but that approach
started looking messier and messier.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Size: 189 bytes
Desc: Digital signature
Url : http://freedesktop.org/pipermail/dbus/attachments/20040906/8171ceeb/attachment.pgp
More information about the dbus