summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--dbus/dbus-connection.c8
-rw-r--r--dbus/dbus-object.c3
-rw-r--r--dbus/dbus-object.h11
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 <hp@pobox.com>
+
+ * dbus/dbus-object.h (struct DBusObjectVTable): add padding
+ fields to DBusObjectVTable and DBusObjectInfo
+
2003-07-12 Havoc Pennington <hp@pobox.com>
* 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;