Method
GLibVariantlookup_value
since: 2.28
Declaration
GVariant*
g_variant_lookup_value (
GVariant* dictionary,
const gchar* key,
const GVariantType* expected_type
)
Description
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:
GVariantTypeA
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. |