GioPermission

说明 [src]

abstract class Gio.Permission : GObject.Object
{
  /* No available fields */
}

GPermission 表示调用者执行特定 操作的权限状态。

你可以查询操作是否当前允许以及是否有可能获取权限,这样将来允许该操作。

还有一个 API 用于实际获取权限并释放它。

作为示例,GPermission 可能表示用户对 GSettings 对象进行写入的能力。这个 GPermission 对象随后可用于确定是否适合在对话框中显示“点击此处解锁”按钮,以及在点击该按钮时调用哪种 机制。

祖先

实例方法

g_permission_acquire

尝试获取 permission 表示的权限。

自:2.26

g_permission_acquire_async

尝试获取 permission 表示的权限。

自:2.26

g_permission_acquire_finish

收集尝试获取 permission 表示的权限的结果。

自:2.26

g_permission_get_allowed

获取 'allowed' 属性的值。如果调用者当前有权限执行 permission 表示有权执行的操作,则此属性为 TRUE

自:2.26

g_permission_get_can_acquire

获取 'can-acquire' 属性的值。如果通过调用 g_permission_acquire() 获取权限通常是可能的话,此属性为 TRUE

自:2.26

g_permission_get_can_release

获取 'can-release' 属性的值。如果通过调用 g_permission_release() 释放权限通常是可能的话,此属性为 TRUE

自:2.26

g_permission_impl_update

此函数由 GPermission 实现调用,以更新权限的属性。你永远不要调用此函数,除非 GPermission 实现。

自:2.26

g_permission_release

尝试释放 permission 表示的权限。

自:2.26

g_permission_release_async

尝试释放 permission 表示的权限。

自:2.26

g_permission_release_finish

收集尝试释放 permission 表示的权限的结果。

自:2.26

GObject (43)继承的方法

有关方法的完整列表,请参阅GObject

属性

Gio.Permission:allowed

如果调用方当前有权执行权限为执行权限 permission 的操作,则为 TRUE

Gio.Permission:can-acquire

如果通常可以通过调用 g_permission_acquire() 获取权限,则为 TRUE

Gio.Permission:can-release

如果通常可以通过调用 g_permission_release() 放弃权限,则为 TRUE

信号

GObject (1) 继承的信号
GObject::notify

当对象的其中一个属性通过 g_object_set_property()、g_object_set() 等设置值时,该对象上会发送此通知信号。

类结构

struct GioPermissionClass {
  GObjectClass parent_class;
  gboolean (* acquire) (
    GPermission* permission,
    GCancellable* cancellable,
    GError** error
  );
  void (* acquire_async) (
    GPermission* permission,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* acquire_finish) (
    GPermission* permission,
    GAsyncResult* result,
    GError** error
  );
  gboolean (* release) (
    GPermission* permission,
    GCancellable* cancellable,
    GError** error
  );
  void (* release_async) (
    GPermission* permission,
    GCancellable* cancellable,
    GAsyncReadyCallback callback,
    gpointer user_data
  );
  gboolean (* release_finish) (
    GPermission* permission,
    GAsyncResult* result,
    GError** error
  );
  None reserved;
  
}

没有可用的说明。

类成员
parent_class: GObjectClass

没有可用的说明。

acquire: gboolean (* acquire) ( GPermission* permission, GCancellable* cancellable, GError** error )

没有可用的说明。

acquire_async: void (* acquire_async) ( GPermission* permission, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )

没有可用的说明。

acquire_finish: gboolean (* acquire_finish) ( GPermission* permission, GAsyncResult* result, GError** error )

没有可用的说明。

release: gboolean (* release) ( GPermission* permission, GCancellable* cancellable, GError** error )

没有可用的说明。

release_async: void (* release_async) ( GPermission* permission, GCancellable* cancellable, GAsyncReadyCallback callback, gpointer user_data )

没有可用的说明。

release_finish: gboolean (* release_finish) ( GPermission* permission, GAsyncResult* result, GError** error )

没有可用的说明。

reserved: None

没有可用的说明。

虚拟方法

Gio.PermissionClass.acquire

尝试获取 permission 表示的权限。

自:2.26

Gio.PermissionClass.acquire_async

尝试获取 permission 表示的权限。

自:2.26

Gio.PermissionClass.acquire_finish

收集尝试获取 permission 表示的权限的结果。

自:2.26

Gio.PermissionClass.release

尝试释放 permission 表示的权限。

自:2.26

Gio.PermissionClass.release_async

尝试释放 permission 表示的权限。

自:2.26

Gio.PermissionClass.release_finish

收集尝试释放 permission 表示的权限的结果。

自:2.26