glib/gio/gsimplepermission.c
Philip Withnall 0b0179678a docs: Move the GSimplePermission SECTION
Move it to the struct docs.

Signed-off-by: Philip Withnall <philip@tecnocode.co.uk>

Helps: #3037
2023-10-24 10:58:56 +01:00

78 lines
2.0 KiB
C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/*
* Copyright © 2010 Codethink Limited
*
* SPDX-License-Identifier: LGPL-2.1-or-later
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, see <http://www.gnu.org/licenses/>.
*
* Author: Ryan Lortie <desrt@desrt.ca>
*/
#include "config.h"
#include "gsimplepermission.h"
#include "gpermission.h"
/**
* GSimplePermission:
*
* `GSimplePermission` is a trivial implementation of [class@Gio.Permission]
* that represents a permission that is either always or never allowed. The
* value is given at construction and doesnt change.
*
* Calling [method@Gio.Permission.acquire] or [method@Gio.Permission.release]
* on a `GSimplePermission` will result in errors.
**/
typedef GPermissionClass GSimplePermissionClass;
struct _GSimplePermission
{
GPermission parent_instance;
};
G_DEFINE_TYPE (GSimplePermission, g_simple_permission, G_TYPE_PERMISSION)
static void
g_simple_permission_init (GSimplePermission *simple)
{
}
static void
g_simple_permission_class_init (GSimplePermissionClass *class)
{
}
/**
* g_simple_permission_new:
* @allowed: %TRUE if the action is allowed
*
* Creates a new #GPermission instance that represents an action that is
* either always or never allowed.
*
* Returns: the #GSimplePermission, as a #GPermission
*
* Since: 2.26
**/
GPermission *
g_simple_permission_new (gboolean allowed)
{
GPermission *permission = g_object_new (G_TYPE_SIMPLE_PERMISSION, NULL);
g_permission_impl_update (permission, allowed, FALSE, FALSE);
return permission;
}