camel-weak-ref-group

camel-weak-ref-group — A weak ref group

Functions

Object Hierarchy

    GBoxed
    ╰── CamelWeakRefGroup

Includes

#include <camel/camel.h>

Description

A GWeakRef as such is not suitable for large sets, because it causes big performance impact on free. This CamelWeakRefGroup groups together weak references for the same object to minimize the performance issue of the GWeakRef.

Functions

camel_weak_ref_group_new ()

CamelWeakRefGroup *
camel_weak_ref_group_new (void);

Returns

A new CamelWeakRefGroup instance, which should be freed with camel_weak_ref_group_unref() when no longer needed.

[transfer full]

Since: 3.24


camel_weak_ref_group_ref ()

CamelWeakRefGroup *
camel_weak_ref_group_ref (CamelWeakRefGroup *group);

Increases a reference count of the group .

Parameters

group

a CamelWeakRefGroup

 

Returns

the group

Since: 3.24


camel_weak_ref_group_unref ()

void
camel_weak_ref_group_unref (CamelWeakRefGroup *group);

Decreases a reference count of the group . The group is freed when the reference count reaches zero.

Parameters

group

a CamelWeakRefGroup

 

Since: 3.24


camel_weak_ref_group_set ()

void
camel_weak_ref_group_set (CamelWeakRefGroup *group,
                          gpointer object);

Sets the object as the object help by this group . If the object is NULL, then unsets any previously set.

Parameters

group

a CamelWeakRefGroup

 

object

a GObject descendant, or NULL.

[nullable]

Since: 3.24


camel_weak_ref_group_get ()

gpointer
camel_weak_ref_group_get (CamelWeakRefGroup *group);

Parameters

group

a CamelWeakRefGroup

 

Returns

A referenced object associated with group , or NULL, when no object had been set to it. Use g_object_unref() to free it, when no longer needed.

[transfer full]

Since: 3.24