Name

Varargs Value Collection — Converting varargs to generic values.


Library

gobject.lib


Synopsis

#include <glib-object.h>
#include <gobject/gvaluecollector.h>


union GTypeCValue;
#define G_VALUE_COLLECT (value, var_args, flags, __error)
#define G_VALUE_LCOPY (value, var_args, flags, __error)
#define G_VALUE_COLLECT_FORMAT_MAX_LENGTH

Detailed Description

The macros in this section provide the varargs parsing support needed in variadic GObject functions such as g_object_new() or g_object_set(). They currently support the collection of integral types, floating point types and pointers.


Details

union GTypeCValue

union GTypeCValue
{
gint v_int;
glong v_long;
gint64 v_int64;
gdouble v_double;
gpointer v_pointer;
};

A union holding one collected value.


G_VALUE_COLLECT()

#define     G_VALUE_COLLECT(value, var_args, flags, __error)

Collects a variable argument value from a va_list. We have to implement the varargs collection as a macro, because on some systems va_list variables cannot be passed by reference.

value : a GValue return location. value is supposed to be initialized according to the value type to be collected
var_args : the va_list variable; it may be evaluated multiple times
flags : flags which are passed on to the collect_value() function of the GTypeValueTable of value.
__error : a gchar** variable that will be modified to hold a g_new() allocated error messages if something fails

G_VALUE_LCOPY()

#define     G_VALUE_LCOPY(value, var_args, flags, __error)

Collects a value's variable argument locations from a va_list.

value : a GValue return location. value is supposed to be initialized according to the value type to be collected
var_args : the va_list variable; it may be evaluated multiple times
flags : flags which are passed on to the lcopy_value() function of the GTypeValueTable of value.
__error : a gchar** variable that will be modified to hold a g_new() allocated error messages if something fails

G_VALUE_COLLECT_FORMAT_MAX_LENGTH

#define	G_VALUE_COLLECT_FORMAT_MAX_LENGTH	(8)

The maximal number of GTypeCValues which can be collected for a single GValue.


See Also

GValueTable

Feedback

For additional information or queries on this page send feedback


© 2005-2007 Nokia

Top