Manipulating a{sv} mappings

Manipulating a{sv} mappings — Functions to manipulate mappings from string to variant, as represented in GVariant by a G_VARIANT_TYPE_VARDICT

Functions

gboolean tp_vardict_get_boolean ()
gdouble tp_vardict_get_double ()
gint32 tp_vardict_get_int32 ()
gint64 tp_vardict_get_int64 ()
const gchar * tp_vardict_get_object_path ()
const gchar * tp_vardict_get_string ()
guint32 tp_vardict_get_uint32 ()
guint64 tp_vardict_get_uint64 ()

Includes

#include <telepathy-glib/telepathy-glib.h>

Description

These functions provide convenient access to the values in such a mapping.

Functions

tp_vardict_get_boolean ()

gboolean
tp_vardict_get_boolean (GVariant *variant,
                        const gchar *key,
                        gboolean *valid);

If a value for key in variant is present and boolean, return it, and set *valid to TRUE if valid is not NULL.

Otherwise return FALSE, and set *valid to FALSE if valid is not NULL.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

valid

Either NULL, or a location to store TRUE if the key actually exists and has a boolean value.

[out]

Returns

a boolean value for key

Since: 0.19.10


tp_vardict_get_double ()

gdouble
tp_vardict_get_double (GVariant *variant,
                       const gchar *key,
                       gboolean *valid);

If a value for key in variant is present and has any numeric type used by GVariant (gint32, guint32, gint64, guint64 or gdouble), return it as a double, and if valid is not NULL, set *valid to TRUE.

Otherwise, return 0.0, and if valid is not NULL, set *valid to FALSE.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

valid

Either NULL, or a location in which to store TRUE on success or FALSE on failure.

[out]

Returns

the double precision floating-point value of key , or 0.0

Since: 0.19.10


tp_vardict_get_int32 ()

gint32
tp_vardict_get_int32 (GVariant *variant,
                      const gchar *key,
                      gboolean *valid);

If a value for key in variant is present, has an integer type used by GVariant (gint32, guint32, gint64 or guint64) and fits in the range of a gint32, return it, and if valid is not NULL, set *valid to TRUE.

Otherwise, return 0, and if valid is not NULL, set *valid to FALSE.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

valid

Either NULL, or a location in which to store TRUE on success or FALSE on failure.

[out]

Returns

the 32-bit signed integer value of key , or 0

Since: 0.19.10


tp_vardict_get_int64 ()

gint64
tp_vardict_get_int64 (GVariant *variant,
                      const gchar *key,
                      gboolean *valid);

If a value for key in variant is present, has an integer type used by GVariant (gint32, guint32, gint64 or guint64) and fits in the range of a gint64, return it, and if valid is not NULL, set *valid to TRUE.

Otherwise, return 0, and if valid is not NULL, set *valid to FALSE.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

valid

Either NULL, or a location in which to store TRUE on success or FALSE on failure.

[out]

Returns

the 64-bit signed integer value of key , or 0

Since: 0.19.10


tp_vardict_get_object_path ()

const gchar *
tp_vardict_get_object_path (GVariant *variant,
                            const gchar *key);

If a value for key in variant is present and is an object path, return it.

Otherwise return NULL.

The returned value is not copied, and is only valid as long as variant is kept. Copy it with g_strdup() if you need to keep it for longer.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

Returns

the object path value of key , or NULL.

[transfer none][allow-none]

Since: 0.19.10


tp_vardict_get_string ()

const gchar *
tp_vardict_get_string (GVariant *variant,
                       const gchar *key);

If a value for key in variant is present and is a string, return it.

Otherwise return NULL.

The returned value is not copied, and is only valid as long as variant is kept. Copy it with g_strdup() if you need to keep it for longer.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

Returns

the string value of key , or NULL.

[transfer none][allow-none]

Since: 0.19.10


tp_vardict_get_uint32 ()

guint32
tp_vardict_get_uint32 (GVariant *variant,
                       const gchar *key,
                       gboolean *valid);

If a value for key in variant is present, has an integer type used by GVariant (gint32, guint32, gint64 or guint64) and fits in the range of a guint32, return it, and if valid is not NULL, set *valid to TRUE.

Otherwise, return 0, and if valid is not NULL, set *valid to FALSE.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

valid

Either NULL, or a location in which to store TRUE on success or FALSE on failure.

[out]

Returns

the 32-bit unsigned integer value of key , or 0

Since: 0.19.10


tp_vardict_get_uint64 ()

guint64
tp_vardict_get_uint64 (GVariant *variant,
                       const gchar *key,
                       gboolean *valid);

If a value for key in variant is present, has an integer type used by GVariant (gint32, guint32, gint64 or guint64) and is non-negative, return it, and if valid is not NULL, set *valid to TRUE.

Otherwise, return 0, and if valid is not NULL, set *valid to FALSE.

Parameters

variant

a GVariant of type G_VARIANT_TYPE_VARDICT

 

key

The key to look up

 

valid

Either NULL, or a location in which to store TRUE on success or FALSE on failure.

[out]

Returns

the 64-bit unsigned integer value of key , or 0

Since: 0.19.10