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); }