Mercurial > pidgin
view libpurple/dbus-maybe.h @ 15681:14d85ee22d78
Added a new GaimEventLoopUiOps item, input_get_error(). This function allows the UI to return the current error status on a socket/input. If the UI does not implement it (as Pidgin and gntgaim do not, since glib's handling of sockets is sane), it is just a wrapper around getsockopt(). Implemented or not, its return values should match those of getsockopt() with a level of SOL_SOCKET and an option of SO_ERROR. For curious souls, Adium will be using this to provide a working version of getsockopt(); the CoreFoundation CFSocket class which is used for socket read/write calls getsockopt() with SO_ERROR itself, thereby clearing the error flag [as documented in getsockopt()'s behavior], so depending upon it for determining if an error occurred leads to significant misbehavior.
author | Evan Schoenberg <evan.s@dreskin.net> |
---|---|
date | Fri, 23 Feb 2007 05:17:20 +0000 |
parents | 5fe8042783c1 |
children | 32c366eeeb99 |
line wrap: on
line source
/* This file contains macros that wrap calls to the gaim dbus module. These macros call the appropriate functions if the build includes dbus support and do nothing otherwise. See "dbus-server.h" for documentation. */ #ifndef _GAIM_DBUS_MAYBE_H_ #define _GAIM_DBUS_MAYBE_H_ #ifdef HAVE_DBUS #include "dbus-server.h" /* this provides a type check */ #define GAIM_DBUS_REGISTER_POINTER(ptr, type) { \ type *typed_ptr = ptr; \ gaim_dbus_register_pointer(typed_ptr, GAIM_DBUS_TYPE(type)); \ } #define GAIM_DBUS_UNREGISTER_POINTER(ptr) gaim_dbus_unregister_pointer(ptr) #else /* !HAVE_DBUS */ #define GAIM_DBUS_REGISTER_POINTER(ptr, type) #define GAIM_DBUS_UNREGISTER_POINTER(ptr) #define DBUS_EXPORT #endif /* HAVE_DBUS */ #endif