g_variant_get_data: mention what you need to know to deserialise

Also include a shorter version in the docs for g_variant_store, with a
pointer to g_variant_get_data.

Bug: https://bugzilla.gnome.org/show_bug.cgi?id=632049
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Ryan Lortie <desrt@desrt.ca>
This commit is contained in:
Simon McVittie 2011-10-03 14:20:51 +01:00
parent 3869e40ac3
commit ebb544f549

View File

@ -819,6 +819,16 @@ g_variant_get_size (GVariant *value)
* serialisation occurs implicitly and is approximately O(n) in the size * serialisation occurs implicitly and is approximately O(n) in the size
* of the result. * of the result.
* *
* To deserialise the data returned by this function, in addition to the
* serialised data, you must know the type of the #GVariant, and (if the
* machine might be different) the endianness of the machine that stored
* it. As a result, file formats or network messages that incorporate
* serialised #GVariant<!---->s must include this information either
* implicitly (for instance "the file always contains a
* %G_VARIANT_TYPE_VARIANT and it is always in little-endian order") or
* explicitly (by storing the type and/or endianness in addition to the
* serialised data).
*
* Since: 2.24 * Since: 2.24
**/ **/
gconstpointer gconstpointer
@ -957,6 +967,10 @@ g_variant_get_child_value (GVariant *value,
* fully-normalised form if read from an untrusted source. See * fully-normalised form if read from an untrusted source. See
* g_variant_get_normal_form() for a solution. * g_variant_get_normal_form() for a solution.
* *
* As with g_variant_get_data(), to be able to deserialise the
* serialised variant successfully, its type and (if the destination
* machine might be different) its endianness must also be available.
*
* This function is approximately O(n) in the size of @data. * This function is approximately O(n) in the size of @data.
* *
* Since: 2.24 * Since: 2.24