Index: dbus/dbus-glib.h =================================================================== RCS file: /cvs/dbus/dbus/dbus/dbus-glib.h,v retrieving revision 1.22 diff -u -r1.22 dbus-glib.h --- dbus/dbus-glib.h 15 Feb 2006 21:42:54 -0000 1.22 +++ dbus/dbus-glib.h 1 Mar 2006 12:33:29 -0000 @@ -138,6 +138,9 @@ GType dbus_g_object_path_get_g_type (void) G_GNUC_CONST; #define DBUS_TYPE_G_OBJECT_PATH (dbus_g_object_path_get_g_type ()) +GType dbus_g_signature_get_g_type (void) G_GNUC_CONST; +#define DBUS_TYPE_G_SIGNATURE (dbus_g_signature_get_g_type ()) + void dbus_g_object_register_marshaller (GClosureMarshal marshaller, GType rettype, ...); Index: glib/dbus-binding-tool-glib.c =================================================================== RCS file: /cvs/dbus/dbus/glib/dbus-binding-tool-glib.c,v retrieving revision 1.27 diff -u -r1.27 dbus-binding-tool-glib.c --- glib/dbus-binding-tool-glib.c 13 Feb 2006 22:30:11 -0000 1.27 +++ glib/dbus-binding-tool-glib.c 1 Mar 2006 12:33:30 -0000 @@ -1081,6 +1081,7 @@ MAP_KNOWN(G_TYPE_VALUE_ARRAY); MAP_KNOWN(DBUS_TYPE_G_PROXY); MAP_KNOWN(DBUS_TYPE_G_OBJECT_PATH); + MAP_KNOWN(DBUS_TYPE_G_SIGNATURE); return NULL; } #undef MAP_FUNDAMENTAL Index: glib/dbus-gsignature.c =================================================================== RCS file: /cvs/dbus/dbus/glib/dbus-gsignature.c,v retrieving revision 1.2 diff -u -r1.2 dbus-gsignature.c --- glib/dbus-gsignature.c 13 Feb 2006 22:30:11 -0000 1.2 +++ glib/dbus-gsignature.c 1 Mar 2006 12:33:30 -0000 @@ -147,6 +147,8 @@ return _dbus_gtype_from_basic_typecode (current_type); else if (current_type == DBUS_TYPE_OBJECT_PATH) return DBUS_TYPE_G_OBJECT_PATH; + else if (current_type == DBUS_TYPE_SIGNATURE) + return DBUS_TYPE_G_SIGNATURE; else { DBusSignatureIter subiter; Index: glib/dbus-gvalue.c =================================================================== RCS file: /cvs/dbus/dbus/glib/dbus-gvalue.c,v retrieving revision 1.27 diff -u -r1.27 dbus-gvalue.c --- glib/dbus-gvalue.c 16 Feb 2006 00:43:41 -0000 1.27 +++ glib/dbus-gvalue.c 1 Mar 2006 12:33:30 -0000 @@ -353,6 +353,23 @@ return type_id; } +/** + * Get the GLib type ID for a DBusGSignature boxed type. + * + * @returns GLib type + */ +GType +dbus_g_signature_get_g_type (void) +{ + static GType type_id = 0; + + if (!type_id) + type_id = g_boxed_type_register_static ("DBusGSignature", + (GBoxedCopyFunc) g_strdup, + (GBoxedFreeFunc) g_free); + return type_id; +} + char * _dbus_gtype_to_signature (GType gtype)