+ permission->priv = g_permission_get_instance_private (permission);
+}
+
+static gboolean
+acquire_or_release (GPermission *permission,
+ GCancellable *cancellable,
+ GError **error)
+{
+ g_set_error_literal (error,
+ G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+ "Can't acquire or release permission");
+ return FALSE;
+}
+
+static void
+acquire_or_release_async (GPermission *permission,
+ GCancellable *cancellable,
+ GAsyncReadyCallback callback,
+ gpointer user_data)
+{
+ g_simple_async_report_error_in_idle (G_OBJECT (permission),
+ callback, user_data,
+ G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
+ "Can't acquire or release permission");
+}
+
+static gboolean
+acquire_or_release_finish (GPermission *permission,
+ GAsyncResult *result,
+ GError **error)
+{
+ g_async_result_legacy_propagate_error (result, error);
+ return FALSE;