diff options
author | Havoc Pennington <hp@redhat.com> | 2004-06-20 15:28:15 +0000 |
---|---|---|
committer | Havoc Pennington <hp@redhat.com> | 2004-06-20 15:28:15 +0000 |
commit | 961e6ca41c1e9433055130569ce3492866e2126b (patch) | |
tree | 053a3e24565665462a498dee93762a83b5598004 /glib/dbus-gutils.h | |
parent | eed3989ea35a62e5f58ee7fc3f50a23ad0821800 (diff) |
2004-06-20 Havoc Pennington <hp@redhat.com>
* dbus/dbus-glib-error-enum.h: autogenerate the GError enum
codes from the dbus error names
* glib/dbus-glib.h: move to subdir dbus/ since it's included
as dbus/dbus-glib.h and that breakage is now visible due to
including dbus/dbus-glib.h in dbus-glib-lowlevel.h
* glib/dbus-glib.h: s/gproxy/g_proxy/
* dbus/dbus-shared.h: new header to hold stuff shared with
binding APIs
* dbus/dbus-protocol.h (DBUS_ERROR_*): move errors here rather
than dbus-errors.h
* glib/dbus-glib.h (dbus_set_g_error): move to
dbus-glib-lowlevel.h
* glib/dbus-glib.h: remove dbus/dbus.h from here; change a bunch
of stuff to enable this
* dbus/dbus-glib-lowlevel.h: put dbus/dbus.h here
* a bunch of other changes with the same basic "separate glib
bindings from dbus.h" theme
Diffstat (limited to 'glib/dbus-gutils.h')
-rw-r--r-- | glib/dbus-gutils.h | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/glib/dbus-gutils.h b/glib/dbus-gutils.h index 84041d04..bed2d295 100644 --- a/glib/dbus-gutils.h +++ b/glib/dbus-gutils.h @@ -35,6 +35,21 @@ char **_dbus_gutils_split_path (const char *path); const char *_dbus_gutils_type_to_string (int type); +/* These munge the pointer to enforce that a plain cast won't work, + * accessor functions must be used; i.e. to ensure the ABI + * reflects our encapsulation. + */ +#define _DBUS_POINTER_SHIFT(p) ((void*) (((char*)p) + sizeof (void*))) +#define _DBUS_POINTER_UNSHIFT(p) ((void*) (((char*)p) - sizeof (void*))) + +#define DBUS_CONNECTION_FROM_G_CONNECTION(x) ((DBusConnection*) _DBUS_POINTER_UNSHIFT(x)) +#define DBUS_MESSAGE_FROM_G_MESSAGE(x) ((DBusMessage*) _DBUS_POINTER_UNSHIFT(x)) +#define DBUS_PENDING_CALL_FROM_G_PENDING_CALL(x) ((DBusPendingCall*) _DBUS_POINTER_UNSHIFT(x)) + +#define DBUS_G_CONNECTION_FROM_CONNECTION(x) ((DBusGConnection*) _DBUS_POINTER_SHIFT(x)) +#define DBUS_G_MESSAGE_FROM_MESSAGE(x) ((DBusGMessage*) _DBUS_POINTER_SHIFT(x)) +#define DBUS_G_PENDING_CALL_FROM_PENDING_CALL(x) ((DBusGPendingCall*) _DBUS_POINTER_SHIFT(x)) + G_END_DECLS #endif /* DBUS_GLIB_UTILS_H */ |