#include "support/docstring.h"
-#include <vector>
#include <map>
#include <string>
-
-#ifdef HAVE_LIBMYTHES
-#include MYTHES_H_LOCATION
-#else
-#ifdef HAVE_LIBAIKSAURUS
-#include AIKSAURUS_H_LOCATION
-#endif // HAVE_LIBAIKSAURUS
-#endif // !HAVE_LIBMYTHES
+#include <vector>
namespace lyx {
* This class provides an interface to whatever thesauri we might support.
*/
-class Thesaurus {
+class Thesaurus
+{
public:
///
Thesaurus();
* look up some text in the thesaurus
*/
Meanings lookup(docstring const & text, docstring const & lang);
- /// check if a thesaurus for a given language \p lang is available
+ /** check if a thesaurus for a given language \p lang is available
+ * (installed and loaded)
+ */
bool thesaurusAvailable(docstring const & lang) const;
+ /// check if a thesaurus for a given language \p lang is installed
+ bool thesaurusInstalled(docstring const & lang) const;
private:
-#ifdef HAVE_LIBMYTHES
- /// add a thesaurus to the list
- bool addThesaurus(docstring const & lang);
-
- typedef std::map<docstring, MyThes *> Thesauri;
- /// the thesauri
- Thesauri thes_;
-#else
-#ifdef HAVE_LIBAIKSAURUS
- Aiksaurus * thes_;
-#endif // HAVE_LIBAIKSAURUS
-#endif // !HAVE_LIBMYTHES
+ struct Private;
+ Private * const d;
};
extern Thesaurus thesaurus;