summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-06-27 11:08:04 +0800
committerPeng Wu <alexepico@gmail.com>2012-06-27 11:11:56 +0800
commit2fa45a596858b41c2018df102d60c5a9a155d54a (patch)
tree07e76ccdee66406b027cbfc38572bcbab40cc971
parent8f8fb50a3d8bd31cb62d02299892343e993e49a6 (diff)
downloadlibpinyin-2fa45a596858b41c2018df102d60c5a9a155d54a.tar.gz
libpinyin-2fa45a596858b41c2018df102d60c5a9a155d54a.tar.xz
libpinyin-2fa45a596858b41c2018df102d60c5a9a155d54a.zip
write pinyin begin/end add phrase
-rw-r--r--src/pinyin.cpp15
-rw-r--r--src/pinyin.h9
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: