From: Mark D. <ma...@ki...> - 2005-08-23 03:49:13
|
On Sun, 21 Aug 2005 18:32:57 +0100, Piotr Zielinski wrote > Secondly, while generating bindings I noticed that GAIM_CONV_IM and > GAIM_CONV_CHAT are defined both as parameterized macros (basically > shortcuts for gaim_conversation_get_{im,chat}_data) and values of the > enum GaimConversationType. These two definitions do not conflict in > gaim because macros are handled by a preprocessor, whereas enums are > handled by a compiler. In DBus bindings, however, macros are wrapped > into functions, so for programs interacting with gaim through DBus > this name clash produces an irresolvable conflict. The temporary > solution is not to export macros GAIM_CONV_IM and GAIM_CONV_CHAT > through DBus. Independently of this, however, I think that such a > name clash is ugly and can lead to errors in the future. I'm a bit unclear on what the clash is, exactly. Is it just a naming problem...? Or is having a #define for a function call resulting in the function being exported twice...? > The third observation from generating DBus bindings for gaim is that > there are a few ghost functions in gaim: functions that are declared > in header files but not defined anywhere: > gaim_accounts_load, gaim_account_set_presence, gaim_conv_placement_get_fnc_id. gaim_accounts_load - I think in the past this needed to be called by something in the core, but now it is done automatically by the _init function in account.c. I've removed this declaration from account.h gaim_account_set_presence - I think Stu already removed this in a commit yesterday. gaim_conv_placement_get_fnc_id - I have no idea on this one. My best guess is that someone intended to implement this, never did, and then it turned out there was no need for it and no one ever noticed. In dbus-analyze-functions.py, I'm not sure why those other two functions are being excluded from the exported symbols. It seems like Stu may have fixed gaim_presence_add_list yesterday, too. You may want to double-check the functions in that list--it's possible they are ok now. -Mark |