PolkitBackendInteractiveAuthority

PolkitBackendInteractiveAuthority — Interactive Authority

Stability Level

Unstable, unless otherwise indicated

Synopsis

                    PolkitBackendInteractiveAuthority;
                    PolkitBackendInteractiveAuthorityClass;
GList *             polkit_backend_interactive_authority_get_admin_identities
                                                        (PolkitBackendInteractiveAuthority *authority,
                                                         PolkitSubject *caller,
                                                         PolkitSubject *subject,
                                                         PolkitIdentity *user_for_subject,
                                                         const gchar *action_id,
                                                         PolkitDetails *details);
PolkitImplicitAuthorization  polkit_backend_interactive_authority_check_authorization_sync
                                                        (PolkitBackendInteractiveAuthority *authority,
                                                         PolkitSubject *caller,
                                                         PolkitSubject *subject,
                                                         PolkitIdentity *user_for_subject,
                                                         gboolean subject_is_local,
                                                         gboolean subject_is_active,
                                                         const gchar *action_id,
                                                         PolkitDetails *details,
                                                         PolkitImplicitAuthorization implicit);

Object Hierarchy

  GObject
   +----PolkitBackendAuthority
         +----PolkitBackendInteractiveAuthority
               +----PolkitBackendLocalAuthority

Description

An subclass of PolkitBackendAuthority that supports interaction with authentication agents.

Details

PolkitBackendInteractiveAuthority

typedef struct _PolkitBackendInteractiveAuthority PolkitBackendInteractiveAuthority;

The PolkitBackendInteractiveAuthority struct should not be accessed directly.


PolkitBackendInteractiveAuthorityClass

typedef struct {
  PolkitBackendAuthorityClass parent_class;

  /* VTable */
  GList *                     (*get_admin_identities)          (PolkitBackendInteractiveAuthority *authority,
                                                                PolkitSubject                     *caller,
                                                                PolkitSubject                     *subject,
                                                                PolkitIdentity                    *user_for_subject,
                                                                const gchar                       *action_id,
                                                                PolkitDetails                     *details);

  PolkitImplicitAuthorization (*check_authorization_sync) (PolkitBackendInteractiveAuthority *authority,
                                                           PolkitSubject                     *caller,
                                                           PolkitSubject                     *subject,
                                                           PolkitIdentity                    *user_for_subject,
                                                           gboolean                           subject_is_local,
                                                           gboolean                           subject_is_active,
                                                           const gchar                       *action_id,
                                                           PolkitDetails                     *details,
                                                           PolkitImplicitAuthorization        implicit);
} PolkitBackendInteractiveAuthorityClass;

Class structure for PolkitBackendInteractiveAuthority.

PolkitBackendAuthorityClass parent_class;

The parent class.

get_admin_identities ()

Returns list of identities for administrator authentication or NULL to use the default implementation. See polkit_backend_interactive_authority_get_admin_identities() for details.

check_authorization_sync ()

Checks for an authorization or NULL to use the default implementation. See polkit_backend_interactive_authority_check_authorization_sync() for details.

polkit_backend_interactive_authority_get_admin_identities ()

GList *             polkit_backend_interactive_authority_get_admin_identities
                                                        (PolkitBackendInteractiveAuthority *authority,
                                                         PolkitSubject *caller,
                                                         PolkitSubject *subject,
                                                         PolkitIdentity *user_for_subject,
                                                         const gchar *action_id,
                                                         PolkitDetails *details);

Gets a list of identities to use for administrator authentication.

The default implementation returns a list with a single element for the super user.

authority :

A PolkitBackendInteractiveAuthority.

caller :

The subject that is inquiring whether subject is authorized.

subject :

The subject we are about to authenticate for.

user_for_subject :

The user of the subject we are about to authenticate for.

action_id :

The action we are about to authenticate for.

details :

Details about the action.

Returns :

A list of PolkitIdentities. Free each element g_object_unref(), then free the list with g_list_free().

polkit_backend_interactive_authority_check_authorization_sync ()

PolkitImplicitAuthorization  polkit_backend_interactive_authority_check_authorization_sync
                                                        (PolkitBackendInteractiveAuthority *authority,
                                                         PolkitSubject *caller,
                                                         PolkitSubject *subject,
                                                         PolkitIdentity *user_for_subject,
                                                         gboolean subject_is_local,
                                                         gboolean subject_is_active,
                                                         const gchar *action_id,
                                                         PolkitDetails *details,
                                                         PolkitImplicitAuthorization implicit);

Checks whether subject is authorized to perform the action specified by action_id and details.

The default implementation of this method simply returns implicit.

authority :

A PolkitBackendInteractiveAuthority.

caller :

The subject that is inquiring whether subject is authorized.

subject :

The subject we are checking an authorization for.

user_for_subject :

The user of the subject we are checking an authorization for.

subject_is_local :

TRUE if the session for subject is local.

subject_is_active :

TRUE if the session for subject is active.

action_id :

The action we are checking an authorization for.

details :

Details about the action.

implicit :

A PolkitImplicitAuthorization value computed from the policy file and subject.

Returns :

A PolkitImplicitAuthorization that specifies if the subject is authorized or whether authentication is required.