GBoxed A mechanism to wrap opaque C structures registered by the type system #GParamSpecBoxed, g_param_spec_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. This function is provided by the user and should free the boxed structure passed. @boxed: The boxed structure to be freed. 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. Free the boxed structure @boxed which is of type @boxed_type. @boxed_type: The type of @boxed. @boxed: The boxed structure to be freed. 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. 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. The #GType for #GString. 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 A C representable type name for #G_TYPE_STRV.