mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2025-02-09 20:35:49 +01:00
Bug 620350 - add g_variant_builder_add_parsed()
A delicious blend of g_variant_new_parsed() and g_variant_builder_add_value(). Now available in a GLib near you.
This commit is contained in:
parent
44db2b6b74
commit
9562726f35
@ -2900,6 +2900,7 @@ g_variant_builder_init
|
|||||||
g_variant_builder_clear
|
g_variant_builder_clear
|
||||||
g_variant_builder_add_value
|
g_variant_builder_add_value
|
||||||
g_variant_builder_add
|
g_variant_builder_add
|
||||||
|
g_variant_builder_add_parsed
|
||||||
g_variant_builder_end
|
g_variant_builder_end
|
||||||
g_variant_builder_open
|
g_variant_builder_open
|
||||||
g_variant_builder_close
|
g_variant_builder_close
|
||||||
|
@ -1811,6 +1811,7 @@ g_variant_byteswap
|
|||||||
#if IN_FILE(__G_VARIANT_PARSER_C__)
|
#if IN_FILE(__G_VARIANT_PARSER_C__)
|
||||||
g_variant_new_parsed
|
g_variant_new_parsed
|
||||||
g_variant_new_parsed_va
|
g_variant_new_parsed_va
|
||||||
|
g_variant_builder_add_parsed
|
||||||
g_variant_parse
|
g_variant_parse
|
||||||
g_variant_parser_get_error_quark
|
g_variant_parser_get_error_quark
|
||||||
#endif
|
#endif
|
||||||
|
@ -2248,5 +2248,49 @@ g_variant_new_parsed (const gchar *format,
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* g_variant_builder_add_parsed:
|
||||||
|
* @builder: a #GVariantBuilder
|
||||||
|
* @format: a text format #GVariant
|
||||||
|
* @...: arguments as per @format
|
||||||
|
*
|
||||||
|
* Adds to a #GVariantBuilder.
|
||||||
|
*
|
||||||
|
* This call is a convenience wrapper that is exactly equivalent to
|
||||||
|
* calling g_variant_new_parsed() followed by
|
||||||
|
* g_variant_builder_add_value().
|
||||||
|
*
|
||||||
|
* This function might be used as follows:
|
||||||
|
*
|
||||||
|
* <programlisting>
|
||||||
|
* GVariant *
|
||||||
|
* make_pointless_dictionary (void)
|
||||||
|
* {
|
||||||
|
* GVariantBuilder *builder;
|
||||||
|
* int i;
|
||||||
|
*
|
||||||
|
* builder = g_variant_builder_new (G_VARIANT_TYPE_ARRAY);
|
||||||
|
* g_variant_builder_add_parsed (builder, "{'width', <%i>}", 600);
|
||||||
|
* g_variant_builder_add_parsed (builder, "{'title', <%s>}", "foo");
|
||||||
|
* g_variant_builder_add_parsed (builder, "{'transparency', <0.5>}");
|
||||||
|
* return g_variant_builder_end (builder);
|
||||||
|
* }
|
||||||
|
* </programlisting>
|
||||||
|
*
|
||||||
|
* Since: 2.26
|
||||||
|
**/
|
||||||
|
void
|
||||||
|
g_variant_builder_add_parsed (GVariantBuilder *builder,
|
||||||
|
const gchar *format,
|
||||||
|
...)
|
||||||
|
{
|
||||||
|
va_list ap;
|
||||||
|
|
||||||
|
va_start (ap, format);
|
||||||
|
g_variant_builder_add_value (builder, g_variant_new_parsed_va (format, ap));
|
||||||
|
va_end (ap);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
#define __G_VARIANT_PARSER_C__
|
#define __G_VARIANT_PARSER_C__
|
||||||
#include "galiasdef.c"
|
#include "galiasdef.c"
|
||||||
|
@ -197,6 +197,9 @@ void g_variant_builder_add_value (GVarian
|
|||||||
void g_variant_builder_add (GVariantBuilder *builder,
|
void g_variant_builder_add (GVariantBuilder *builder,
|
||||||
const gchar *format_string,
|
const gchar *format_string,
|
||||||
...);
|
...);
|
||||||
|
void g_variant_builder_add_parsed (GVariantBuilder *builder,
|
||||||
|
const gchar *format,
|
||||||
|
...);
|
||||||
|
|
||||||
GVariant * g_variant_new (const gchar *format_string,
|
GVariant * g_variant_new (const gchar *format_string,
|
||||||
...);
|
...);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user