Top | ![]() |
![]() |
![]() |
![]() |
TrackerIndexingTree handles the tree of directories configured to be indexed by the TrackerMinerFS.
TrackerIndexingTree *
tracker_indexing_tree_new (void
);
Returns a newly created TrackerIndexingTree
Since: 0.14
TrackerIndexingTree *
tracker_indexing_tree_new_with_root (GFile *root
);
If root
is NULL
, the default value is 'file:///'. Using NULL
here is the equivalent to calling tracker_indexing_tree_new()
which
takes no root
argument.
Since: 1.2.2
void tracker_indexing_tree_add (TrackerIndexingTree *tree
,GFile *directory
,TrackerDirectoryFlags flags
);
Adds a directory to the indexing tree with the given configuration flags.
void tracker_indexing_tree_remove (TrackerIndexingTree *tree
,GFile *directory
);
Removes directory
from the indexing tree, note that
only directories previously added with tracker_indexing_tree_add()
can be effectively removed.
gboolean tracker_indexing_tree_notify_update (TrackerIndexingTree *tree
,GFile *file
,gboolean recursive
);
Signals either “directory-updated” or
“child-updated” on the given file and
returns TRUE. If file
is not indexed according to the
TrackerIndexingTree, FALSE is returned.
If recursive
is TRUE, “directory-updated”
will be emitted on the indexing roots that are contained in file
.
Since: 1.10
void tracker_indexing_tree_add_filter (TrackerIndexingTree *tree
,TrackerFilterType filter
,const gchar *glob_string
);
Adds a new filter for basenames.
void tracker_indexing_tree_clear_filters (TrackerIndexingTree *tree
,TrackerFilterType type
);
Clears all filters of a given type.
gboolean tracker_indexing_tree_file_matches_filter (TrackerIndexingTree *tree
,TrackerFilterType type
,GFile *file
);
Returns TRUE
if file
matches any filter of the given filter type.
gboolean tracker_indexing_tree_file_is_indexable (TrackerIndexingTree *tree
,GFile *file
,GFileType file_type
);
returns TRUE
if file
should be indexed according to the
parameters given through tracker_indexing_tree_add()
and
tracker_indexing_tree_add_filter()
.
If file_type
is G_FILE_TYPE_UNKNOWN, file type will be queried to the
file system.
gboolean tracker_indexing_tree_parent_is_indexable (TrackerIndexingTree *tree
,GFile *parent
,GList *children
);
returns TRUE
if parent
should be indexed based on its contents.
gboolean
tracker_indexing_tree_get_filter_hidden
(TrackerIndexingTree *tree
);
Describes if the tree
should index hidden content. To change this
setting, see tracker_indexing_tree_set_filter_hidden()
.
Since: 0.18
void tracker_indexing_tree_set_filter_hidden (TrackerIndexingTree *tree
,gboolean filter_hidden
);
When indexing content, sometimes it is preferable to ignore hidden content, for example, files prefixed with ".". This is common for files in a home directory which are usually config files.
Sets the indexing policy for tree
with hidden files and content.
To ignore hidden files, filter_hidden
should be TRUE
, otherwise
FALSE
.
Since: 0.18
TrackerFilterPolicy tracker_indexing_tree_get_default_policy (TrackerIndexingTree *tree
,TrackerFilterType filter
);
Get the default filtering policies for tree
when indexing content.
Some content is black listed or white listed and the default policy
for that is returned here. The filter
allows specific type of
policies to be returned, for example, the default policy for files
(TRACKER_FILTER_FILE).
Since: 0.18
void tracker_indexing_tree_set_default_policy (TrackerIndexingTree *tree
,TrackerFilterType filter
,TrackerFilterPolicy policy
);
Set the default policy
(to allow or deny) for content in tree
based on the type - in this case filter
. Here, filter
is a file
or directory and there are some other options too.
For example, you can (by default), disable indexing all directories using this function.
Since: 0.18
GFile * tracker_indexing_tree_get_root (TrackerIndexingTree *tree
,GFile *file
,TrackerDirectoryFlags *directory_flags
);
Returns the GFile that was previously added through tracker_indexing_tree_add()
and would equal or contain file
, or NULL
if none applies.
If the return value is non-NULL
, directory_flags
would contain the
TrackerDirectoryFlags applying to file
.
tree |
||
file |
a GFile |
|
directory_flags |
return location for the applying TrackerDirectoryFlags. |
[out] |
GFile *
tracker_indexing_tree_get_master_root (TrackerIndexingTree *tree
);
Returns the GFile that represents the master root location for all
indexing locations. For example, if
file:///etc
is an indexed path and so was
file:///home/user
, the master root is
file:///
. Only one scheme per tree
can be
used, so you can not mix http
and
file
roots in tree
.
The return value should NEVER be NULL
. In
cases where no root is given, we fallback to
file:///
.
Roots explained:
master root = top most level root node, e.g. file:///
config root = a root node from GSettings, e.g. file:///home/martyn/Documents
root = ANY root, normally config root, but it can also apply to roots added for devices, which technically are not a config root or a master root.
the effective root for all locations, or
NULL
on error. The root is owned by tree
and should not be freed.
It can be referenced using g_object_ref()
.
[transfer none]
Since: 1.2
gboolean tracker_indexing_tree_file_is_root (TrackerIndexingTree *tree
,GFile *file
);
Evaluates if the URL represented by file
is the same of that for
the root of the tree
.
Since: 1.2
GList *
tracker_indexing_tree_list_roots (TrackerIndexingTree *tree
);
Returns the list of indexing roots in tree
The list
of roots, the list itself must be freed with g_list_free()
,
the list elements are owned by tree
and should not be
freed.
[transfer container][element-type GFile]
struct TrackerIndexingTree { GObject parent_instance; gpointer priv; };
Base object used to configure indexing within TrackerMinerFS items.
typedef struct { GObjectClass parent_class; void (* directory_added) (TrackerIndexingTree *indexing_tree, GFile *directory); void (* directory_removed) (TrackerIndexingTree *indexing_tree, GFile *directory); void (* directory_updated) (TrackerIndexingTree *indexing_tree, GFile *directory); void (* child_updated) (TrackerIndexingTree *indexing_tree, GFile *root, GFile *child); /* <Private> */ gpointer padding[9]; } TrackerIndexingTreeClass;
Class for the TrackerIndexingTree.
Called when a directory is added. |
||
Called when a directory is removed. |
||
Called when a directory is updated. |
||
Called when a file inside a directory is updated. |
||
gpointer |
Reserved for future API improvements. |