### Signal

# Gio DBusInterfaceSkeleton::g-authorize-method

since: 2.30

#### Declaration

    gboolean
    g_authorize_method (
      GDBusInterfaceSkeleton* self,
      GDBusMethodInvocation* invocation,
      gpointer user_data
    )

#### Description

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

Default handler: The default handler is called after the handlers added via `g_signal_connect()`.
Available since: 2.30

#### Parameters

`invocation`

  Type: `GDBusMethodInvocation`

  A `GDBusMethodInvocation`.

  The data is owned by the caller of the function.

#### Return value

Type: `gboolean`

`TRUE` if the call is authorized, `FALSE` otherwise.