/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 8; tab-width: 8 -*- */ /* gnome-vfs-async-job-map.h: The async job map, maps GnomeVFSAsyncHandles to GnomeVFSJobs. Many async operations, keep the same 'GnomeVFSJob' over the course of several operations. Copyright (C) 2001 Eazel Inc. The Gnome Library is free software; you can redistribute it and/or modify it under the terms of the GNU Library General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. The Gnome 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 Library General Public License for more details. You should have received a copy of the GNU Library General Public License along with the Gnome Library; see the file COPYING.LIB. If not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. Author: Pavel Cisler */ #ifndef GNOME_VFS_ASYNC_JOB_MAP_H #define GNOME_VFS_ASYNC_JOB_MAP_H #include "gnome-vfs-job.h" /* async job map calls */ void _gnome_vfs_async_job_map_init (void); void _gnome_vfs_async_job_map_shutdown (void); gboolean _gnome_vfs_async_job_completed (GnomeVFSAsyncHandle *handle); void _gnome_vfs_async_job_map_add_job (GnomeVFSJob *job); void _gnome_vfs_async_job_map_remove_job (GnomeVFSJob *job); GnomeVFSJob *_gnome_vfs_async_job_map_get_job (const GnomeVFSAsyncHandle *handle); void _gnome_vfs_async_job_map_assert_locked (void); void _gnome_vfs_async_job_map_lock (void); void _gnome_vfs_async_job_map_unlock (void); /* async job callback map calls */ void _gnome_vfs_async_job_callback_valid (guint callback_id, gboolean *valid, gboolean *cancelled); gboolean _gnome_vfs_async_job_add_callback (GnomeVFSJob *job, GnomeVFSNotifyResult *notify_result); void _gnome_vfs_async_job_remove_callback (guint callback_id); void _gnome_vfs_async_job_cancel_job_and_callbacks (GnomeVFSAsyncHandle *job_handle, GnomeVFSJob *job); #endif