From 8b7fe6f99dd35f32443a4e23466c8a1e4cfaa32b Mon Sep 17 00:00:00 2001 From: Havoc Pennington Date: Thu, 17 Jul 2003 01:10:57 +0000 Subject: 2003-07-13 Havoc Pennington * dbus/dbus-object.h (struct DBusObjectVTable): add padding fields to DBusObjectVTable and DBusObjectInfo --- ChangeLog | 5 +++++ dbus/dbus-connection.c | 8 ++++++-- dbus/dbus-object.c | 3 ++- dbus/dbus-object.h | 11 ++++++++--- 4 files changed, 21 insertions(+), 6 deletions(-) diff --git a/ChangeLog b/ChangeLog index ea15a719..3f74ff4b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2003-07-13 Havoc Pennington + + * dbus/dbus-object.h (struct DBusObjectVTable): add padding + fields to DBusObjectVTable and DBusObjectInfo + 2003-07-12 Havoc Pennington * dbus/dbus-object-registry.c: implement unit test, diff --git a/dbus/dbus-connection.c b/dbus/dbus-connection.c index 104fd41f..d604bfcb 100644 --- a/dbus/dbus-connection.c +++ b/dbus/dbus-connection.c @@ -2791,8 +2791,12 @@ dbus_connection_register_object (DBusConnection *connection, void *object_impl, DBusObjectID *object_id) { - _dbus_return_val_if_fail (connection != NULL, FALSE); - + _dbus_return_val_if_fail (connection != NULL, FALSE); + _dbus_return_val_if_fail (vtable != NULL, FALSE); + _dbus_return_val_if_fail (vtable->dbus_internal_pad1 == NULL); + _dbus_return_val_if_fail (vtable->dbus_internal_pad2 == NULL); + _dbus_return_val_if_fail (vtable->dbus_internal_pad3 == NULL); + CONNECTION_LOCK (connection); return _dbus_object_registry_add_and_unlock (connection->objects, diff --git a/dbus/dbus-object.c b/dbus/dbus-object.c index 262f75ca..c3f1536d 100644 --- a/dbus/dbus-object.c +++ b/dbus/dbus-object.c @@ -136,7 +136,8 @@ callback_object_message (DBusObjectInfo *info, static const DBusObjectVTable callback_object_vtable = { callback_object_registered, callback_object_unregistered, - callback_object_message + callback_object_message, + NULL, NULL, NULL }; /** diff --git a/dbus/dbus-object.h b/dbus/dbus-object.h index 84fb2ede..a0a53eb0 100644 --- a/dbus/dbus-object.h +++ b/dbus/dbus-object.h @@ -47,9 +47,11 @@ typedef enum struct DBusObjectInfo { - void *object_impl; /**< Object information */ - DBusObjectID object_id; - DBusConnection *connection; + void *object_impl; /**< Object implementation pointer provided by app */ + DBusObjectID object_id; /**< Object ID */ + DBusConnection *connection; /**< The connection object ID is for */ + void *dbus_internal_pad1; /**< Padding, do not use */ + void *dbus_internal_pad2; /**< Padding, do not use */ }; typedef void (* DBusObjectRegisteredFunction) (DBusObjectInfo *info); @@ -62,6 +64,9 @@ struct DBusObjectVTable DBusObjectRegisteredFunction registered; DBusObjectUnregisteredFunction unregistered; DBusObjectMessageFunction message; + void (* dbus_internal_pad1) (void *); + void (* dbus_internal_pad2) (void *); + void (* dbus_internal_pad3) (void *); }; extern const DBusObjectVTable *dbus_callback_object_vtable; -- cgit v1.2.1