Patch for dbus glib to enable objects to use parent objects methods/signals set with dbus_g_object_type_install_info. With this patch you can do something like: object_base.xml define methods and signals object_child1.xml define another methods and signals object_base.c object_base_class_init (ObjectBaseClass *klass) .... dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_object_base_object_info); .... object_child1.c object_child1_class_init (ObjectChild1Class *klass) .... dbus_g_object_type_install_info (G_TYPE_FROM_CLASS (klass), &dbus_glib_object_child1_object_info); .... and use the dbus interface provided by the base class trough the child object class.
Created attachment 4457 [details] [review] Patch attached
Rob what do you think of this patch? BTW Andre for future refrence, large patches like these should be sent to the list also.
(In reply to comment #2) > Rob what do you think of this patch? > > BTW Andre for future refrence, large patches like these should be sent to the > list also. Hi John, Actually i did sent a mail to the list (http://lists.freedesktop.org/archives/dbus/2006-January/004008.html) and before do this i discussed it with Robert McQueen and Robtaylor on #dbus at freenode. They just said me to write a test case for the patch and then it would be ok to commit it, but i hadn't enough time do this yet :). Andrunko
In latest release
(In reply to comment #4) > In latest release What do you mean by that? Its not on 0.6.1 nor in CVS. I still need to make the test case. Andrunko
Ok, I thought it was committed. Can we get a test case soonish. I can always do a 0.61.1
Created attachment 6182 [details] [review] ginterfaces support This patch is roughly the same as the previous one. Changes are: - it now supports GInterface lookup, and linking introspection information to GInterfaces. - fixed crasher in introspection (hash table was freed in the loop but was created before the loop)
This updated patch looks excellent, is there any chance of a test case to go with it, just to confirm that the method and signal lookups with inheritance and interfaces work as expected?
Created attachment 6233 [details] test case Here is a small test case for all this stuff. It comprises a server and a client. The server expose an object which inherits from another object. both of them implements one ginterface. Both ginterfaces and the parent object correspond to a dbus interface. The client tries to call the method from each of these three dbus interfaces. The integration to run-test.sh is not done since J5 told me that wasn't necessary.
Any news on this one ?
Adding myself in CC, *interested*
I'll be working on integrating nud's test into the testsuite, then i'll commit ;)
Fixed in 0.72
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.