From 2fa45a596858b41c2018df102d60c5a9a155d54a Mon Sep 17 00:00:00 2001 From: Peng Wu Date: Wed, 27 Jun 2012 11:08:04 +0800 Subject: write pinyin begin/end add phrase --- src/pinyin.cpp | 15 +++++++++++++++ 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: -- cgit