[nautilus] vfs-directory: stop poking internal directory state



commit c02a1f4b59c6508257611cf3c5abe86e911d6a9d
Author: Ernestas Kulik <ernestask gnome org>
Date:   Thu Aug 24 14:01:25 2017 +0300

    vfs-directory: stop poking internal directory state
    
    This commit moves some NautilusVFSDirectory vfunc overrides to
    NautilusDirectory, as they directly access NautilusDirectoryDetails
    fields.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=786760

 src/nautilus-directory.c     |   26 ++++++++++++++++++++++++++
 src/nautilus-vfs-directory.c |   30 ------------------------------
 2 files changed, 26 insertions(+), 30 deletions(-)
---
diff --git a/src/nautilus-directory.c b/src/nautilus-directory.c
index a1b44a1..48722c1 100644
--- a/src/nautilus-directory.c
+++ b/src/nautilus-directory.c
@@ -65,6 +65,10 @@ static GList *real_get_file_list (NautilusDirectory *directory);
 static gboolean           real_is_editable (NautilusDirectory *directory);
 static void               set_directory_location (NautilusDirectory *directory,
                                                   GFile             *location);
+static gboolean      real_contains_file          (NautilusDirectory *directory,
+                                                  NautilusFile      *file);
+static gboolean      real_are_all_files_seen     (NautilusDirectory *directory);
+static gboolean      real_is_not_empty           (NautilusDirectory *directory);
 static NautilusFile *real_new_file_from_filename (NautilusDirectory *directory,
                                                   const char        *filename,
                                                   gboolean           self_owned);
@@ -127,6 +131,9 @@ nautilus_directory_class_init (NautilusDirectoryClass *klass)
 
     object_class = G_OBJECT_CLASS (klass);
 
+    klass->contains_file = real_contains_file;
+    klass->are_all_files_seen = real_are_all_files_seen;
+    klass->is_not_empty = real_is_not_empty;
     klass->new_file_from_filename = real_new_file_from_filename;
 
     object_class->finalize = nautilus_directory_finalize;
@@ -608,6 +615,25 @@ nautilus_directory_new_file_from_filename (NautilusDirectory *directory,
                                                                                               self_owned);
 }
 
+static gboolean
+real_contains_file (NautilusDirectory *directory,
+                    NautilusFile      *file)
+{
+    return file->details->directory == directory;
+}
+
+static gboolean
+real_are_all_files_seen (NautilusDirectory *directory)
+{
+    return directory->details->directory_loaded;
+}
+
+static gboolean
+real_is_not_empty (NautilusDirectory *directory)
+{
+    return directory->details->file_list != NULL;
+}
+
 static NautilusFile *
 real_new_file_from_filename (NautilusDirectory *directory,
                              const char        *filename,
diff --git a/src/nautilus-vfs-directory.c b/src/nautilus-vfs-directory.c
index 2f8f67c..c2bdb11 100644
--- a/src/nautilus-vfs-directory.c
+++ b/src/nautilus-vfs-directory.c
@@ -33,16 +33,6 @@ nautilus_vfs_directory_init (NautilusVFSDirectory *directory)
 {
 }
 
-static gboolean
-vfs_contains_file (NautilusDirectory *directory,
-                   NautilusFile      *file)
-{
-    g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
-    g_assert (NAUTILUS_IS_FILE (file));
-
-    return file->details->directory == directory;
-}
-
 static void
 vfs_call_when_ready (NautilusDirectory         *directory,
                      NautilusFileAttributes     file_attributes,
@@ -118,34 +108,14 @@ vfs_force_reload (NautilusDirectory *directory)
                                               all_attributes);
 }
 
-static gboolean
-vfs_are_all_files_seen (NautilusDirectory *directory)
-{
-    g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
-
-    return directory->details->directory_loaded;
-}
-
-static gboolean
-vfs_is_not_empty (NautilusDirectory *directory)
-{
-    g_assert (NAUTILUS_IS_VFS_DIRECTORY (directory));
-    g_assert (nautilus_directory_is_anyone_monitoring_file_list (directory));
-
-    return directory->details->file_list != NULL;
-}
-
 static void
 nautilus_vfs_directory_class_init (NautilusVFSDirectoryClass *klass)
 {
     NautilusDirectoryClass *directory_class = NAUTILUS_DIRECTORY_CLASS (klass);
 
-    directory_class->contains_file = vfs_contains_file;
     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;
-    directory_class->are_all_files_seen = vfs_are_all_files_seen;
-    directory_class->is_not_empty = vfs_is_not_empty;
 }


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]