mirror of
https://gitlab.gnome.org/GNOME/glib.git
synced 2024-11-11 03:46:17 +01:00
2ae1a46b4c
2005-05-05 Owen Taylor <otaylor@redhat.com> * gobject.[ch] gobject.symbols: Add g_object_add/remove_toggle_ref() functions to get notification when a reference count is the last remaining reference; this enables better memory management for language bindings. (http://mail.gnome.org/archives/gtk-devel-list/2005-April/msg00095.html) 2005-05-05 Owen Taylor <otaylor@redhat.com> * glib/gdataset.[ch] glib/gdatasetprivate.h: Add g_datalist_set/unset_flags(), g_datalist_get_flags() functions to squeeze some bits into a GDataSet... this is needed for efficient implementation of toggle references in GObject. * tests/gobject/references.c tests/gobject/Makefile.am: Add a test case for weak and toggle references. * glib/gfileutils.[ch]: Rename g_file_replace() back to g_file_set_contents(). * glib/glib.symbols: Update. 2005-05-05 Owen Taylor <otaylor@redhat.com> * glib/Makefile.am glib/glib-sections.txt gobject/gobject-sections.txt: Update * gobject/tmpl/objects.sgml: Document toggle-references.
133 lines
3.3 KiB
Plaintext
133 lines
3.3 KiB
Plaintext
<!-- ##### SECTION Title ##### -->
|
|
GBoxed
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
A mechanism to wrap opaque C structures registered by the type system
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
<para>
|
|
|
|
</para>
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
<para>
|
|
#GParamSpecBoxed, g_param_spec_boxed()
|
|
</para>
|
|
|
|
<!-- ##### SECTION Stability_Level ##### -->
|
|
|
|
|
|
<!-- ##### USER_FUNCTION GBoxedCopyFunc ##### -->
|
|
<para>
|
|
This function is provided by the user and should produce a copy of the passed
|
|
in boxed structure.
|
|
</para>
|
|
|
|
@boxed: The boxed structure to be copied.
|
|
@Returns: The newly created copy of the boxed structure.
|
|
|
|
|
|
<!-- ##### USER_FUNCTION GBoxedFreeFunc ##### -->
|
|
<para>
|
|
This function is provided by the user and should free the boxed
|
|
structure passed.
|
|
</para>
|
|
|
|
@boxed: The boxed structure to be freed.
|
|
|
|
|
|
<!-- ##### FUNCTION g_boxed_copy ##### -->
|
|
<para>
|
|
Provide a copy of a boxed structure @src_boxed which is of type @boxed_type.
|
|
</para>
|
|
|
|
@boxed_type: The type of @src_boxed.
|
|
@src_boxed: The boxed structure to be copied.
|
|
@Returns: The newly created copy of the boxed structure.
|
|
|
|
|
|
<!-- ##### FUNCTION g_boxed_free ##### -->
|
|
<para>
|
|
Free the boxed structure @boxed which is of type @boxed_type.
|
|
</para>
|
|
|
|
@boxed_type: The type of @boxed.
|
|
@boxed: The boxed structure to be freed.
|
|
|
|
|
|
<!-- ##### FUNCTION g_boxed_type_register_static ##### -->
|
|
<para>
|
|
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.
|
|
</para>
|
|
|
|
@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.
|
|
|
|
|
|
<!-- ##### FUNCTION g_pointer_type_register_static ##### -->
|
|
<para>
|
|
Creates a new %G_TYPE_POINTER derived type id for a new
|
|
pointer type with name @name.
|
|
</para>
|
|
|
|
@name: the name of the new pointer type.
|
|
@Returns: a new %G_TYPE_POINTER derived type id for @name.
|
|
|
|
|
|
<!-- ##### MACRO G_TYPE_DATE ##### -->
|
|
<para>
|
|
The #GType for #GDate.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO G_TYPE_GSTRING ##### -->
|
|
<para>
|
|
The #GType for #GString.
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### MACRO G_TYPE_STRV ##### -->
|
|
<para>
|
|
The #GType for a boxed type holding a %NULL-terminated array of strings.
|
|
</para>
|
|
<para>
|
|
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().
|
|
</para>
|
|
<informalexample><programlisting>
|
|
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);
|
|
</programlisting></informalexample>
|
|
|
|
@Since: 2.4
|
|
|
|
|
|
<!-- ##### TYPEDEF GStrv ##### -->
|
|
<para>
|
|
A C representable type name for #G_TYPE_STRV.
|
|
</para>
|
|
|
|
|