Interface DBusInterfaceSkeleton.GAuthorizeMethodCallback

All Superinterfaces:
FunctionPointer
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.

@FunctionalInterface public static interface DBusInterfaceSkeleton.GAuthorizeMethodCallback extends FunctionPointer

Functional interface declaration of the GAuthorizeMethodCallback callback.

Since:
2.30
See Also:
  • Method Details

    • run

      boolean run(@Nullable DBusMethodInvocation invocation)

      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 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 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.

      Since:
      2.30
    • upcall

      default int upcall(MemorySegment sourceDBusInterfaceSkeleton, MemorySegment invocation)
      The upcall method is called from native code. The parameters are marshaled and run(DBusMethodInvocation) is executed.
    • toCallback

      default MemorySegment toCallback(Arena arena)
      Creates a native function pointer to the upcall(MemorySegment, MemorySegment) method.
      Specified by:
      toCallback in interface FunctionPointer
      Parameters:
      arena - the arena in which the function pointer is allocated
      Returns:
      the native function pointer