}
}
+ else if (element_type == DBUS_TYPE_VARIANT)
+ {
+ BDBLOG((" add variant from variant\n"));
+
+ nsCAutoString variantSignature;
+ getSignatureFromVariant(cx, aVariant, variantSignature);
+
+ BDBLOG((" variant sig: %s\n", variantSignature.get()));
+
+ DBusSignatureIter aChildSigIter;
+ dbus_signature_iter_init(&aChildSigIter, variantSignature.get());
+
+ DBusMessageIter variantIter;
+ dbus_message_iter_open_container(aIter, DBUS_TYPE_VARIANT,
+ variantSignature.get(), &variantIter);
+ addVariantToIter(cx, aVariant, &variantIter, &aChildSigIter);
+ dbus_message_iter_close_container(aIter, &variantIter);
+
+ }
else if (element_type == DBUS_TYPE_STRUCT)
{
BDBLOG((" add struct from variant\n"));