get_normal_form


Description:

public Variant get_normal_form ()

Gets a Variant instance that has the same value as this and is trusted to be in normal form.

If this is already trusted to be in normal form then a new reference to this is returned.

If this is not already trusted, then it is scanned to check if it is in normal form. If it is found to be in normal form then it is marked as trusted and a new reference to it is returned.

If this is found not to be in normal form then a new trusted Variant is created with the same value as this. The non-normal parts of this will be replaced with default values which are guaranteed to be in normal form.

It makes sense to call this function if you've received Variant data from untrusted sources and you want to ensure your serialized output is definitely in normal form.

If this is already in normal form, a new reference will be returned (which will be floating if this is floating). If it is not in normal form, the newly created Variant will be returned with a single non-floating reference. Typically, g_variant_take_ref should be called on the return value from this function to guarantee ownership of a single non-floating reference to it.

Parameters:

this

a Variant

Returns:

a trusted Variant