Hey Bastien, On Fri, 2008-12-26 at 22:13 +0000, Bastien Nocera wrote: > My personal wishlist for D-Bus is mostly on the client side: > - dbus_g_object_register_marshaller() is hate. The marshalling code > should be using libffi so it just works (same holds true for native > GObject as well). > - dbus_g_proxy_add_signal() is also a pain, for the same reason
You don't need these things when EggDBus; everything is automatically set up for you (I agree it's unreasonable that you have to do this in dbus-glib). (And no, we don't currently use libffi - we could but even if we did, it would be an implementation detail anyway. E.g. users shouldn't have to worry about such low-level things as marshallers or whatnot.) > - there's no native support for properties. I should be able to use > g_object_get() directly on the proxy object. EggDBus does this. There's also an EggDBusChanged() signal on the org.fd.DBus.Properties interface (I want to propose a Changed() signal in the D-Bus spec so other bindings get this too) so if both ends are using EggDBus, property changes works in a very natural way. E.g. you can connect to notify::prop-name and things like ExoBinding will Just Work(tm). Also, keep in mind that we have two kinds of proxies; object proxies and interface proxies (this is needed for disambiguation; e.g. interface A and B may have properties or signals with the same names). In reality this is not a big deal; you always just hold on to the object proxy and get the interface proxies through the QUERY_INTERFACE() macros whenever you need to use them. Anyway, as I said earlier, until we have a real tutorial the best way to learn how EggDBus works is to look at the test cases; for example for signals and properties it looks like this http://cgit.freedesktop.org/~david/eggdbus/tree/src/tests/testclient.c?id=0.1#n1968 http://cgit.freedesktop.org/~david/eggdbus/tree/src/tests/testclient.c?id=0.1#n2322 David _______________________________________________ gtk-devel-list mailing list gtk-devel-list@gnome.org http://mail.gnome.org/mailman/listinfo/gtk-devel-list