mirror of
https://github.com/kiwix/libkiwix.git
synced 2025-12-23 14:38:01 -05:00
The path parameter of the SpellingsDB constructor has been changed to denote the path of the cache directory where spellings databases for different ZIM archive should be stored. The filename of the spellings database is generated from the ZIM archive UUID and the current version of the spellings database implementation.
59 lines
1.4 KiB
C++
59 lines
1.4 KiB
C++
/*
|
|
* Copyright (C) 2025 Veloman Yunkan
|
|
*
|
|
* This program is free software; you can redistribute it and/or modify
|
|
* it under the terms of the GNU General Public License as published by
|
|
* the Free Software Foundation; either version 3 of the License, or
|
|
* any later version.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
* GNU General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; if not, write to the Free Software
|
|
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
|
|
* MA 02110-1301, USA.
|
|
*/
|
|
|
|
#ifndef KIWIX_SPELLING_CORRECTION_H
|
|
#define KIWIX_SPELLING_CORRECTION_H
|
|
|
|
#include <filesystem>
|
|
#include <memory>
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
namespace zim
|
|
{
|
|
class Archive;
|
|
}
|
|
|
|
namespace Xapian
|
|
{
|
|
class Database;
|
|
}
|
|
|
|
namespace kiwix
|
|
{
|
|
|
|
class SpellingsDB
|
|
{
|
|
public: // functions
|
|
SpellingsDB(const zim::Archive& archive, std::filesystem::path cacheDirPath);
|
|
~SpellingsDB();
|
|
|
|
SpellingsDB(const SpellingsDB& ) = delete;
|
|
void operator=(const SpellingsDB& ) = delete;
|
|
|
|
std::vector<std::string> getSpellingCorrections(const std::string& word, uint32_t maxCount) const;
|
|
|
|
private: // data
|
|
std::unique_ptr<Xapian::Database> impl_;
|
|
};
|
|
|
|
} // namespace kiwix
|
|
|
|
#endif // KIWIX_SPELLING_CORRECTION_H
|