Method
GObjectObjectnotify_by_pspec
since: 2.26
Declaration [src]
void
g_object_notify_by_pspec (
GObject* object,
GParamSpec* pspec
)
Description [src]
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
g_object_class_install_property()
inside a static array, e.g.:
typedef enum
{
PROP_FOO = 1,
PROP_LAST
} MyObjectProperty;
static GParamSpec *properties[PROP_LAST];
static void
my_object_class_init (MyObjectClass *klass)
{
properties[PROP_FOO] = g_param_spec_int ("foo", NULL, NULL,
0, 100,
50,
G_PARAM_READWRITE | G_PARAM_STATIC_STRINGS);
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]);
Available since: 2.26
Parameters
pspec
-
Type:
GParamSpec
The
GParamSpec
of a property installed on the class ofobject
.The data is owned by the caller of the method.