/* LIBPIKA - The PIKA Library * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball * * pikaresource_pdb.c * * 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 3 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 * . */ /* NOTE: This file is auto-generated by pdbgen.pl */ #include "config.h" #include "stamp-pdbgen.h" #include "pika.h" /** * SECTION: pikaresource * @title: pikaresource * @short_description: Functions to manipulate resources. * * Functions to manipulate resources. **/ /** * _pika_resource_get_by_name: * @type_name: The name of the resource type. * @resource_name: The name of the resource. * * Returns a resource with the given name. * * Returns a resource with the given name. * * Returns: (transfer none): The resource. * * Since: 3.0 **/ PikaResource * _pika_resource_get_by_name (const gchar *type_name, const gchar *resource_name) { PikaValueArray *args; PikaValueArray *return_vals; PikaResource *resource = NULL; args = pika_value_array_new_from_types (NULL, G_TYPE_STRING, type_name, G_TYPE_STRING, resource_name, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-get-by-name", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) resource = PIKA_VALUES_GET_RESOURCE (return_vals, 1); pika_value_array_unref (return_vals); return resource; } /** * _pika_resource_get_by_identifiers: * @type_name: The name of the resource type. * @resource_name: The name of the resource. * @collection: The collection identifier. * @is_internal: Whether this is the identifier for internal data. * * Returns the resource contained in a given file with a given name. * * Returns a resource specifically stored in a given file path, under a * given name (a single path may be a collection containing several * resources). * * Returns: (transfer none): The resource. * * Since: 3.0 **/ PikaResource * _pika_resource_get_by_identifiers (const gchar *type_name, const gchar *resource_name, const gchar *collection, gboolean is_internal) { PikaValueArray *args; PikaValueArray *return_vals; PikaResource *resource = NULL; args = pika_value_array_new_from_types (NULL, G_TYPE_STRING, type_name, G_TYPE_STRING, resource_name, G_TYPE_STRING, collection, G_TYPE_BOOLEAN, is_internal, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-get-by-identifiers", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) resource = PIKA_VALUES_GET_RESOURCE (return_vals, 1); pika_value_array_unref (return_vals); return resource; } /** * pika_resource_id_is_valid: * @resource_id: The resource ID to check. * * Returns TRUE if the resource ID is valid. * * This procedure checks if the given resource ID is valid and refers * to an existing resource. * * Returns: Whether the resource ID is valid. * * Since: 3.0 **/ gboolean pika_resource_id_is_valid (gint resource_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean valid = FALSE; args = pika_value_array_new_from_types (NULL, G_TYPE_INT, resource_id, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-id-is-valid", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) valid = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return valid; } /** * pika_resource_id_is_brush: * @resource_id: The resource ID. * * Returns whether the resource ID is a brush. * * This procedure returns TRUE if the specified resource ID is a brush. * * Returns: TRUE if the resource ID is a brush, FALSE otherwise. * * Since: 3.0 **/ gboolean pika_resource_id_is_brush (gint resource_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean brush = FALSE; args = pika_value_array_new_from_types (NULL, G_TYPE_INT, resource_id, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-id-is-brush", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) brush = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return brush; } /** * pika_resource_id_is_pattern: * @resource_id: The resource ID. * * Returns whether the resource ID is a pattern. * * This procedure returns TRUE if the specified resource ID is a * pattern. * * Returns: TRUE if the resource ID is a pattern, FALSE otherwise. * * Since: 3.0 **/ gboolean pika_resource_id_is_pattern (gint resource_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean pattern = FALSE; args = pika_value_array_new_from_types (NULL, G_TYPE_INT, resource_id, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-id-is-pattern", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) pattern = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return pattern; } /** * pika_resource_id_is_gradient: * @resource_id: The resource ID. * * Returns whether the resource ID is a gradient. * * This procedure returns TRUE if the specified resource ID is a * gradient. * * Returns: TRUE if the resource ID is a gradient, FALSE otherwise. * * Since: 3.0 **/ gboolean pika_resource_id_is_gradient (gint resource_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean gradient = FALSE; args = pika_value_array_new_from_types (NULL, G_TYPE_INT, resource_id, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-id-is-gradient", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) gradient = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return gradient; } /** * pika_resource_id_is_palette: * @resource_id: The resource ID. * * Returns whether the resource ID is a palette. * * This procedure returns TRUE if the specified resource ID is a * palette. * * Returns: TRUE if the resource ID is a palette, FALSE otherwise. * * Since: 3.0 **/ gboolean pika_resource_id_is_palette (gint resource_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean palette = FALSE; args = pika_value_array_new_from_types (NULL, G_TYPE_INT, resource_id, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-id-is-palette", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) palette = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return palette; } /** * pika_resource_id_is_font: * @resource_id: The resource ID. * * Returns whether the resource ID is a font. * * This procedure returns TRUE if the specified resource ID is a font. * * Returns: TRUE if the resource ID is a font, FALSE otherwise. * * Since: 3.0 **/ gboolean pika_resource_id_is_font (gint resource_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean font = FALSE; args = pika_value_array_new_from_types (NULL, G_TYPE_INT, resource_id, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-id-is-font", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) font = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return font; } /** * pika_resource_get_name: * @resource: The resource. * * Returns the resource's name. * * This procedure returns the resource's name. * * Returns: (transfer full): The resource's name. * The returned value must be freed with g_free(). * * Since: 3.0 **/ gchar * pika_resource_get_name (PikaResource *resource) { PikaValueArray *args; PikaValueArray *return_vals; gchar *name = NULL; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_RESOURCE, resource, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-get-name", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) name = PIKA_VALUES_DUP_STRING (return_vals, 1); pika_value_array_unref (return_vals); return name; } /** * _pika_resource_get_identifiers: * @resource: The resource. * @name: (out) (transfer full): The resource's name. * @collection_id: (out) (transfer full): The resource's collection identifier. * * Returns a triplet identifying the resource. * * This procedure returns 2 strings and a boolean. The first string is * the resource name, similar to what you would obtain calling * pika_resource_get_name(). The second is an opaque identifier for the * collection this resource belongs to. * Note: as far as PIKA is concerned, a collection of resource usually * corresponds to a single file on disk (which may or may not contain * several resources). Therefore the identifier may be derived from the * local file path. Nevertheless you should not use this string as such * as this is not guaranteed to be always the case. You should consider * it as an opaque identifier only to be used again through * _pika_resource_get_by_identifier(). * * Returns: Whether this is the identifier for internal data. * * Since: 3.0 **/ gboolean _pika_resource_get_identifiers (PikaResource *resource, gchar **name, gchar **collection_id) { PikaValueArray *args; PikaValueArray *return_vals; gboolean is_internal = FALSE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_RESOURCE, resource, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-get-identifiers", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) { is_internal = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); *name = PIKA_VALUES_DUP_STRING (return_vals, 2); *collection_id = PIKA_VALUES_DUP_STRING (return_vals, 3); } pika_value_array_unref (return_vals); return is_internal; } /** * pika_resource_is_editable: * @resource: The resource. * * Whether the resource can be edited. * * Returns TRUE if you have permission to change the resource. * * Returns: TRUE if the resource can be edited. * * Since: 3.0 **/ gboolean pika_resource_is_editable (PikaResource *resource) { PikaValueArray *args; PikaValueArray *return_vals; gboolean editable = FALSE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_RESOURCE, resource, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-is-editable", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) editable = PIKA_VALUES_GET_BOOLEAN (return_vals, 1); pika_value_array_unref (return_vals); return editable; } /** * pika_resource_duplicate: * @resource: The resource. * * Duplicates a resource. * * Returns a copy having a different, unique ID. * * Returns: (transfer none): A copy of the resource. * * Since: 3.0 **/ PikaResource * pika_resource_duplicate (PikaResource *resource) { PikaValueArray *args; PikaValueArray *return_vals; PikaResource *resource_copy = NULL; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_RESOURCE, resource, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-duplicate", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) resource_copy = PIKA_VALUES_GET_RESOURCE (return_vals, 1); pika_value_array_unref (return_vals); return resource_copy; } /** * pika_resource_rename: * @resource: The resource. * @new_name: The proposed new name of the resource. * * Renames a resource. When the name is in use, renames to a unique * name. * * Renames a resource. When the proposed name is already used, PIKA * generates a unique name. * * Returns: TRUE on success. * * Since: 3.0 **/ gboolean pika_resource_rename (PikaResource *resource, const gchar *new_name) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_RESOURCE, resource, G_TYPE_STRING, new_name, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-rename", args); pika_value_array_unref (args); success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS; pika_value_array_unref (return_vals); return success; } /** * pika_resource_delete: * @resource: The resource. * * Deletes a resource. * * Deletes a resource. Returns an error if the resource is not * deletable. Deletes the resource's data. You should not use the * resource afterwards. * * Returns: TRUE on success. * * Since: 3.0 **/ gboolean pika_resource_delete (PikaResource *resource) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_RESOURCE, resource, G_TYPE_NONE); return_vals = _pika_pdb_run_procedure_array (pika_get_pdb (), "pika-resource-delete", args); pika_value_array_unref (args); success = PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS; pika_value_array_unref (return_vals); return success; }