From ec52555862913a23417735f9f7f5402f5230da13 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sat, 27 Apr 2024 17:59:36 +0200 Subject: Adding upstream version 3.38.2. Signed-off-by: Daniel Baumann --- src/nautilus-vfs-directory.c | 121 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 src/nautilus-vfs-directory.c (limited to 'src/nautilus-vfs-directory.c') diff --git a/src/nautilus-vfs-directory.c b/src/nautilus-vfs-directory.c new file mode 100644 index 0000000..c2bdb11 --- /dev/null +++ b/src/nautilus-vfs-directory.c @@ -0,0 +1,121 @@ +/* + * nautilus-vfs-directory.c: Subclass of NautilusDirectory to help implement the + * virtual trash directory. + * + * Copyright (C) 1999, 2000 Eazel, Inc. + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License as + * published by the Free Software Foundation; either version 2 of the + * License, or (at your option) any later version. + * + * This program 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 + * General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, see . + * + * Author: Darin Adler + */ + +#include +#include "nautilus-vfs-directory.h" + +#include "nautilus-directory-private.h" +#include "nautilus-file-private.h" + +G_DEFINE_TYPE (NautilusVFSDirectory, nautilus_vfs_directory, NAUTILUS_TYPE_DIRECTORY); + +static void +nautilus_vfs_directory_init (NautilusVFSDirectory *directory) +{ +} + +static void +vfs_call_when_ready (NautilusDirectory *directory, + NautilusFileAttributes file_attributes, + gboolean wait_for_file_list, + NautilusDirectoryCallback callback, + gpointer callback_data) +{ + g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory)); + + nautilus_directory_call_when_ready_internal + (directory, + NULL, + file_attributes, + wait_for_file_list, + callback, + NULL, + callback_data); +} + +static void +vfs_cancel_callback (NautilusDirectory *directory, + NautilusDirectoryCallback callback, + gpointer callback_data) +{ + g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory)); + + nautilus_directory_cancel_callback_internal + (directory, + NULL, + callback, + NULL, + callback_data); +} + +static void +vfs_file_monitor_add (NautilusDirectory *directory, + gconstpointer client, + gboolean monitor_hidden_files, + NautilusFileAttributes file_attributes, + NautilusDirectoryCallback callback, + gpointer callback_data) +{ + g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory)); + g_assert (client != NULL); + + nautilus_directory_monitor_add_internal + (directory, NULL, + client, + monitor_hidden_files, + file_attributes, + callback, callback_data); +} + +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 +vfs_force_reload (NautilusDirectory *directory) +{ + NautilusFileAttributes all_attributes; + + g_assert (NAUTILUS_IS_DIRECTORY (directory)); + + all_attributes = nautilus_file_get_all_attributes (); + nautilus_directory_force_reload_internal (directory, + all_attributes); +} + +static void +nautilus_vfs_directory_class_init (NautilusVFSDirectoryClass *klass) +{ + NautilusDirectoryClass *directory_class = NAUTILUS_DIRECTORY_CLASS (klass); + + directory_class->call_when_ready = vfs_call_when_ready; + directory_class->cancel_callback = vfs_cancel_callback; + directory_class->file_monitor_add = vfs_file_monitor_add; + directory_class->file_monitor_remove = vfs_file_monitor_remove; + directory_class->force_reload = vfs_force_reload; +} -- cgit v1.2.3