Пример #1
0
static void
vfs_file_monitor_remove (NautilusFile  *file,
                         gconstpointer  client)
{
    nautilus_directory_monitor_remove_internal
        (file->details->directory, file, client);
}
static void
vfs_file_monitor_remove (NautilusDirectory *directory,
			 gconstpointer client)
{
	g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
	g_assert (client != NULL);
	
	nautilus_directory_monitor_remove_internal (directory, NULL, client);
}
static void
merged_monitor_destroy (MergedMonitor *monitor)
{
	NautilusDesktopDirectory *desktop;

	desktop = monitor->desktop_dir;
	
	/* Call through to the real directory remove calls. */
	nautilus_directory_file_monitor_remove (desktop->details->real_directory, monitor);

	nautilus_directory_monitor_remove_internal (NAUTILUS_DIRECTORY (desktop), NULL, monitor);
	
	g_free (monitor);
}
static void
desktop_directory_file_monitor_remove (NautilusFile *file,
				       gconstpointer client)
{
	NautilusDesktopDirectoryFile *desktop_file;
	DesktopMonitor *monitor;
	
	desktop_file = NAUTILUS_DESKTOP_DIRECTORY_FILE (file);
	
	/* Map the client to the value used by the earlier add call. */
        monitor = g_hash_table_lookup (desktop_file->details->monitors, client);
	if (monitor == NULL) {
		return;
	}

	/* Call through to the real file remove calls. */
	g_hash_table_remove (desktop_file->details->monitors, client);

	/* Remove the locally handled parts */
	nautilus_directory_monitor_remove_internal
		(file->details->directory, file, client);
}