/* LIBPIKA - The PIKA Library * Copyright (C) 1995-2003 Peter Mattis and Spencer Kimball * * pika_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: pika * @title: pika * @short_description: Main functions needed for building a PIKA plug-in. * * Main functions needed for building a PIKA plug-in. * This header includes all other PIKA Library headers. * * Also contains some miscellaneous procedures that don't fit in any * other category. **/ /** * pika_version: * * Returns the host PIKA version. * * This procedure returns the version number of the currently running * PIKA. * * Returns: (transfer full): PIKA version number. * The returned value must be freed with g_free(). **/ gchar * pika_version (void) { PikaValueArray *args; PikaValueArray *return_vals; gchar *version = NULL; args = pika_value_array_new_from_types (NULL, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-version", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) version = PIKA_VALUES_DUP_STRING (return_vals, 1); pika_value_array_unref (return_vals); return version; } /** * pika_getpid: * * Returns the PID of the host PIKA process. * * This procedure returns the process ID of the currently running PIKA. * * Returns: The PID. * * Since: 2.4 **/ gint pika_getpid (void) { PikaValueArray *args; PikaValueArray *return_vals; gint pid = 0; args = pika_value_array_new_from_types (NULL, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-getpid", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) pid = PIKA_VALUES_GET_INT (return_vals, 1); pika_value_array_unref (return_vals); return pid; } /** * pika_attach_parasite: * @parasite: The parasite to attach. * * Add a global parasite. * * This procedure attaches a global parasite. It has no return values. * * Returns: TRUE on success. * * Since: 2.8 **/ gboolean pika_attach_parasite (const PikaParasite *parasite) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, PIKA_TYPE_PARASITE, parasite, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-attach-parasite", 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_detach_parasite: * @name: The name of the parasite to detach. * * Removes a global parasite. * * This procedure detaches a global parasite from. It has no return * values. * * Returns: TRUE on success. * * Since: 2.8 **/ gboolean pika_detach_parasite (const gchar *name) { PikaValueArray *args; PikaValueArray *return_vals; gboolean success = TRUE; args = pika_value_array_new_from_types (NULL, G_TYPE_STRING, name, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-detach-parasite", 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_get_parasite: * @name: The name of the parasite to find. * * Look up a global parasite. * * Finds and returns the global parasite that was previously attached. * * Returns: (transfer full): The found parasite. * * Since: 2.8 **/ PikaParasite * pika_get_parasite (const gchar *name) { PikaValueArray *args; PikaValueArray *return_vals; PikaParasite *parasite = NULL; args = pika_value_array_new_from_types (NULL, G_TYPE_STRING, name, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-get-parasite", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) parasite = PIKA_VALUES_DUP_PARASITE (return_vals, 1); pika_value_array_unref (return_vals); return parasite; } /** * pika_get_parasite_list: * * List all parasites. * * Returns a list of all currently attached global parasites. * * Returns: (array zero-terminated=1) (transfer full): * The names of currently attached parasites. * The returned value must be freed with g_strfreev(). * * Since: 2.8 **/ gchar ** pika_get_parasite_list (void) { PikaValueArray *args; PikaValueArray *return_vals; gchar **parasites = NULL; args = pika_value_array_new_from_types (NULL, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-get-parasite-list", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) parasites = PIKA_VALUES_DUP_STRV (return_vals, 1); pika_value_array_unref (return_vals); return parasites; } /** * pika_temp_file: * @extension: The extension the file will have. * * Generates a unique temporary file. * * Generates a unique file using the temp path supplied in the user's * pikarc. * * Returns: (transfer full): The new temp file. **/ GFile * pika_temp_file (const gchar *extension) { PikaValueArray *args; PikaValueArray *return_vals; GFile *file = NULL; args = pika_value_array_new_from_types (NULL, G_TYPE_STRING, extension, G_TYPE_NONE); return_vals = pika_pdb_run_procedure_array (pika_get_pdb (), "pika-temp-file", args); pika_value_array_unref (args); if (PIKA_VALUES_GET_ENUM (return_vals, 0) == PIKA_PDB_SUCCESS) file = PIKA_VALUES_DUP_FILE (return_vals, 1); pika_value_array_unref (return_vals); return file; }