GLib client bindings change in CVS
ross at burtonini.com
Mon Jan 23 03:08:46 PST 2006
This commit to CVS after 0.6:
2006-01-05 Robert McQueen <robot101 at debian.org>
* glib/dbus-binding-tool-glib.c: Patch from Ricardo Kekki
<ricardo.kekki at movial.fi> to make dbus-binding-tool heed C symbol name
annotations when generating glib client bindings.
Broke my code (the DBus port of Evolution Data Server). The question
is, should that commit be reverted or was my code wrong. I have this
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="EDataBook"/>
<annotation name="org.freedesktop.DBus.GLib.CSymbol" value="impl_AddressBook_Book_open"/>
Previously on the server the method impl_AddressBook_Book_open() was
wrapped, and the client binding method was called
org_gnome_evolution_dataserver_addressbook_Book_open. I understood this
to be correct as the CSymbol annotation was a server-side construct.
With that change the client code now uses impl_AddressBook_Book_open()
as the binding method, and eds-dbus fails to build.
So, does the CSymbol annotation mean "any C representation" and thus
change both the server and client side names, or is it explicitly for
the server-side code?
This is an important issue as the change was introduced post-0.6 and the
documentation will need updating.
Ross Burton mail: ross at burtonini.com
jabber: ross at burtonini.com
PGP Fingerprint: 1A21 F5B0 D8D0 CFE3 81D4 E25A 2D09 E447 D0B4 33DF
More information about the dbus