| PolicyKit Reference Manual | ||||
|---|---|---|---|---|
| Top | Description | Object Hierarchy | Signals | ||||
#define POLKIT_BACKEND_AUTHORITY_EXTENSION_POINT_NAME PolkitBackendAuthority; struct PolkitBackendAuthorityClass; const gchar * polkit_backend_authority_get_name (PolkitBackendAuthority *authority); const gchar * polkit_backend_authority_get_version (PolkitBackendAuthority *authority); PolkitAuthorityFeatures polkit_backend_authority_get_features (PolkitBackendAuthority *authority); void polkit_backend_authority_check_authorization (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,const gchar *action_id,PolkitDetails *details,PolkitCheckAuthorizationFlags flags,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); PolkitAuthorizationResult * polkit_backend_authority_check_authorization_finish (PolkitBackendAuthority *authority,GAsyncResult *res,GError **error); gboolean polkit_backend_authority_register_authentication_agent (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,const gchar *locale,const gchar *object_path,GError **error); gboolean polkit_backend_authority_unregister_authentication_agent (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,const gchar *object_path,GError **error); gboolean polkit_backend_authority_authentication_agent_response (PolkitBackendAuthority *authority,PolkitSubject *caller,const gchar *cookie,PolkitIdentity *identity,GError **error); GList * polkit_backend_authority_enumerate_actions (PolkitBackendAuthority *authority,PolkitSubject *caller,const gchar *locale,GError **error); GList * polkit_backend_authority_enumerate_temporary_authorizations (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,GError **error); gboolean polkit_backend_authority_revoke_temporary_authorizations (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,GError **error); gboolean polkit_backend_authority_revoke_temporary_authorization_by_id (PolkitBackendAuthority *authority,PolkitSubject *caller,const gchar *id,GError **error); PolkitBackendAuthority * polkit_backend_authority_get (void); gpointer polkit_backend_authority_register (PolkitBackendAuthority *authority,GDBusConnection *connection,const gchar *object_path,GError **error); void polkit_backend_authority_unregister (gpointer registration_id);
To implement an authority backend, simply subclass PolkitBackendAuthority and implement the required VFuncs.
#define POLKIT_BACKEND_AUTHORITY_EXTENSION_POINT_NAME "polkit-backend-authority-1"
Extension point name for authority backend implementations.
typedef struct _PolkitBackendAuthority PolkitBackendAuthority;
The PolkitBackendAuthority struct should not be accessed directly.
struct PolkitBackendAuthorityClass {
GObjectClass parent_class;
/* Signals */
void (*changed) (PolkitBackendAuthority *authority);
/* VTable */
const gchar *(*get_name) (PolkitBackendAuthority *authority);
const gchar *(*get_version) (PolkitBackendAuthority *authority);
PolkitAuthorityFeatures (*get_features) (PolkitBackendAuthority *authority);
GList *(*enumerate_actions) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
const gchar *locale,
GError **error);
void (*check_authorization) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
const gchar *action_id,
PolkitDetails *details,
PolkitCheckAuthorizationFlags flags,
GCancellable *cancellable,
GAsyncReadyCallback callback,
gpointer user_data);
PolkitAuthorizationResult * (*check_authorization_finish) (PolkitBackendAuthority *authority,
GAsyncResult *res,
GError **error);
gboolean (*register_authentication_agent) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
const gchar *locale,
const gchar *object_path,
GError **error);
gboolean (*unregister_authentication_agent) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
const gchar *object_path,
GError **error);
gboolean (*authentication_agent_response) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
const gchar *cookie,
PolkitIdentity *identity,
GError **error);
GList *(*enumerate_temporary_authorizations) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
GError **error);
gboolean (*revoke_temporary_authorizations) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
PolkitSubject *subject,
GError **error);
gboolean (*revoke_temporary_authorization_by_id) (PolkitBackendAuthority *authority,
PolkitSubject *caller,
const gchar *id,
GError **error);
};
Class structure for PolkitBackendAuthority.
GObjectClass |
The parent class. |
| Function pointer for "changed" signal. | |
Function pointer for the polkit_backend_authority_get_name() function. |
|
Function pointer for the polkit_backend_authority_get_version() function. |
|
Function pointer for the polkit_backend_authority_get_features() function. |
|
Enumerates registered actions on the
system. See polkit_backend_authority_enumerate_actions() for
details. |
|
Called to initiate an asynchronous
authorization check. See
polkit_backend_authority_check_authorization() for details. |
|
Called when finishing an authorization
check. See polkit_backend_authority_check_authorization_finish()
for details. |
|
Called when an authentication agent
is attempting to register or NULL if the backend doesn't support
the operation. See
polkit_backend_authority_register_authentication_agent() for
details. |
|
Called when an authentication
agent is attempting to unregister or NULL if the backend doesn't
support the operation. See
polkit_backend_authority_unregister_authentication_agent() for
details. |
|
Called by an authentication agent
when the user successfully authenticates or NULL if the backend
doesn't support the operation. See
polkit_backend_authority_authentication_agent_response() for
details. |
|
Called to enumerate temporary
authorizations or NULL if the backend doesn't support the operation.
See polkit_backend_authority_enumerate_temporary_authorizations()
for details. |
|
Called to revoke temporary
authorizations or NULL if the backend doesn't support the operation.
See polkit_backend_authority_revoke_temporary_authorizations()
for details. |
|
Called to revoke a temporary
authorization identified by id or NULL if the backend doesn't support
the operation. See polkit_backend_authority_revoke_temporary_authorization_by_id()
for details. |
const gchar * polkit_backend_authority_get_name (PolkitBackendAuthority *authority);
Gets the name of the authority backend.
|
A PolkitBackendAuthority. |
Returns : |
The name of the backend. |
const gchar * polkit_backend_authority_get_version
(PolkitBackendAuthority *authority);
Gets the version of the authority backend.
|
A PolkitBackendAuthority. |
Returns : |
The name of the backend. |
PolkitAuthorityFeatures polkit_backend_authority_get_features
(PolkitBackendAuthority *authority);
Gets the features supported by the authority backend.
|
A PolkitBackendAuthority. |
Returns : |
Flags from PolkitAuthorityFeatures. |
void polkit_backend_authority_check_authorization (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,const gchar *action_id,PolkitDetails *details,PolkitCheckAuthorizationFlags flags,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
Asynchronously checks if subject is authorized to perform the action represented
by action_id.
When the operation is finished, callback will be invoked. You can then
call polkit_backend_authority_check_authorization_finish() to get the result of
the operation.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
A PolkitSubject. |
|
The action to check for. |
|
Details about the action or NULL. |
|
A set of PolkitCheckAuthorizationFlags. |
|
A GCancellable. |
|
A GAsyncReadyCallback to call when the request is satisfied. |
|
The data to pass to callback. |
PolkitAuthorizationResult * polkit_backend_authority_check_authorization_finish (PolkitBackendAuthority *authority,GAsyncResult *res,GError **error);
Finishes checking if a subject is authorized for an action.
|
A PolkitBackendAuthority. |
|
A GAsyncResult obtained from the callback. |
|
Return location for error or NULL. |
Returns : |
A PolkitAuthorizationResult or NULL if error is set. Free with g_object_unref(). |
gboolean polkit_backend_authority_register_authentication_agent (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,const gchar *locale,const gchar *object_path,GError **error);
Registers an authentication agent.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The subject the authentication agent wants to register for. |
|
The locale of the authentication agent. |
|
The object path for the authentication agent. |
|
Return location for error or NULL. |
Returns : |
TRUE if the authentication agent was successfully registered, FALSE if error is set. |
gboolean polkit_backend_authority_unregister_authentication_agent (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,const gchar *object_path,GError **error);
Unregisters an authentication agent.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The subject the agent claims to be registered at. |
|
The object path that the authentication agent is registered at. |
|
Return location for error or NULL. |
Returns : |
TRUE if the authentication agent was successfully unregistered, FALSE if error is set. |
gboolean polkit_backend_authority_authentication_agent_response (PolkitBackendAuthority *authority,PolkitSubject *caller,const gchar *cookie,PolkitIdentity *identity,GError **error);
Provide response that identity successfully authenticated for the
authentication request identified by cookie.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The cookie passed to the authentication agent from the authority. |
|
The identity that was authenticated. |
|
Return location for error or NULL. |
Returns : |
TRUE if authority acknowledged the call, FALSE if error is set. |
GList * polkit_backend_authority_enumerate_actions (PolkitBackendAuthority *authority,PolkitSubject *caller,const gchar *locale,GError **error);
Retrieves all registered actions.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The locale to retrieve descriptions for. |
|
Return location for error or NULL. |
Returns : |
A list of PolkitActionDescription objects or NULL if error is set. The returned list
should be freed with g_list_free() after each element have been freed with g_object_unref(). |
GList * polkit_backend_authority_enumerate_temporary_authorizations (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,GError **error);
Gets temporary authorizations for subject.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The subject to get temporary authorizations for. |
|
Return location for error. |
Returns : |
A list of PolkitTemporaryAuthorization objects or NULL if error is set. The returned list
should be freed with g_list_free() after each element have been freed with g_object_unref(). |
gboolean polkit_backend_authority_revoke_temporary_authorizations (PolkitBackendAuthority *authority,PolkitSubject *caller,PolkitSubject *subject,GError **error);
Revokes temporary authorizations for subject.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The subject to revoke temporary authorizations for. |
|
Return location for error. |
Returns : |
TRUE if the operation succeeded, FALSE if error is set. |
gboolean polkit_backend_authority_revoke_temporary_authorization_by_id (PolkitBackendAuthority *authority,PolkitSubject *caller,const gchar *id,GError **error);
Revokes a temporary authorizations with opaque identifier id.
|
A PolkitBackendAuthority. |
|
The system bus name that initiated the query. |
|
The opaque identifier of the temporary authorization. |
|
Return location for error. |
Returns : |
TRUE if the operation succeeded, FALSE if error is set. |
PolkitBackendAuthority * polkit_backend_authority_get (void);
Loads all GIOModules from $(libdir)/polkit-1/extensions to determine
what implementation of PolkitBackendAuthority to use. Then instantiates an object of the
implementation with the highest priority and unloads all other modules.
Returns : |
A PolkitBackendAuthority. Free with g_object_unref(). |
gpointer polkit_backend_authority_register (PolkitBackendAuthority *authority,GDBusConnection *connection,const gchar *object_path,GError **error);
Registers authority on a GDBusConnection.
|
The GDBusConnection to register the authority on. |
|
A PolkitBackendAuthority. |
|
Object path of the authority. |
|
Return location for error. |
Returns : |
A gpointer that can be used with polkit_backend_authority_unregister() or NULL if error is set. |
void polkit_backend_authority_unregister (gpointer registration_id);
Unregisters a PolkitBackendAuthority registered with polkit_backend_authority_register().
|
A gpointer obtained from polkit_backend_authority_register(). |
"changed" signalvoid user_function (PolkitBackendAuthority *authority,
gpointer user_data) : Run Last
Emitted when actions and/or authorizations change.
|
A PolkitBackendAuthority. |
|
user data set when the signal handler was connected. |