/* This file is part of GEGL * * GEGL 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. * * GEGL 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 GEGL; if not, see . */ #ifndef __GEGL_BUFFER_SWAP_H__ #define __GEGL_BUFFER_SWAP_H__ #include #include G_BEGIN_DECLS /** * gegl_buffer_swap_create_file: * @suffix: (nullable): a string to suffix the filename with, for * identification purposes, or %NULL. * * Generates a unique filename in the GEGL swap directory, suitable for * using as swap space. When the file is no longer needed, it may be * removed with gegl_buffer_swap_remove_file(); otherwise, it will be * removed when gegl_exit() is called. * * Returns: (type filename) (nullable): a string containing the full * file path, or %NULL is the swap is disabled. The returned string * should be freed with g_free() when no longer needed. */ gchar * gegl_buffer_swap_create_file (const gchar *suffix); /** * gegl_buffer_swap_remove_file: * @path: (type filename): the swap file to remove, as returned by * gegl_buffer_swap_create_file() * * Removes a swap file, generated using gegl_buffer_swap_create_file(), * unlinking the file, if exists. */ void gegl_buffer_swap_remove_file (const gchar *path); /** * gegl_buffer_swap_has_file: * @path: (type filename): a filename * * Tests if @path is a swap file, that is, if it has been created * with gegl_buffer_swap_create_file(), and hasn't been removed * yet. */ gboolean gegl_buffer_swap_has_file (const gchar *path); G_END_DECLS #endif