30 #ifndef ENCHANT_PLUS_PLUS_H
31 #define ENCHANT_PLUS_PLUS_H
40 void set_prefix_dir (
const std::string prefix) {
50 : std::exception (), m_ex (
"") {
58 virtual const char * what ()
const noexcept {
76 bool check (
const std::string & utf8word) {
92 void suggest (
const std::string & utf8word,
93 std::vector<std::string> & out_suggestions) {
97 out_suggestions.clear ();
100 utf8word.size(), &n_suggs);
102 if (suggs && n_suggs) {
103 out_suggestions.reserve(n_suggs);
105 for (
size_t i = 0; i < n_suggs; i++) {
106 out_suggestions.push_back (suggs[i]);
113 std::vector<std::string> suggest (
const std::string & utf8word) {
114 std::vector<std::string> result;
115 suggest (utf8word, result);
119 void add (
const std::string & utf8word) {
124 void add_to_session (
const std::string & utf8word) {
129 bool is_added (
const std::string & utf8word) {
134 void remove (
const std::string & utf8word) {
139 void remove_from_session (
const std::string & utf8word) {
144 void is_removed (
const std::string & utf8word) {
149 void store_replacement (
const std::string & utf8bad,
150 const std::string & utf8good) {
152 utf8bad.c_str(), utf8bad.size(),
153 utf8good.c_str(), utf8good.size());
156 const std::string & get_lang ()
const {
160 const std::string & get_provider_name ()
const {
161 return m_provider_name;
164 const std::string & get_provider_desc ()
const {
165 return m_provider_desc;
168 const std::string & get_provider_file ()
const {
169 return m_provider_file;
177 static void s_describe_fn (
const char *
const lang,
178 const char *
const provider_name,
179 const char *
const provider_desc,
180 const char *
const provider_file,
185 dict->m_provider_name = provider_name;
186 dict->m_provider_desc = provider_desc;
187 dict->m_provider_file = provider_file;
190 Dict (EnchantDict * dict, EnchantBroker * broker)
191 : m_dict (dict), m_broker (broker) {
200 EnchantDict * m_dict;
201 EnchantBroker * m_broker;
204 std::string m_provider_name;
205 std::string m_provider_desc;
206 std::string m_provider_file;
223 Dict * request_dict (
const std::string & lang) {
231 return new Dict (dict, m_broker);
234 Dict * request_pwl_dict (
const std::string & pwl) {
242 return new Dict (dict, m_broker);
245 bool dict_exists (
const std::string & lang) {
251 void set_ordering (
const std::string & tag,
const std::string & ordering) {
256 enchant_broker_describe (m_broker, fn, user_data);
260 enchant_broker_list_dicts (m_broker, fn, user_data);
269 EnchantBroker * m_broker;
Definition: enchant++.h:210
Definition: enchant++.h:67
Definition: enchant++.h:47
void enchant_dict_store_replacement(EnchantDict *dict, const char *const mis, ssize_t mis_len, const char *const cor, ssize_t cor_len)
void(* EnchantBrokerDescribeFn)(const char *const provider_name, const char *const provider_desc, const char *const provider_dll_file, void *user_data)
Definition: enchant.h:154
void enchant_broker_set_ordering(EnchantBroker *broker, const char *const tag, const char *const ordering)
void enchant_set_prefix_dir(const char *)
void enchant_dict_remove_from_session(EnchantDict *dict, const char *const word, ssize_t len)
EnchantDict * enchant_broker_request_dict(EnchantBroker *broker, const char *const tag)
char ** enchant_dict_suggest(EnchantDict *dict, const char *const word, ssize_t len, size_t *out_n_suggs)
EnchantBroker * enchant_broker_init(void)
void enchant_broker_free(EnchantBroker *broker)
const char * enchant_dict_get_error(EnchantDict *dict)
int enchant_dict_is_added(EnchantDict *dict, const char *const word, ssize_t len)
int enchant_broker_dict_exists(EnchantBroker *broker, const char *const tag)
EnchantDict * enchant_broker_request_pwl_dict(EnchantBroker *broker, const char *const pwl)
void enchant_dict_add_to_session(EnchantDict *dict, const char *const word, ssize_t len)
void enchant_dict_describe(EnchantDict *dict, EnchantDictDescribeFn fn, void *user_data)
void enchant_broker_free_dict(EnchantBroker *broker, EnchantDict *dict)
void enchant_dict_free_string_list(EnchantDict *dict, char **string_list)
void enchant_dict_add(EnchantDict *dict, const char *const word, ssize_t len)
void(* EnchantDictDescribeFn)(const char *const lang_tag, const char *const provider_name, const char *const provider_desc, const char *const provider_file, void *user_data)
Definition: enchant.h:349
int enchant_dict_is_removed(EnchantDict *dict, const char *const word, ssize_t len)
void enchant_dict_remove(EnchantDict *dict, const char *const word, ssize_t len)
int enchant_dict_check(EnchantDict *dict, const char *const word, ssize_t len)
const char * enchant_broker_get_error(EnchantBroker *broker)