diff options
author | Peng Wu <alexepico@gmail.com> | 2012-06-27 11:08:04 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2012-06-27 11:11:56 +0800 |
commit | 2fa45a596858b41c2018df102d60c5a9a155d54a (patch) | |
tree | 07e76ccdee66406b027cbfc38572bcbab40cc971 | |
parent | 8f8fb50a3d8bd31cb62d02299892343e993e49a6 (diff) | |
download | libpinyin-2fa45a596858b41c2018df102d60c5a9a155d54a.tar.gz libpinyin-2fa45a596858b41c2018df102d60c5a9a155d54a.tar.xz libpinyin-2fa45a596858b41c2018df102d60c5a9a155d54a.zip |
write pinyin begin/end add phrase
-rw-r--r-- | src/pinyin.cpp | 15 | ||||
-rw-r--r-- | src/pinyin.h | 9 |
2 files changed, 20 insertions, 4 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp index 92e1d0f..3ea6f08 100644 --- a/src/pinyin.cpp +++ b/src/pinyin.cpp @@ -50,6 +50,7 @@ struct _pinyin_context_t{ }; struct _import_iterator_t{ + pinyin_context_t * m_context; guint8 m_phrase_index; }; @@ -238,6 +239,20 @@ bool pinyin_unload_phrase_library(pinyin_context_t * context, return true; } +import_iterator_t * pinyin_begin_add_phrases(pinyin_context_t * context, + guint8 index){ + import_iterator_t * iter = new import_iterator_t; + iter->m_context = context; + iter->m_phrase_index = index; + return iter; +} + + +void pinyin_end_add_phrases(import_iterator_t * iter){ + /* compact the content memory chunk of phrase index. */ + iter->m_context->m_phrase_index->compact(); + delete iter; +} bool pinyin_save(pinyin_context_t * context){ if (!context->m_user_dir) diff --git a/src/pinyin.h b/src/pinyin.h index d99fa63..5800768 100644 --- a/src/pinyin.h +++ b/src/pinyin.h @@ -110,11 +110,12 @@ bool pinyin_unload_phrase_library(pinyin_context_t * context, import_iterator_t * pinyin_begin_add_phrases(pinyin_context_t * context, guint8 index); -bool pinyin_add_phrase(import_iterator_t * iterator, - const char * phrase, - const char * pinyin); +bool pinyin_iterator_add_phrase(import_iterator_t * iter, + const char * phrase, + const char * pinyin, + gint count); -void pinyin_end_add_phrases(import_iterator_t * iterator); +void pinyin_end_add_phrases(import_iterator_t * iter); /** * pinyin_save: |