view libgaim/dbus-maybe.h @ 14238:f189327b9968

[gaim-migrate @ 16920] Cancelable DNS queries. This eliminates crashes when you cancel a connection attempt while we're waiting for a response from a DNS server. I tested with all three methods, so they SHOULD be ok. Let me know if you have problems. I should be around today, starting in maybe an hour. I feel like it's kinda dumb for us to have three implementations for the same thing. I want to get rid of the child-process method (currently used in Unix and OS-X) and use the thread-based method (currently used in Windows) everywhere. Then we can get rid of the third method, too (currently used when !Unix and !OS-X and !Windows) Any objections? committer: Tailor Script <tailor@pidgin.im>
author Mark Doliner <mark@kingant.net>
date Sun, 20 Aug 2006 22:24:13 +0000
parents 60b1bc8dbf37
children
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