Function
GLibVariantnew_parsed
Declaration [src]
GVariant*
g_variant_new_parsed (
const gchar* format,
...
)
Description [src]
Parses format
and returns the result.
format
must be a text format GVariant
with one extension: at any
point that a value may appear in the text, a ‘%’ character followed
by a GVariant format string (as per g_variant_new()) may appear. In
that case, the same arguments are collected from the argument list as
g_variant_new()
would have collected.
Note that the arguments must be of the correct width for their types
specified in format
. This can be achieved by casting them. See
the GVariant varargs documentation.
Consider this simple example:
g_variant_new_parsed ("[('one', 1), ('two', %i), (%s, 3)]", 2, "three");
In the example, the variable argument parameters are collected and filled in as if they were part of the original string to produce the result of
[('one', 1), ('two', 2), ('three', 3)]
This function is intended only to be used with format
as a string
literal. Any parse error is fatal to the calling process. If you
want to parse data from untrusted sources, use g_variant_parse().
You may not use this function to return, unmodified, a single
GVariant
pointer from the argument list. ie: format
may not solely
be anything along the lines of “%*”, “%?”, “\%r”, or anything starting
with “%@”.
This function is not directly available to language bindings.
Parameters
format
-
Type:
const gchar*
A text format
GVariant
.The data is owned by the caller of the function. The value is a NUL terminated UTF-8 string. ...
-
Type:
Arguments as per
format
.
Return value
Type: GVariant
A new floating GVariant
instance.
The caller of the function takes ownership of the data, and is responsible for freeing it. |