GBoxed3GOBJECT LibraryGBoxedA mechanism to wrap opaque C structures registered by the type systemSynopsis
#include <glib-object.h>
gpointer (*GBoxedCopyFunc) (gpointer boxed);
void (*GBoxedFreeFunc) (gpointer boxed);
gpointer g_boxed_copy (GType boxed_type,
gconstpointer src_boxed);
void g_boxed_free (GType boxed_type,
gpointer boxed);
GType g_boxed_type_register_static (const gchar *name,
GBoxedCopyFunc boxed_copy,
GBoxedFreeFunc boxed_free);
GType g_pointer_type_register_static (const gchar *name);
#define G_TYPE_GSTRING
#define G_TYPE_STRV
typedef GStrv;
DescriptionDetailsGBoxedCopyFunc ()GBoxedCopyFuncgpointer (*GBoxedCopyFunc) (gpointer boxed);
This function is provided by the user and should produce a copy of the passed
in boxed structure.
boxed : The boxed structure to be copied.
Returns :The newly created copy of the boxed structure.
GBoxedFreeFunc ()GBoxedFreeFuncvoid (*GBoxedFreeFunc) (gpointer boxed);
This function is provided by the user and should free the boxed
structure passed.
boxed :The boxed structure to be freed.
g_boxed_copy ()g_boxed_copygpointer g_boxed_copy (GType boxed_type,
gconstpointer src_boxed);
Provide a copy of a boxed structure src_boxed which is of type boxed_type.
boxed_type :The type of src_boxed.
src_boxed : The boxed structure to be copied.
Returns : The newly created copy of the boxed structure.
g_boxed_free ()g_boxed_freevoid g_boxed_free (GType boxed_type,
gpointer boxed);
Free the boxed structure boxed which is of type boxed_type.
boxed_type :The type of boxed.
boxed : The boxed structure to be freed.
g_boxed_type_register_static ()g_boxed_type_register_staticGType g_boxed_type_register_static (const gchar *name,
GBoxedCopyFunc boxed_copy,
GBoxedFreeFunc boxed_free);
This function creates a new G_TYPE_BOXED derived type id for a new
boxed type with name name. Boxed type handling functions have to be
provided to copy and free opaque boxed structures of this type.
name :Name of the new boxed type.
boxed_copy :Boxed structure copy function.
boxed_free :Boxed structure free function.
Returns :New G_TYPE_BOXED derived type id for name.
g_pointer_type_register_static ()g_pointer_type_register_staticGType g_pointer_type_register_static (const gchar *name);
Creates a new G_TYPE_POINTER derived type id for a new
pointer type with name name.
name :the name of the new pointer type.
Returns :a new G_TYPE_POINTER derived type id for name.
G_TYPE_GSTRINGG_TYPE_GSTRING#define G_TYPE_GSTRING (g_gstring_get_type ())
The GType for GString.
G_TYPE_STRVG_TYPE_STRV#define G_TYPE_STRV (g_strv_get_type ())
The GType for a boxed type holding a NULL-terminated array of strings.
The code fragments in the following example show the use of a property of
type G_TYPE_STRV with g_object_class_install_property(), g_object_set()
and g_object_get().
g_object_class_install_property (object_class,
PROP_AUTHORS,
g_param_spec_boxed ("authors",
_("Authors"),
_("List of authors"),
G_TYPE_STRV,
G_PARAM_READWRITE));
gchar *authors[] = { "Owen", "Tim", NULL };
g_object_set (obj, "authors", authors, NULL);
gchar *writers[];
g_object_get (obj, "authors", &writers, NULL);
/* do something with writers */
g_strfreev (writers);
Since 2.4
GStrvGStrvtypedef gchar** GStrv;
A C representable type name for G_TYPE_STRV.
See AlsoGParamSpecBoxed, g_param_spec_boxed()