static void
rejilla_search_beagle_hit_added_cb (BeagleQuery *query,
				    BeagleHitsAddedResponse *response,
				    RejillaSearchBeagle *search)
{
	GSList *list;
	GSList *iter;
	RejillaSearchBeaglePrivate *priv;

	priv = REJILLA_SEARCH_BEAGLE_PRIVATE (search);

	/* NOTE : list must not be modified nor freed */
	list = beagle_hits_added_response_get_hits (response);
	list = g_slist_copy (list);

	if (priv->hits)
		priv->hits = g_slist_concat (priv->hits, list);
	else
		priv->hits = list;

	for (iter = list; iter; iter = iter->next) {
		BeagleHit *hit;

		hit = iter->data;
		beagle_hit_ref (hit);

		rejilla_search_engine_hit_added (REJILLA_SEARCH_ENGINE (search), hit);
	}
}
static void
beagle_hits_added (BeagleQuery *query, 
		   BeagleHitsAddedResponse *response, 
		   NautilusSearchEngineBeagle *engine)
{
	GSList *hits, *list;
	GList *hit_uris;
	const char *uri;

	hit_uris = NULL;

	hits = beagle_hits_added_response_get_hits (response);
	
	for (list = hits; list != NULL; list = list->next) {
		BeagleHit *hit = BEAGLE_HIT (list->data);

		uri = beagle_hit_get_uri (hit);

		if (engine->details->current_query_uri_prefix &&
		    !g_str_has_prefix (uri, engine->details->current_query_uri_prefix)) {
			continue;
		}
		
		hit_uris = g_list_prepend (hit_uris, (char *)uri);
	}

	nautilus_search_engine_hits_added (NAUTILUS_SEARCH_ENGINE (engine), hit_uris);
	g_list_free (hit_uris);
}