[tracker/sam/index-mount-points: 8/11] libtracker-miner: Add ownership tracking to TrackerIndexingTree



commit c695a729c05a272d162270bec9d7a27f0b0c4a5c
Author: Sam Thursfield <sam afuera me uk>
Date:   Tue Aug 11 18:19:42 2015 +0200

    libtracker-miner: Add ownership tracking to TrackerIndexingTree
    
    The TrackerIndexingTree class keeps track of each directory or file that
    has been explicitly selected for indexing and monitoring.
    
    As a new feature, we want to allow any application to add to the list of
    directories being indexed and monitored, and to later be able to remove
    things from the list again. Previously, the tracker-miner-fs process was
    totally in control of what went in the IndexingTree.
    
    In order to ensure that applications can't interfere with the
    existing configuration, we need to track *who* added something to the
    indexing tree. This is done with a string identifier.
    
    We need to make sure that nobody can claim the internal
    'tracker-miner-fs' ID through the external API -- that would make it
    possible to override the internal configuration.
    
    FIXME: STILL NEED TO WRITE SOME TESTS FOR THIS !!

 src/libtracker-miner/tracker-indexing-tree.c       |   76 +++++--
 src/libtracker-miner/tracker-indexing-tree.h       |    6 +-
 src/libtracker-miner/tracker-miner-fs.c            |   13 +-
 src/miners/apps/tracker-miner-applications.c       |   21 +-
 src/miners/fs/tracker-miner-files-index.c          |   25 ++-
 src/miners/fs/tracker-miner-files.c                |   42 ++--
 src/miners/user-guides/tracker-miner-user-guides.c |    3 +-
 .../libtracker-miner/tracker-file-notifier-test.c  |    4 +-
 .../libtracker-miner/tracker-indexing-tree-test.c  |  226 +++++++++++++-------
 9 files changed, 273 insertions(+), 143 deletions(-)
---
diff --git a/src/libtracker-miner/tracker-indexing-tree.c b/src/libtracker-miner/tracker-indexing-tree.c
index 6d9fc37..4144c2c 100644
--- a/src/libtracker-miner/tracker-indexing-tree.c
+++ b/src/libtracker-miner/tracker-indexing-tree.c
@@ -42,6 +42,7 @@ struct _NodeData
        GFile *file;
        guint flags;
        guint shallow : 1;
+       GList *owners;
 };
 
 struct _PatternData
@@ -84,8 +85,9 @@ enum {
 static guint signals[LAST_SIGNAL] = { 0 };
 
 static NodeData *
-node_data_new (GFile *file,
-               guint  flags)
+node_data_new (GFile      *file,
+               guint       flags,
+               const char *initial_owner)
 {
        NodeData *data;
 
@@ -93,6 +95,7 @@ node_data_new (GFile *file,
        data->file = g_object_ref (file);
        data->flags = flags;
        data->shallow = FALSE;
+       data->owners = g_list_prepend(NULL, g_strdup(initial_owner));
 
        return data;
 }
@@ -206,7 +209,7 @@ tracker_indexing_tree_constructed (GObject *object)
                priv->root = g_file_new_for_uri ("file:///");
        }
 
-       data = node_data_new (priv->root, 0);
+       data = node_data_new (priv->root, 0, "TrackerIndexingTree");
        data->shallow = TRUE;
 
        priv->config_tree = g_node_new (data);
@@ -474,14 +477,20 @@ check_reparent_node (GNode    *node,
  * @tree: a #TrackerIndexingTree
  * @directory: #GFile pointing to a directory
  * @flags: Configuration flags for the directory
+ * @owner: Unique string identifying the 'owner' of this indexing root
  *
  * Adds a directory to the indexing tree with the
  * given configuration flags.
+ *
+ * If the directory is already in the indexing tree, @owner is added to the
+ * list of owners, which ensures that the directory will not be removed until
+ * tracker_indexing_tree_remove() is called with the same @owner.
  **/
 void
 tracker_indexing_tree_add (TrackerIndexingTree   *tree,
                            GFile                 *directory,
-                           TrackerDirectoryFlags  flags)
+                           TrackerDirectoryFlags  flags,
+                           const char            *owner)
 {
        TrackerIndexingTreePrivate *priv;
        GNode *parent, *node;
@@ -499,6 +508,9 @@ tracker_indexing_tree_add (TrackerIndexingTree   *tree,
                data = node->data;
                data->shallow = FALSE;
 
+               /* Add owner. */
+               data->owners = g_list_prepend(data->owners, g_strdup(owner));
+
                /* Overwrite flags if they are different */
                if (data->flags != flags) {
                        gchar *uri;
@@ -511,6 +523,7 @@ tracker_indexing_tree_add (TrackerIndexingTree   *tree,
                        g_signal_emit (tree, signals[DIRECTORY_UPDATED], 0,
                                       data->file);
                }
+
                return;
        }
 
@@ -521,7 +534,7 @@ tracker_indexing_tree_add (TrackerIndexingTree   *tree,
        /* Create node, move children of parent that
         * could be children of this new node now.
         */
-       data = node_data_new (directory, flags);
+       data = node_data_new (directory, flags, owner);
        node = g_node_new (data);
 
        g_node_children_foreach (parent, G_TRAVERSE_ALL,
@@ -542,18 +555,24 @@ tracker_indexing_tree_add (TrackerIndexingTree   *tree,
  * tracker_indexing_tree_remove:
  * @tree: a #TrackerIndexingTree
  * @directory: #GFile pointing to a directory
+ * @owner: Unique string identifying the 'owner' of this indexing root
  *
- * Removes @directory from the indexing tree, note that
- * only directories previously added with tracker_indexing_tree_add()
- * can be effectively removed.
+ * Removes @owner from the list of owners of the @directory indexing root.
+ * If there are no longer any owners, @directory is removed from the indexing
+ * tree.
+ *
+ * Note that only directories previously added with
+ * tracker_indexing_tree_add() can be removed in this way.
  **/
 void
 tracker_indexing_tree_remove (TrackerIndexingTree *tree,
-                              GFile               *directory)
+                              GFile               *directory,
+                              const char          *owner)
 {
        TrackerIndexingTreePrivate *priv;
        GNode *node, *parent;
        NodeData *data;
+       GList *owner_list_item;
 
        g_return_if_fail (TRACKER_IS_INDEXING_TREE (tree));
        g_return_if_fail (G_IS_FILE (directory));
@@ -567,25 +586,38 @@ tracker_indexing_tree_remove (TrackerIndexingTree *tree,
 
        data = node->data;
 
-       if (!node->parent) {
-               /* Node is the config tree
-                * root, mark as shallow again
-                */
-               data->shallow = TRUE;
+       owner_list_item = g_list_find_custom (data->owners, owner,
+                                             (GCompareFunc)g_strcmp0);
+
+       if (!owner_list_item) {
+               g_warning ("Unknown owner %s", owner);
                return;
        }
 
-       g_signal_emit (tree, signals[DIRECTORY_REMOVED], 0, data->file);
+       data->owners = g_list_remove_link(data->owners, owner_list_item);
 
-       parent = node->parent;
-       g_node_unlink (node);
+       if (g_list_length(data->owners) == 0) {
+               /* No more owners: actually do the removal. */
+               if (!node->parent) {
+                       /* Node is the config tree
+                       * root, mark as shallow again
+                       */
+                       data->shallow = TRUE;
+                       return;
+               }
 
-       /* Move children to parent */
-       g_node_children_foreach (node, G_TRAVERSE_ALL,
-                                check_reparent_node, parent);
+               g_signal_emit (tree, signals[DIRECTORY_REMOVED], 0, data->file);
 
-       node_data_free (node->data);
-       g_node_destroy (node);
+               parent = node->parent;
+               g_node_unlink (node);
+
+               /* Move children to parent */
+               g_node_children_foreach (node, G_TRAVERSE_ALL,
+                                        check_reparent_node, parent);
+
+               node_data_free (node->data);
+               g_node_destroy (node);
+       }
 }
 
 /**
diff --git a/src/libtracker-miner/tracker-indexing-tree.h b/src/libtracker-miner/tracker-indexing-tree.h
index a569167..8db14a6 100644
--- a/src/libtracker-miner/tracker-indexing-tree.h
+++ b/src/libtracker-miner/tracker-indexing-tree.h
@@ -83,9 +83,11 @@ TrackerIndexingTree * tracker_indexing_tree_new_with_root (GFile            *roo
 
 void      tracker_indexing_tree_add                  (TrackerIndexingTree   *tree,
                                                       GFile                 *directory,
-                                                      TrackerDirectoryFlags  flags);
+                                                      TrackerDirectoryFlags  flags,
+                                                      const char            *owner);
 void      tracker_indexing_tree_remove               (TrackerIndexingTree   *tree,
-                                                      GFile                 *directory);
+                                                      GFile                 *directory,
+                                                      const char            *owner);
 
 void      tracker_indexing_tree_add_filter           (TrackerIndexingTree  *tree,
                                                       TrackerFilterType     filter,
diff --git a/src/libtracker-miner/tracker-miner-fs.c b/src/libtracker-miner/tracker-miner-fs.c
index d692992..ea3d3c4 100644
--- a/src/libtracker-miner/tracker-miner-fs.c
+++ b/src/libtracker-miner/tracker-miner-fs.c
@@ -3239,7 +3239,8 @@ tracker_miner_fs_directory_add (TrackerMinerFS *fs,
 
        tracker_indexing_tree_add (fs->priv->indexing_tree,
                                   file,
-                                  flags);
+                                  flags,
+                                  "FIXME: owner");
 }
 
 static void
@@ -3465,7 +3466,7 @@ tracker_miner_fs_directory_remove (TrackerMinerFS *fs,
        }
 
        g_debug ("Removing directory");
-       tracker_indexing_tree_remove (priv->indexing_tree, file);
+       tracker_indexing_tree_remove (priv->indexing_tree, file, "FIXME: owner");
 
        return TRUE;
 }
@@ -3791,7 +3792,7 @@ tracker_miner_fs_check_directory_with_priority (TrackerMinerFS *fs,
                        flags |= TRACKER_DIRECTORY_FLAG_PRIORITY;
 
                tracker_indexing_tree_add (fs->priv->indexing_tree,
-                                          file, flags);
+                                          file, flags, "FIXME: owner");
        }
 
        g_free (uri);
@@ -4178,7 +4179,8 @@ tracker_miner_fs_force_mtime_checking (TrackerMinerFS *fs,
 
        tracker_indexing_tree_add (fs->priv->indexing_tree,
                                   directory,
-                                  flags);
+                                  flags,
+                                  "FIXME: owner");
 }
 
 /**
@@ -4299,7 +4301,8 @@ tracker_miner_fs_add_directory_without_parent (TrackerMinerFS *fs,
 
        tracker_indexing_tree_add (fs->priv->indexing_tree,
                                   file,
-                                  flags);
+                                  flags,
+                                  "FIXME: owner");
 }
 
 /**
diff --git a/src/miners/apps/tracker-miner-applications.c b/src/miners/apps/tracker-miner-applications.c
index a01d3dd..b89a717 100644
--- a/src/miners/apps/tracker-miner-applications.c
+++ b/src/miners/apps/tracker-miner-applications.c
@@ -103,9 +103,10 @@ miner_applications_basedir_add (TrackerMinerFS *fs,
        g_message ("  Adding:'%s'", path);
 
        tracker_indexing_tree_add (indexing_tree, file,
-                                  TRACKER_DIRECTORY_FLAG_RECURSE |
-                                  TRACKER_DIRECTORY_FLAG_MONITOR |
-                                  TRACKER_DIRECTORY_FLAG_CHECK_MTIME);
+                                  TRACKER_DIRECTORY_FLAG_RECURSE |
+                                  TRACKER_DIRECTORY_FLAG_MONITOR |
+                                  TRACKER_DIRECTORY_FLAG_CHECK_MTIME,
+                                  "tracker-miner-applications");
        g_object_unref (file);
        g_free (path);
 
@@ -114,9 +115,10 @@ miner_applications_basedir_add (TrackerMinerFS *fs,
        file = g_file_new_for_path (path);
        g_message ("  Adding:'%s'", path);
        tracker_indexing_tree_add (indexing_tree, file,
-                                  TRACKER_DIRECTORY_FLAG_RECURSE |
-                                  TRACKER_DIRECTORY_FLAG_MONITOR |
-                                  TRACKER_DIRECTORY_FLAG_CHECK_MTIME);
+                                  TRACKER_DIRECTORY_FLAG_RECURSE |
+                                  TRACKER_DIRECTORY_FLAG_MONITOR |
+                                  TRACKER_DIRECTORY_FLAG_CHECK_MTIME,
+                                  "tracker-miner-applications");
        g_object_unref (file);
        g_free (path);
 }
@@ -156,9 +158,10 @@ miner_applications_add_directories (TrackerMinerFS *fs)
 
        file = g_file_new_for_path (path);
        tracker_indexing_tree_add (indexing_tree, file,
-                                  TRACKER_DIRECTORY_FLAG_RECURSE |
-                                  TRACKER_DIRECTORY_FLAG_MONITOR |
-                                  TRACKER_DIRECTORY_FLAG_CHECK_MTIME);
+                                  TRACKER_DIRECTORY_FLAG_RECURSE |
+                                  TRACKER_DIRECTORY_FLAG_MONITOR |
+                                  TRACKER_DIRECTORY_FLAG_CHECK_MTIME,
+                                  "tracker-miner-applications");
        g_object_unref (file);
 #endif /* HAVE_MEEGOTOUCH */
 }
diff --git a/src/miners/fs/tracker-miner-files-index.c b/src/miners/fs/tracker-miner-files-index.c
index 1961e19..9432382 100644
--- a/src/miners/fs/tracker-miner-files-index.c
+++ b/src/miners/fs/tracker-miner-files-index.c
@@ -411,10 +411,10 @@ handle_method_call_index_file (TrackerMinerFilesIndex *miner,
 }
 
 static void
-app_appears (GDBusConnection *connection,
-             const gchar     *name,
-             const gchar     *name_owner,
-             gpointer         user_data)
+index_file_for_process_app_appears (GDBusConnection *connection,
+                                    const gchar     *name,
+                                    const gchar     *name_owner,
+                                    gpointer         user_data)
 {
        IndexFileForProcessData *data = user_data;
        GFileInfo *file_info;
@@ -447,7 +447,7 @@ app_appears (GDBusConnection *connection,
 }
 
 static void
-app_vanishes (GDBusConnection *connection,
+index_file_for_process_app_vanishes (GDBusConnection *connection,
               const gchar     *name,
               gpointer         user_data)
 {
@@ -457,6 +457,10 @@ app_vanishes (GDBusConnection *connection,
        tracker_miner_fs_directory_remove (TRACKER_MINER_FS (data->miner), data->file);
 }
 
+/* The IndexFileForProcess D-Bus method does the same as IndexFile, except that
+ * the indexing will stop again if the calling process disconnects from the
+ * bus. This allows for 'opt in' indexing of removable devices.
+ */
 static void
 handle_method_call_index_file_for_process (TrackerMinerFilesIndex *miner,
                                            GDBusMethodInvocation  *invocation,
@@ -474,7 +478,6 @@ handle_method_call_index_file_for_process (TrackerMinerFilesIndex *miner,
        priv = TRACKER_MINER_FILES_INDEX_GET_PRIVATE (miner);
 
        g_variant_get (parameters, "(&s)", &file_uri);
-
        tracker_gdbus_async_return_if_fail (file_uri != NULL, invocation);
 
        request = tracker_g_dbus_request_begin (invocation, "%s(uri:'%s')", __FUNCTION__, file_uri);
@@ -491,7 +494,6 @@ handle_method_call_index_file_for_process (TrackerMinerFilesIndex *miner,
                g_dbus_method_invocation_return_gerror (invocation, internal_error);
 
                g_error_free (internal_error);
-
                g_object_unref (file);
 
                return;
@@ -502,12 +504,17 @@ handle_method_call_index_file_for_process (TrackerMinerFilesIndex *miner,
        data = index_file_for_process_data_new (TRACKER_MINER_FS (priv->files_miner), file);
        g_object_unref (file);
 
+       /* Instead of queuing the file for indexing right away, we go via
+        * g_bus_watch_name(). The app will 'appear' right away if it's still
+        * connected, so execution will continue in
+        * index_file_for_process_app_appears(). This approach is race-free.
+        */
        sender = g_dbus_method_invocation_get_sender (invocation);
        g_bus_watch_name (G_BUS_TYPE_SESSION,
                          sender,
                          G_BUS_NAME_WATCHER_FLAGS_NONE,
-                         app_appears,
-                         app_vanishes,
+                         index_file_for_process_app_appears,
+                         index_file_for_process_app_vanishes,
                          data,
                          index_file_for_process_data_destroy);
 
diff --git a/src/miners/fs/tracker-miner-files.c b/src/miners/fs/tracker-miner-files.c
index bd97dff..32614fa 100644
--- a/src/miners/fs/tracker-miner-files.c
+++ b/src/miners/fs/tracker-miner-files.c
@@ -420,7 +420,7 @@ miner_files_initable_init (GInitable     *initable,
                        flags |= TRACKER_DIRECTORY_FLAG_CHECK_MTIME;
                }
 
-               tracker_indexing_tree_add (indexing_tree, file, flags);
+               tracker_indexing_tree_add (indexing_tree, file, flags, "tracker-miner-fs");
                g_object_unref (file);
        }
 
@@ -475,7 +475,7 @@ miner_files_initable_init (GInitable     *initable,
                        flags |= TRACKER_DIRECTORY_FLAG_CHECK_MTIME;
                }
 
-               tracker_indexing_tree_add (indexing_tree, file, flags);
+               tracker_indexing_tree_add (indexing_tree, file, flags, "tracker-miner-fs");
                g_object_unref (file);
        }
 
@@ -1048,8 +1048,9 @@ init_mount_points (TrackerMinerFiles *miner_files)
                                        file = g_file_new_for_path (mount_point);
                                        if (tracker_miner_files_is_file_eligible (miner_files, file)) {
                                                tracker_indexing_tree_add (indexing_tree,
-                                                                          file,
-                                                                          flags);
+                                                                          file,
+                                                                          flags,
+                                                                          "tracker-miner-fs");
                                        }
                                        g_object_unref (file);
                                }
@@ -1158,7 +1159,7 @@ mount_point_removed_cb (TrackerStorage *storage,
        /* Tell TrackerMinerFS to skip monitoring everything under the mount
         *  point (in case there was no pre-unmount notification) */
        indexing_tree = tracker_miner_fs_get_indexing_tree (TRACKER_MINER_FS (miner));
-       tracker_indexing_tree_remove (indexing_tree, mount_point_file);
+       tracker_indexing_tree_remove (indexing_tree, mount_point_file, "tracker-miner-fs");
 
        /* Set mount point status in tracker-store */
        set_up_mount_point (miner, urn, mount_point, NULL, FALSE, NULL);
@@ -1223,8 +1224,9 @@ mount_point_added_cb (TrackerStorage *storage,
                                g_message ("  Re-check of configured path '%s' needed (recursively)",
                                           (gchar *) l->data);
                                tracker_indexing_tree_add (indexing_tree,
-                                                          config_file,
-                                                          flags);
+                                                          config_file,
+                                                          flags,
+                                                          "tracker-miner-fs");
                        } else if (g_file_has_prefix (mount_point_file, config_file)) {
                                /* If the mount path is contained inside the config path,
                                 *  then add the mount path to re-check */
@@ -1232,8 +1234,9 @@ mount_point_added_cb (TrackerStorage *storage,
                                           mount_point,
                                           (gchar *) l->data);
                                tracker_indexing_tree_add (indexing_tree,
-                                                          config_file,
-                                                          flags);
+                                                          config_file,
+                                                          flags,
+                                                          "tracker-miner-fs");
                        }
                        g_object_unref (config_file);
                }
@@ -1257,8 +1260,9 @@ mount_point_added_cb (TrackerStorage *storage,
                                g_message ("  Re-check of configured path '%s' needed (non-recursively)",
                                           (gchar *) l->data);
                                tracker_indexing_tree_add (indexing_tree,
-                                                          config_file,
-                                                          flags);
+                                                          config_file,
+                                                          flags,
+                                                          "tracker-miner-fs");
                        }
                        g_object_unref (config_file);
                }
@@ -1433,7 +1437,7 @@ mount_pre_unmount_cb (GVolumeMonitor    *volume_monitor,
        g_message ("Pre-unmount requested for '%s'", uri);
 
        indexing_tree = tracker_miner_fs_get_indexing_tree (TRACKER_MINER_FS (mf));
-       tracker_indexing_tree_remove (indexing_tree, mount_root);
+       tracker_indexing_tree_remove (indexing_tree, mount_root, "tracker-miner-fs");
        g_object_unref (mount_root);
 
        g_free (uri);
@@ -1622,13 +1626,13 @@ update_directories_from_new_config (TrackerMinerFS *mf,
                        if ((flags & TRACKER_DIRECTORY_FLAG_PRESERVE) != 0) {
                                flags &= ~(TRACKER_DIRECTORY_FLAG_PRESERVE);
                                tracker_indexing_tree_add (indexing_tree,
-                                                          file, flags);
+                                                          file, flags, "tracker-miner-fs");
                        }
 
                        /* Fully remove item (monitors and from store),
                         * now that there's no preserve flag.
                         */
-                       tracker_indexing_tree_remove (indexing_tree, file);
+                       tracker_indexing_tree_remove (indexing_tree, file, "tracker-miner-fs");
                        g_object_unref (file);
                }
        }
@@ -1660,7 +1664,7 @@ update_directories_from_new_config (TrackerMinerFS *mf,
                        g_message ("  Adding directory:'%s'", path);
 
                        file = g_file_new_for_path (path);
-                       tracker_indexing_tree_add (indexing_tree, file, flags);
+                       tracker_indexing_tree_add (indexing_tree, file, flags, "tracker-miner-fs");
                        g_object_unref (file);
                }
        }
@@ -1852,7 +1856,8 @@ index_volumes_changed_idle (gpointer user_data)
 
                        mount_point_file = g_file_new_for_path (sl->data);
                        tracker_indexing_tree_remove (indexing_tree,
-                                                     mount_point_file);
+                                                     mount_point_file,
+                                                     "tracker-miner-fs");
                        g_object_unref (mount_point_file);
                }
 
@@ -2799,8 +2804,9 @@ miner_files_add_removable_or_optical_directory (TrackerMinerFiles *mf,
 
        g_message ("  Adding removable/optical: '%s'", mount_path);
        tracker_indexing_tree_add (indexing_tree,
-                                  mount_point_file,
-                                  flags);
+                                  mount_point_file,
+                                  flags,
+                                  "tracker-miner-fs");
        g_object_unref (mount_point_file);
 }
 
diff --git a/src/miners/user-guides/tracker-miner-user-guides.c 
b/src/miners/user-guides/tracker-miner-user-guides.c
index 59dfc40..2ea4894 100644
--- a/src/miners/user-guides/tracker-miner-user-guides.c
+++ b/src/miners/user-guides/tracker-miner-user-guides.c
@@ -114,7 +114,8 @@ miner_userguides_basedir_add_path (TrackerMinerFS *fs,
                tracker_indexing_tree_add (indexing_tree, file,
                                           TRACKER_DIRECTORY_FLAG_RECURSE |
                                           TRACKER_DIRECTORY_FLAG_MONITOR |
-                                          TRACKER_DIRECTORY_FLAG_CHECK_MTIME);
+                                          TRACKER_DIRECTORY_FLAG_CHECK_MTIME,
+                                          "tracker-miner-user-guides");
                g_object_unref (file);
 
                return TRUE;
diff --git a/tests/libtracker-miner/tracker-file-notifier-test.c 
b/tests/libtracker-miner/tracker-file-notifier-test.c
index 20825f5..4819866 100644
--- a/tests/libtracker-miner/tracker-file-notifier-test.c
+++ b/tests/libtracker-miner/tracker-file-notifier-test.c
@@ -238,7 +238,7 @@ test_common_context_index_dir (TestCommonContext     *fixture,
        file = g_file_new_for_path (path);
        g_free (path);
 
-       tracker_indexing_tree_add (fixture->indexing_tree, file, flags);
+       tracker_indexing_tree_add (fixture->indexing_tree, file, flags, "test");
        g_object_unref (file);
 }
 
@@ -253,7 +253,7 @@ test_common_context_remove_dir (TestCommonContext     *fixture,
        file = g_file_new_for_path (path);
        g_free (path);
 
-       tracker_indexing_tree_remove (fixture->indexing_tree, file);
+       tracker_indexing_tree_remove (fixture->indexing_tree, file, "test");
        g_object_unref (file);
 }
 
diff --git a/tests/libtracker-miner/tracker-indexing-tree-test.c 
b/tests/libtracker-miner/tracker-indexing-tree-test.c
index 78b874c..d5a719d 100644
--- a/tests/libtracker-miner/tracker-indexing-tree-test.c
+++ b/tests/libtracker-miner/tracker-indexing-tree-test.c
@@ -124,7 +124,8 @@ test_indexing_tree_001 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -147,7 +148,8 @@ test_indexing_tree_002 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -169,7 +171,8 @@ test_indexing_tree_003 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -191,10 +194,12 @@ test_indexing_tree_004 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -217,10 +222,12 @@ test_indexing_tree_005 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -243,10 +250,12 @@ test_indexing_tree_006 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -269,10 +278,12 @@ test_indexing_tree_007 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -295,10 +306,12 @@ test_indexing_tree_008 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -321,10 +334,12 @@ test_indexing_tree_009 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -347,10 +362,12 @@ test_indexing_tree_010 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -373,10 +390,12 @@ test_indexing_tree_011 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -398,10 +417,12 @@ test_indexing_tree_012 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -423,13 +444,16 @@ test_indexing_tree_013 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -451,13 +475,16 @@ test_indexing_tree_014 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -481,13 +508,16 @@ test_indexing_tree_015 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -510,13 +540,16 @@ test_indexing_tree_016 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -540,13 +573,16 @@ test_indexing_tree_017 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -569,13 +605,16 @@ test_indexing_tree_018 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -598,13 +637,16 @@ test_indexing_tree_019 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -628,13 +670,16 @@ test_indexing_tree_020 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -658,13 +703,16 @@ test_indexing_tree_021 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -688,13 +736,16 @@ test_indexing_tree_022 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -718,13 +769,16 @@ test_indexing_tree_023 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -748,13 +802,16 @@ test_indexing_tree_024 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -777,13 +834,16 @@ test_indexing_tree_025 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -806,13 +866,16 @@ test_indexing_tree_026 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_IGNORE);
+                                  TRACKER_DIRECTORY_FLAG_IGNORE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -836,13 +899,16 @@ test_indexing_tree_027 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -865,13 +931,17 @@ test_indexing_tree_028 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
+
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -895,13 +965,16 @@ test_indexing_tree_029 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_A]);
+                                     fixture->test_dir[TEST_DIRECTORY_A],
+                                     "test-owner");
 
        ASSERT_NOT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);
@@ -924,13 +997,16 @@ test_indexing_tree_030 (TestCommonContext *fixture,
 {
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_A],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
        tracker_indexing_tree_add (fixture->tree,
                                   fixture->test_dir[TEST_DIRECTORY_AA],
-                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE);
+                                  TRACKER_DIRECTORY_FLAG_MONITOR | TRACKER_DIRECTORY_FLAG_RECURSE,
+                                  "test-owner");
 
        tracker_indexing_tree_remove (fixture->tree,
-                                     fixture->test_dir[TEST_DIRECTORY_AA]);
+                                     fixture->test_dir[TEST_DIRECTORY_AA],
+                                     "test-owner");
 
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_A);
        ASSERT_INDEXABLE (fixture, TEST_DIRECTORY_AA);


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