view libpurple/dbus-maybe.h @ 29240:1be982612d9a

*** Plucked rev 4be2df4f72bd8a55cdae7f2554b73342a497c92f (bcc0147bab874ca52c55ad4900545e17528bf8fd): There's no need to check type twice here. Also, g_return_if_reached is not correct since img==NULL is caused by invalid network input and not some programmer error. *** Plucked rev 3d02401cf232459fc80c0837d31e05fae7ae5467 (bcc0147bab874ca52c55ad4900545e17528bf8fd): Using 'if (img==NULL) return;' fails to clean up properly, so invert the logic of that section. *** Plucked rev c64a1adc8bda2b4aeaae1f273541afbc4f71b810 (bcc0147bab874ca52c55ad4900545e17528bf8fd): Each PurpleSmiley has a PurpleStoredImage behind it, so there's no need to go and create a new one when someone asks for one. Also, ignore requests for smileys that don't exist in the image store.
author Daniel Atallah <daniel.atallah@gmail.com>
date Thu, 07 Jan 2010 23:38:42 +0000
parents 1568dc7a14f8
children
line wrap: on
line source

/* This file contains macros that wrap calls to the purple 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 _PURPLE_DBUS_MAYBE_H_
#define _PURPLE_DBUS_MAYBE_H_

#ifdef HAVE_DBUS

#ifndef DBUS_API_SUBJECT_TO_CHANGE
#define DBUS_API_SUBJECT_TO_CHANGE
#endif

#include "dbus-server.h"

/* this provides a type check */
#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \
    type *typed_ptr = ptr; \
    purple_dbus_register_pointer(typed_ptr, PURPLE_DBUS_TYPE(type));	\
}
#define PURPLE_DBUS_UNREGISTER_POINTER(ptr) purple_dbus_unregister_pointer(ptr)

#else  /* !HAVE_DBUS */

#define PURPLE_DBUS_REGISTER_POINTER(ptr, type) { \
    if (ptr) {} \
}

#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
#define DBUS_EXPORT

#endif	/* HAVE_DBUS */

#endif