|  |  |  | GObject Reference Manual |  | 
|---|
| GBoxedGBoxed — A mechanism to wrap opaque C structures registered by the type system | 
#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;
gpointer (*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. | 
void (*GBoxedFreeFunc) (gpointer boxed);
This function is provided by the user and should free the boxed structure passed.
| boxed: | The boxed structure to be freed. | 
gpointer 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. | 
void 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. | 
GType 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_BOXEDderived type id forname. | 
GType 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_POINTERderived type id forname. | 
#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
| << Enums and Flags | Generic Values >> |