nmtst: add nmtst_variant_new_vardict() function
authorThomas Haller <thaller@redhat.com>
Thu, 17 Mar 2016 11:42:54 +0000 (12:42 +0100)
committerThomas Haller <thaller@redhat.com>
Sat, 26 Mar 2016 11:10:53 +0000 (12:10 +0100)
shared/nm-test-utils.h

index 55c9101..2503245 100644 (file)
@@ -1793,6 +1793,27 @@ nmtst_create_connection_from_keyfile (const char *keyfile_str, const char *keyfi
 
 #ifdef __NM_CONNECTION_H__
 
+inline static GVariant *
+_nmtst_variant_new_vardict (int dummy, ...)
+{
+       GVariantBuilder builder;
+       va_list ap;
+       const char *name;
+       GVariant *variant;
+
+       g_variant_builder_init (&builder, G_VARIANT_TYPE_VARDICT);
+
+       va_start (ap, dummy);
+       while ((name = va_arg (ap, const char *))) {
+               variant = va_arg (ap, GVariant *);
+               g_variant_builder_add (&builder, "{sv}", name, variant);
+       }
+       va_end (ap);
+
+       return g_variant_builder_end (&builder);
+}
+#define nmtst_variant_new_vardict(...) _nmtst_variant_new_vardict (0, __VA_ARGS__, NULL)
+
 #define nmtst_assert_variant_is_of_type(variant, type) \
        G_STMT_START { \
                GVariant *_variantx = (variant); \