Blame docs/reference/gio/html/GPermission.html

Packit ae235b
Packit ae235b
<html>
Packit ae235b
<head>
Packit ae235b
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit ae235b
<title>GPermission: GIO Reference Manual</title>
Packit ae235b
<meta name="generator" content="DocBook XSL Stylesheets Vsnapshot">
Packit ae235b
<link rel="home" href="index.html" title="GIO Reference Manual">
Packit ae235b
<link rel="up" href="permissions.html" title="Permissions">
Packit ae235b
<link rel="prev" href="permissions.html" title="Permissions">
Packit ae235b
<link rel="next" href="GSimplePermission.html" title="GSimplePermission">
Packit ae235b
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit ae235b
<link rel="stylesheet" href="style.css" type="text/css">
Packit ae235b
</head>
Packit ae235b
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit ae235b
Packit ae235b
Packit ae235b
Top  | 
Packit ae235b
                  Description  | 
Packit ae235b
                  Object Hierarchy  | 
Packit ae235b
                  Properties
Packit ae235b
Packit ae235b
Home
Packit ae235b
Up
Packit ae235b
Prev
Packit ae235b
Next
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

GPermission

Packit ae235b

GPermission — An object representing the permission

Packit ae235b
    to perform a certain action

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Functions

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_get_allowed ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_get_can_acquire ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_get_can_release ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_acquire ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
void
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_acquire_async ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_acquire_finish ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_release ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
void
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_release_async ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_release_finish ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
void
Packit ae235b
Packit ae235b
Packit ae235b
g_permission_impl_update ()
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Properties

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
allowed
Packit ae235b
Read
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
can-acquire
Packit ae235b
Read
Packit ae235b
Packit ae235b
Packit ae235b
gboolean
Packit ae235b
can-release
Packit ae235b
Read
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Types and Values

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
 
Packit ae235b
GPermission
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Object Hierarchy

Packit ae235b
    GObject
Packit ae235b
    ╰── GPermission
Packit ae235b
        ╰── GSimplePermission
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Includes

Packit ae235b
#include <gio/gio.h>
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Description

Packit ae235b

A GPermission represents the status of the caller's permission to

Packit ae235b
perform a certain action.

Packit ae235b

You can query if the action is currently allowed and if it is

Packit ae235b
possible to acquire the permission so that the action will be allowed
Packit ae235b
in the future.

Packit ae235b

There is also an API to actually acquire the permission and one to

Packit ae235b
release it.

Packit ae235b

As an example, a GPermission might represent the ability for the

Packit ae235b
user to write to a GSettings object.  This GPermission object could
Packit ae235b
then be used to decide if it is appropriate to show a "Click here to
Packit ae235b
unlock" button in a dialog and to provide the mechanism to invoke
Packit ae235b
when that button is clicked.

Packit ae235b
Packit ae235b
Packit ae235b

Functions

Packit ae235b
Packit ae235b

g_permission_get_allowed ()

Packit ae235b
gboolean
Packit ae235b
g_permission_get_allowed (GPermission *permission);
Packit ae235b

Gets the value of the 'allowed' property. This property is TRUE if

Packit ae235b
the caller currently has permission to perform the action that
Packit ae235b
permission
Packit ae235b
 represents the permission to perform.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

the value of the 'allowed' property

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_get_can_acquire ()

Packit ae235b
gboolean
Packit ae235b
g_permission_get_can_acquire (GPermission *permission);
Packit ae235b

Gets the value of the 'can-acquire' property. This property is TRUE

Packit ae235b
if it is generally possible to acquire the permission by calling
Packit ae235b
g_permission_acquire().

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

the value of the 'can-acquire' property

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_get_can_release ()

Packit ae235b
gboolean
Packit ae235b
g_permission_get_can_release (GPermission *permission);
Packit ae235b

Gets the value of the 'can-release' property. This property is TRUE

Packit ae235b
if it is generally possible to release the permission by calling
Packit ae235b
g_permission_release().

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

the value of the 'can-release' property

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_acquire ()

Packit ae235b
gboolean
Packit ae235b
g_permission_acquire (GPermission *permission,
Packit ae235b
                      GCancellable *cancellable,
Packit ae235b
                      GError **error);
Packit ae235b

Attempts to acquire the permission represented by permission

Packit ae235b
.

Packit ae235b

The precise method by which this happens depends on the permission

Packit ae235b
and the underlying authentication mechanism.  A simple example is
Packit ae235b
that a dialog may appear asking the user to enter their password.

Packit ae235b

You should check with g_permission_get_can_acquire() before calling

Packit ae235b
this function.

Packit ae235b

If the permission is acquired then TRUE is returned. Otherwise,

Packit ae235b
FALSE is returned and error
Packit ae235b
 is set appropriately.

Packit ae235b

This call is blocking, likely for a very long time (in the case that

Packit ae235b
user interaction is required).  See g_permission_acquire_async() for
Packit ae235b
the non-blocking version.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

cancellable

Packit ae235b

a GCancellable, or NULL.

Packit ae235b
[nullable]
Packit ae235b
Packit ae235b
Packit ae235b

error

Packit ae235b

a pointer to a NULL GError, or NULL

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

TRUE if the permission was successfully acquired

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_acquire_async ()

Packit ae235b
void
Packit ae235b
g_permission_acquire_async (GPermission *permission,
Packit ae235b
                            GCancellable *cancellable,
Packit ae235b
                            GAsyncReadyCallback callback,
Packit ae235b
                            gpointer user_data);
Packit ae235b

Attempts to acquire the permission represented by permission

Packit ae235b
.

Packit ae235b

This is the first half of the asynchronous version of

Packit ae235b
g_permission_acquire().

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

cancellable

Packit ae235b

a GCancellable, or NULL.

Packit ae235b
[nullable]
Packit ae235b
Packit ae235b
Packit ae235b

callback

Packit ae235b

the GAsyncReadyCallback to call when done

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

user_data

Packit ae235b

the user data to pass to callback

Packit ae235b

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_acquire_finish ()

Packit ae235b
gboolean
Packit ae235b
g_permission_acquire_finish (GPermission *permission,
Packit ae235b
                             GAsyncResult *result,
Packit ae235b
                             GError **error);
Packit ae235b

Collects the result of attempting to acquire the permission

Packit ae235b
represented by permission
Packit ae235b
.

Packit ae235b

This is the second half of the asynchronous version of

Packit ae235b
g_permission_acquire().

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

result

Packit ae235b

the GAsyncResult given to the GAsyncReadyCallback

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

error

Packit ae235b

a pointer to a NULL GError, or NULL

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

TRUE if the permission was successfully acquired

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_release ()

Packit ae235b
gboolean
Packit ae235b
g_permission_release (GPermission *permission,
Packit ae235b
                      GCancellable *cancellable,
Packit ae235b
                      GError **error);
Packit ae235b

Attempts to release the permission represented by permission

Packit ae235b
.

Packit ae235b

The precise method by which this happens depends on the permission

Packit ae235b
and the underlying authentication mechanism.  In most cases the
Packit ae235b
permission will be dropped immediately without further action.

Packit ae235b

You should check with g_permission_get_can_release() before calling

Packit ae235b
this function.

Packit ae235b

If the permission is released then TRUE is returned. Otherwise,

Packit ae235b
FALSE is returned and error
Packit ae235b
 is set appropriately.

Packit ae235b

This call is blocking, likely for a very long time (in the case that

Packit ae235b
user interaction is required).  See g_permission_release_async() for
Packit ae235b
the non-blocking version.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

cancellable

Packit ae235b

a GCancellable, or NULL.

Packit ae235b
[nullable]
Packit ae235b
Packit ae235b
Packit ae235b

error

Packit ae235b

a pointer to a NULL GError, or NULL

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

TRUE if the permission was successfully released

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_release_async ()

Packit ae235b
void
Packit ae235b
g_permission_release_async (GPermission *permission,
Packit ae235b
                            GCancellable *cancellable,
Packit ae235b
                            GAsyncReadyCallback callback,
Packit ae235b
                            gpointer user_data);
Packit ae235b

Attempts to release the permission represented by permission

Packit ae235b
.

Packit ae235b

This is the first half of the asynchronous version of

Packit ae235b
g_permission_release().

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

cancellable

Packit ae235b

a GCancellable, or NULL.

Packit ae235b
[nullable]
Packit ae235b
Packit ae235b
Packit ae235b

callback

Packit ae235b

the GAsyncReadyCallback to call when done

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

user_data

Packit ae235b

the user data to pass to callback

Packit ae235b

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_release_finish ()

Packit ae235b
gboolean
Packit ae235b
g_permission_release_finish (GPermission *permission,
Packit ae235b
                             GAsyncResult *result,
Packit ae235b
                             GError **error);
Packit ae235b

Collects the result of attempting to release the permission

Packit ae235b
represented by permission
Packit ae235b
.

Packit ae235b

This is the second half of the asynchronous version of

Packit ae235b
g_permission_release().

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

result

Packit ae235b

the GAsyncResult given to the GAsyncReadyCallback

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

error

Packit ae235b

a pointer to a NULL GError, or NULL

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Returns

Packit ae235b

TRUE if the permission was successfully released

Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

g_permission_impl_update ()

Packit ae235b
void
Packit ae235b
g_permission_impl_update (GPermission *permission,
Packit ae235b
                          gboolean allowed,
Packit ae235b
                          gboolean can_acquire,
Packit ae235b
                          gboolean can_release);
Packit ae235b

This function is called by the GPermission implementation to update

Packit ae235b
the properties of the permission.  You should never call this
Packit ae235b
function except from a GPermission implementation.

Packit ae235b

GObject notify signals are generated, as appropriate.

Packit ae235b
Packit ae235b

Parameters

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

permission

Packit ae235b

a GPermission instance

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

allowed

Packit ae235b

the new value for the 'allowed' property

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

can_acquire

Packit ae235b

the new value for the 'can-acquire' property

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b

can_release

Packit ae235b

the new value for the 'can-release' property

Packit ae235b
 
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Since: 2.26

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Types and Values

Packit ae235b
Packit ae235b

GPermission

Packit ae235b
typedef struct _GPermission GPermission;
Packit ae235b

GPermission is an opaque data structure and can only be accessed

Packit ae235b
using the following functions.

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Property Details

Packit ae235b
Packit ae235b

The “allowed” property

Packit ae235b
  “allowed”                  gboolean
Packit ae235b

TRUE if the caller currently has permission to perform the action that

Packit ae235b
permission
Packit ae235b
 represents the permission to perform.

Packit ae235b

Flags: Read

Packit ae235b

Default value: FALSE

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

The “can-acquire” property

Packit ae235b
  “can-acquire”              gboolean
Packit ae235b

TRUE if it is generally possible to acquire the permission by calling

Packit ae235b
g_permission_acquire().

Packit ae235b

Flags: Read

Packit ae235b

Default value: FALSE

Packit ae235b
Packit ae235b

Packit ae235b
Packit ae235b

The “can-release” property

Packit ae235b
  “can-release”              gboolean
Packit ae235b

TRUE if it is generally possible to release the permission by calling

Packit ae235b
g_permission_release().

Packit ae235b

Flags: Read

Packit ae235b

Default value: FALSE

Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b
Packit ae235b

Generated by GTK-Doc V1.27
Packit ae235b
</body>
Packit ae235b
</html>