コード例 #1
0
extern "C" ASPELL_EXPORT  CanHaveError * new_aspell_speller(Config * config)
{
  PosibErr<Speller *> ret = new_speller(config);
  if (ret.has_err()) {
    return new CanHaveError(ret.release_err());
  } else {
    return ret;
  }
}
コード例 #2
0
ファイル: cache.hpp プロジェクト: MarkusKull/aspell
PosibErr<void> setup(CachePtr<Data> & res,
                     GlobalCache<Data> * cache, 
                     typename Data::CacheConfig * config, 
                     const typename Data::CacheKey & key) {
  PosibErr<Data *> pe = get_cache_data(cache, config, key);
  if (pe.has_err()) return pe;
  res.reset(pe.data);
  return no_err;
}
コード例 #3
0
ファイル: convert.hpp プロジェクト: Distrotech/aspell
 PosibErr<void> setup(const Config & c, ParmStr from, ParmStr to, Normalize norm)
 {
   delete conv;
   conv = 0;
   PosibErr<Convert *> pe = new_convert_if_needed(c, from, to, norm);
   if (pe.has_err()) return pe;
   conv = pe.data;
   return no_err;
 }
コード例 #4
0
ファイル: readonly_ws.cpp プロジェクト: MarkusKull/aspell
 PosibErr<void> create_default_readonly_dict(StringEnumeration * els,
                                             Config & config)
 {
   CachePtr<Language> lang;
   PosibErr<Language *> res = new_language(config);
   if (res.has_err()) return res;
   lang.reset(res.data);
   lang->set_lang_defaults(config);
   RET_ON_ERR(create(els,*lang,config));
   return no_err;
 }
コード例 #5
0
ファイル: cache-t.hpp プロジェクト: Distrotech/aspell
PosibErr<Data *> get_cache_data(GlobalCache<Data> * cache, 
                                typename Data::CacheConfig * config, 
                                const typename Data::CacheKey & key)
{
  LOCK(&cache->lock);
  Data * n = cache->find(key);
  //CERR << "Getting " << key << " for " << cache->name << "\n";
  if (n) {
    n->refcount++;
    return n;
  }
  PosibErr<Data *> res = Data::get_new(key, config);
  if (res.has_err()) {
    //CERR << "ERROR\n"; 
    return res;
  }
  n = res.data;
  cache->add(n);
  //CERR << "LOADED FROM DISK\n";
  return n;
}