diff options
| author | Javier Jardón <jjardon@gnome.org> | 2010-03-28 15:43:33 (GMT) |
|---|---|---|
| committer | Javier Jardón <jjardon@gnome.org> | 2010-03-29 16:17:40 (GMT) |
| commit | 0f51e995658a50dbecb74b006f05a1ea69f43558 (patch) | |
| tree | 09c816a841f98301d9439eb49ea843149aceb00c | |
| parent | 461a4097d1a0a10106254a8fe917fc4e78ccff92 (diff) | |
| download | glib-0f51e995658a50dbecb74b006f05a1ea69f43558.zip glib-0f51e995658a50dbecb74b006f05a1ea69f43558.tar.xz | |
Fix g_type_class_add_private() documentation
This fixes commit 81e2aa941bbfd02bf1b6235da12834d282ceda0c
Fixes https://bugzilla.gnome.org/show_bug.cgi?id=614185
| -rw-r--r-- | gobject/gtype.c | 48 |
1 files changed, 44 insertions, 4 deletions
diff --git a/gobject/gtype.c b/gobject/gtype.c index 66ff177..fc95253 100644 --- a/gobject/gtype.c +++ b/gobject/gtype.c @@ -4373,12 +4373,52 @@ g_type_init (void) * the type and all of its parent types are allocated * sequentially in the same memory block as the public * structures. This function should be called in the + * type's class_init() function. The private structure can + * be retrieved using the G_TYPE_INSTANCE_GET_PRIVATE() macro. + * The following example shows attaching a private structure + * <structname>MyObjectPrivate</structname> to an object + * <structname>MyObject</structname> defined in the standard GObject + * fashion. * type's class_init() function. * - * The private structure can be retrieved using the - * G_TYPE_CLASS_GET_PRIVATE() macro. - - * Since: 2.24 + * |[ + * typedef struct _MyObject MyObject; + * typedef struct _MyObjectPrivate MyObjectPrivate; + * + * struct _MyObject { + * GObject parent; + * + * MyObjectPrivate *priv; + * }; + * + * struct _MyObjectPrivate { + * int some_field; + * }; + * + * static void + * my_object_class_init (MyObjectClass *klass) + * { + * g_type_class_add_private (klass, sizeof (MyObjectPrivate)); + * } + * + * static void + * my_object_init (MyObject *my_object) + * { + * my_object->priv = G_TYPE_INSTANCE_GET_PRIVATE (my_object, + * MY_TYPE_OBJECT, + * MyObjectPrivate); + * } + * + * static int + * my_object_get_some_field (MyObject *my_object) + * { + * MyObjectPrivate *priv = my_object->priv; + * + * return priv->some_field; + * } + * ]| + * + * Since: 2.4 */ void g_type_class_add_private (gpointer g_class, |
