Package ch.bailu.gtk.gio
Interface DBusInterfaceSkeleton.OnGAuthorizeMethod
- Enclosing class:
- DBusInterfaceSkeleton
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
-
Method Summary
Modifier and TypeMethodDescriptionboolean
onGAuthorizeMethod
(DBusMethodInvocation invocation) Emitted when a method is invoked by a remote caller and used to
determine if the method call is authorized.
-
Method Details
-
onGAuthorizeMethod
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()](http://hal.freedesktop.org/docs/polkit/PolkitAuthority.html#polkit-authority-check-authorization-sync)
with the
[POLKIT_CHECK_AUTHORIZATION_FLAGS_ALLOW_USER_INTERACTION](http://hal.freedesktop.org/docs/polkit/PolkitAuthority.html#POLKIT-CHECK-AUTHORIZATION-FLAGS-ALLOW-USER-INTERACTION:CAPS)
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 #GDBusObjectSkeleton, then the
#GDBusObjectSkeleton::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
#GDBusObjectSkeleton, if any) and #GDBusInterfaceSkeleton:g-flags does
not have the
%G_DBUS_INTERFACE_SKELETON_FLAGS_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.- Parameters:
invocation
- A #GDBusMethodInvocation.- Returns:
- %TRUE if the call is authorized, %FALSE otherwise.
-