ObjectG.notifyByPspec

Emits a "notify" signal for the property specified by pspec on object.

This function omits the property name lookup, hence it is faster than g_object_notify().

One way to avoid using g_object_notify() from within the class that registered the properties, and using g_object_notify_by_pspec() instead, is to store the GParamSpec used with ObjectClass.installProperty inside a static array, e.g.:

enum
{
PROP_0,
PROP_FOO,
PROP_LAST
};

static GParamSpec *properties[PROP_LAST];

static void
my_object_class_init (MyObjectClass *klass)
{
properties[PROP_FOO] = g_param_spec_int ("foo", "Foo", "The foo",
0, 100,
50,
G_PARAM_READWRITE);
g_object_class_install_property (gobject_class,
PROP_FOO,
properties[PROP_FOO]);
}

and then notify a change on the "foo" property with:

g_object_notify_by_pspec (self, properties[PROP_FOO]);
class ObjectG
void
notifyByPspec

Parameters

pspec ParamSpec

the gobject.ParamSpec of a property installed on the class of object.

Meta

Since

2.26