Index: dbus.scm =================================================================== --- dbus.scm (revision 25842) +++ dbus.scm (working copy) @@ -89,6 +89,9 @@ (define dbus:type-signature-string (foreign-value DBUS_TYPE_SIGNATURE_AS_STRING int)) (define dbus:type-array (foreign-value DBUS_TYPE_ARRAY int)) (define dbus:type-array-string (foreign-value DBUS_TYPE_ARRAY_AS_STRING int)) +(define dbus:type-dict (foreign-value DBUS_TYPE_DICT_ENTRY int)) +(define dbus:type-struct (foreign-value DBUS_TYPE_STRUCT int)) +(define dbus:type-variant (foreign-value DBUS_TYPE_VARIANT int)) (define dbus:make-context) (define dbus:send) @@ -387,6 +390,8 @@ C_return (ret);") iter)] [(eq? type dbus:type-array) (iter->vector (make-sub-iter iter))] + [(memq type (list dbus:type-dict dbus:type-struct dbus:type-variant)) + (iter->list (make-sub-iter iter))] ;; unsupported so far (not understood well enough): ;; dbus:type-object-path and dbus:type-signature ;; dbus:type-invalid is returned as #f (could be (void) but that