Method
GLibVariantlookup_value
since: 2.28
Declaration [src]
GVariant*
g_variant_lookup_value (
GVariant* dictionary,
const gchar* key,
const GVariantType* expected_type
)
Description [src]
Looks up a value in a dictionary GVariant
.
This function works with dictionaries of the type a{s} (and equally well with type a{o}, but we only further discuss the string case for sake of clarity).
In the event that dictionary
has the type a{sv}, the expected_type
string specifies what type of value is expected to be inside of the
variant. If the value inside the variant has a different type then
NULL
is returned. In the event that dictionary
has a value type other
than v then expected_type
must directly match the value type and it is
used to unpack the value directly or an error occurs.
In either case, if key
is not found in dictionary
, NULL
is returned.
If the key is found and the value has the correct type, it is
returned. If expected_type
was specified then any non-NULL
return
value will have this type.
This function is currently implemented with a linear scan. If you
plan to do many lookups then GVariantDict
may be more efficient.
Available since: 2.28
Parameters
key
-
Type:
const gchar*
The key to look up in the dictionary.
The data is owned by the caller of the method. The value is a NUL terminated UTF-8 string. expected_type
-
Type:
GVariantType
A
GVariantType
, orNULL
.The argument can be NULL
.The data is owned by the caller of the method.
Return value
Type: GVariant
The value of the dictionary key, or NULL
.
The caller of the method takes ownership of the returned data, and is responsible for freeing it. |