view libpurple/dbus-maybe.h @ 23037:3f6ab2cbca5f

applied changes from 74295d3392f7f386b2178a9c8b571226b6a25c60 through f249b4c4ad3ec2e4c35e74aef4efee943974b835 applied changes from eeed2c960a1dbe213de63e3115629056ac809beb through 6c9b241a178cbf5a0760ba9646e0460067db378a
author Daniel Atallah <daniel.atallah@gmail.com>
date Thu, 19 Jun 2008 03:18:25 +0000
parents 410f1bf7f734
children 1568dc7a14f8
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) 
#define PURPLE_DBUS_UNREGISTER_POINTER(ptr)
#define DBUS_EXPORT

#endif	/* HAVE_DBUS */

#endif