Fix a crash in funcsig_hash

Colin Walters walters at verbum.org
Fri Jun 17 07:47:12 PDT 2005


On Thu, 2005-06-16 at 13:57 -0700, Ryan Gammon wrote:

> To this end, I've taken our helix gobject & factored out a GInterface, 
> and created a second dbus-driven gobject that implements this interface. 
> The dbus gobject is basically a bunch of dbus_g_proxy_begin_call / 
> dbus_g_proxy_end_call's.

Ah.  You could probably use dbus_g_proxy_invoke BTW if you're pairing
begin_call/end_call.  Just noticed, maybe we should rename it to
dbus_g_proxy_call for symmetry with begin_call/end_call/call_no_reply.

> There are a couple of things that are minorly gross in what I have right 
> now:
> 
> - My GInterface for in- and out-of-process media engines defines several 
> signals. AFAICS, I can't get dbus to automagically emit these signals, 
> so I have a bunch of dbus_g_proxy_connect_signal handlers that re-emit 
> signals on the GInterface using g_signal_emit_by_name

That sounds like a bug.  As a quick test, does the signal work if it's
directly in the object class instead of an interface?  We might need to
iterate over the GInterfaces implemented by an object in addition to the
object class itself; or it may be a bug in GLib.
 
> The difficulty is that when I generate the glue for my dbus server, it's 
> set up such that the methods all return a bool and take their in/out 
> parameters in the function parameter list, whereas my GInterface has 
> many methods that return one out argument that is not a bool, and take 
> assorted in arguments.

Do any of these functions return an error? 

> Thus, I have a shim that goes from dbus calling conventions to my 
> GInterface api. Not a big deal, but I thought I'd bring it up in case 
> there's some annotation I can make to out parameters that would make 
> them show up as return values.

Not yet, but it shouldn't be too hard to implement.

> I'm also trying to figure out glib signal introspection, 
> org.gtk.objects, and how this is going to look if I'm working with 
> something like the qt bindings -- ideally I can do the signals for my 
> media engine "servers" in such a way that they're also easy to use & 
> native feeling for the kde/python/mono folk. No intelligent question 
> here yet :)

The org.gtk.objects thing was a bug, basically.  Now fixed in the latest
CVS.  Can you give the latest CVS a try?  You'll need to note in the XML
now which signals are exported, and I changed the API for
dbus_g_object_register_marshaller to be less painful to use.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: This is a digitally signed message part
Url : http://lists.freedesktop.org/archives/dbus/attachments/20050617/dda17af6/attachment.pgp


More information about the dbus mailing list