/** * tracker_miner_manager_index_file: * @manager: a #TrackerMinerManager * @file: a URL valid in GIO of a file to give to the miner for processing * @error: (out callee-allocates) (transfer full) (allow-none): return location for errors * * Tells the filesystem miner to index the @file. * * On failure @error will be set. * * Returns: %TRUE on success, otherwise %FALSE. * * Since: 0.10 **/ gboolean tracker_miner_manager_index_file (TrackerMinerManager *manager, GFile *file, GError **error) { TrackerMinerManagerPrivate *priv; gchar *uri; GVariant *v; GError *new_error = NULL; g_return_val_if_fail (TRACKER_IS_MINER_MANAGER (manager), FALSE); g_return_val_if_fail (G_IS_FILE (file), FALSE); if (!g_file_query_exists (file, NULL)) { g_set_error_literal (error, TRACKER_MINER_MANAGER_ERROR, TRACKER_MINER_MANAGER_ERROR_NOENT, "File or directory does not exist"); return FALSE; } if (!tracker_miner_manager_is_active (manager, "org.freedesktop.Tracker1.Miner.Files")) { g_set_error_literal (error, TRACKER_MINER_MANAGER_ERROR, TRACKER_MINER_MANAGER_ERROR_NOT_AVAILABLE, "Filesystem miner is not active"); return FALSE; } priv = TRACKER_MINER_MANAGER_GET_PRIVATE (manager); uri = g_file_get_uri (file); v = g_dbus_connection_call_sync (priv->connection, "org.freedesktop.Tracker1.Miner.Files.Index", "/org/freedesktop/Tracker1/Miner/Files/Index", "org.freedesktop.Tracker1.Miner.Files.Index", "IndexFile", g_variant_new ("(s)", uri), NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &new_error); g_free (uri); if (new_error) { g_propagate_error (error, new_error); return FALSE; } g_variant_unref (v); return FALSE; }
/** * tracker_miner_manager_reindex_by_mimetype: * @manager: a #TrackerMinerManager * @mimetypes: (in): an array of mimetypes (E.G. "text/plain"). All items * with a mimetype in that list will be reindexed. * @error: (out callee-allocates) (transfer full) (allow-none): return location for errors * * Tells the filesystem miner to reindex any file with a mimetype in * the @mimetypes list. * * On failure @error will be set. * * Returns: %TRUE on success, otherwise %FALSE. * * Since: 0.10 **/ gboolean tracker_miner_manager_reindex_by_mimetype (TrackerMinerManager *manager, const GStrv mimetypes, GError **error) { TrackerMinerManagerPrivate *priv; GVariant *v; GError *new_error = NULL; g_return_val_if_fail (TRACKER_IS_MINER_MANAGER (manager), FALSE); g_return_val_if_fail (mimetypes != NULL, FALSE); if (!tracker_miner_manager_is_active (manager, "org.freedesktop.Tracker1.Miner.Files")) { g_set_error_literal (error, TRACKER_MINER_MANAGER_ERROR, TRACKER_MINER_MANAGER_ERROR_NOT_AVAILABLE, "Filesystem miner is not active"); return FALSE; } priv = TRACKER_MINER_MANAGER_GET_PRIVATE (manager); v = g_dbus_connection_call_sync (priv->connection, "org.freedesktop.Tracker1.Miner.Files.Index", "/org/freedesktop/Tracker1/Miner/Files/Index", "org.freedesktop.Tracker1.Miner.Files.Index", "ReindexMimeTypes", g_variant_new ("(^as)", mimetypes), NULL, G_DBUS_CALL_FLAGS_NONE, -1, NULL, &new_error); if (new_error) { g_propagate_error (error, new_error); return FALSE; } g_variant_unref (v); return FALSE; }