diff options
-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: |