Interface

Goa-1.0GoaPasswordBasedSkeletonSignalSignatures

interface SignalSignatures {
    "g-authorize-method": (arg0: Gio.DBusMethodInvocation) => boolean | void;
    notify: (arg0: GObject.ParamSpec) => void;
    "notify::g-flags": (pspec: GObject.ParamSpec) => void;
}

Hierarchy (View Summary)

Index

Properties

Properties - Inherited from Gio

Properties

"notify::g-flags": (pspec: GObject.ParamSpec) => void

Properties - Inherited from Gio

"g-authorize-method": (arg0: Gio.DBusMethodInvocation) => boolean | void

Emitted when a method is invoked by a remote caller and used to determine if the method call is authorized.

Note that this signal is emitted in a thread dedicated to handling the method call so handlers are allowed to perform blocking IO. This means that it is appropriate to call e.g. polkit_authority_check_authorization_sync() with the POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION flag set.

If false is returned then no further handlers are run and the signal handler must take a reference to invocation and finish handling the call (e.g. return an error via g_dbus_method_invocation_return_error()).

Otherwise, if true is returned, signal emission continues. If no handlers return false, then the method is dispatched. If interface has an enclosing Gio.DBusObjectSkeleton, then the Gio.DBusObjectSkeleton.SignalSignatures.authorize_method | Gio.DBusObjectSkeleton::authorize-method signal handlers run before the handlers for this signal.

The default class handler just returns true.

Please note that the common case is optimized: if no signals handlers are connected and the default class handler isn't overridden (for both interface and the enclosing Gio.DBusObjectSkeleton, if any) and Gio.DBusInterfaceSkeleton.g_flags does not have the Gio.DBusInterfaceSkeletonFlags.HANDLE_METHOD_INVOCATIONS_IN_THREAD flags set, no dedicated thread is ever used and the call will be handled in the same thread as the object that interface belongs to was exported in.

2.30

notify: (arg0: GObject.ParamSpec) => void

The notify signal is emitted on an object when one of its properties has its value set through g_object_set_property(), g_object_set(), et al.

Note that getting this signal doesn’t itself guarantee that the value of the property has actually changed. When it is emitted is determined by the derived GObject class. If the implementor did not create the property with GObject.ParamFlags.EXPLICIT_NOTIFY, then any call to g_object_set_property() results in ::notify being emitted, even if the new value is the same as the old. If they did pass GObject.ParamFlags.EXPLICIT_NOTIFY, then this signal is emitted only when they explicitly call g_object_notify() or g_object_notify_by_pspec(), and common practice is to do that only when the value has actually changed.

This signal is typically used to obtain change notification for a single property, by specifying the property name as a detail in the g_signal_connect() call, like this:

g_signal_connect (text_view->buffer, "notify::paste-target-list",
G_CALLBACK (gtk_text_view_target_list_notify),
text_view)

It is important to note that you must use [canonical parameter names][class@GObject.ParamSpec#parameter-names] as detail strings for the notify signal.