diff --git a/include/searcher.h b/include/searcher.h index 4381c1d30..c60561494 100644 --- a/include/searcher.h +++ b/include/searcher.h @@ -76,10 +76,10 @@ class Searcher * @return true if the reader has been added. * false if the reader cannot be added (no embedded fulltext index present) */ - bool add_reader(Reader* reader); + bool add_reader(std::shared_ptr reader); - Reader* get_reader(int index); + std::shared_ptr get_reader(int index); /** * Start a search on the zim associated to the Searcher. @@ -161,7 +161,7 @@ class Searcher const unsigned int maxResultCount, const bool verbose = false); - std::vector readers; + std::vector> readers; std::unique_ptr internal; std::unique_ptr suggestionInternal; std::string searchPattern; diff --git a/src/search_renderer.cpp b/src/search_renderer.cpp index 8878ead80..f5bf15447 100644 --- a/src/search_renderer.cpp +++ b/src/search_renderer.cpp @@ -40,11 +40,12 @@ namespace kiwix /* Constructor */ SearchRenderer::SearchRenderer(Searcher* searcher, NameMapper* mapper) : SearchRenderer( - searcher->getSearchResultSet(), - mapper, - nullptr, - searcher->getEstimatedResultCount(), - searcher->getResultStart()) + /* srs */ searcher->getSearchResultSet(), + /* mapper */ mapper, + /* library */ nullptr, + /* start */ searcher->getResultStart(), + /* estimatedResultCount */ searcher->getEstimatedResultCount() + ) {} SearchRenderer::SearchRenderer(zim::SearchResultSet srs, NameMapper* mapper, diff --git a/src/searcher.cpp b/src/searcher.cpp index 7e7403027..9f8ceed67 100644 --- a/src/searcher.cpp +++ b/src/searcher.cpp @@ -89,13 +89,13 @@ Searcher::~Searcher() { } -bool Searcher::add_reader(Reader* reader) +bool Searcher::add_reader(std::shared_ptr reader) { if (!reader->hasFulltextIndex()) { return false; } - for ( const Reader* const existing_reader : readers ) { + for ( auto existing_reader : readers ) { if ( existing_reader->getZimArchive()->getUuid() == reader->getZimArchive()->getUuid() ) return false; } @@ -105,7 +105,7 @@ bool Searcher::add_reader(Reader* reader) } -Reader* Searcher::get_reader(int readerIndex) +std::shared_ptr Searcher::get_reader(int readerIndex) { return readers.at(readerIndex); }