summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2012-06-26 12:34:54 +0800
committerPeng Wu <alexepico@gmail.com>2012-06-26 12:34:54 +0800
commit8f8fb50a3d8bd31cb62d02299892343e993e49a6 (patch)
tree10b76c03d2e94bd165b53d4ee1c3654c1aa86aed
parentddb8803e219bf4189f9a0105af7189b8c31c5d06 (diff)
downloadlibpinyin-8f8fb50a3d8bd31cb62d02299892343e993e49a6.tar.gz
libpinyin-8f8fb50a3d8bd31cb62d02299892343e993e49a6.tar.xz
libpinyin-8f8fb50a3d8bd31cb62d02299892343e993e49a6.zip
begin to write import iterator
-rw-r--r--src/pinyin.cpp4
-rw-r--r--src/pinyin.h11
-rw-r--r--src/storage/ngram.cpp2
3 files changed, 16 insertions, 1 deletions
diff --git a/src/pinyin.cpp b/src/pinyin.cpp
index 3b5eaa9..92e1d0f 100644
--- a/src/pinyin.cpp
+++ b/src/pinyin.cpp
@@ -49,6 +49,10 @@ struct _pinyin_context_t{
bool m_modified;
};
+struct _import_iterator_t{
+ guint8 m_phrase_index;
+};
+
static bool check_format(const char * userdir){
gchar * filename = g_build_filename
(userdir, "version", NULL);
diff --git a/src/pinyin.h b/src/pinyin.h
index eaa35c2..d99fa63 100644
--- a/src/pinyin.h
+++ b/src/pinyin.h
@@ -37,6 +37,8 @@ typedef struct _pinyin_context_t pinyin_context_t;
typedef struct _pinyin_instance_t pinyin_instance_t;
typedef struct _lookup_candidate_t lookup_candidate_t;
+typedef struct _import_iterator_t import_iterator_t;
+
typedef GArray * CandidateVector; /* GArray of lookup_candidate_t */
enum lookup_candidate_type_t{
@@ -105,6 +107,15 @@ bool pinyin_load_phrase_library(pinyin_context_t * context,
bool pinyin_unload_phrase_library(pinyin_context_t * context,
guint8 index);
+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);
+
+void pinyin_end_add_phrases(import_iterator_t * iterator);
+
/**
* pinyin_save:
* @context: the pinyin context to be saved into user directory.
diff --git a/src/storage/ngram.cpp b/src/storage/ngram.cpp
index a15ed32..d366192 100644
--- a/src/storage/ngram.cpp
+++ b/src/storage/ngram.cpp
@@ -274,7 +274,7 @@ bool Bigram::load_db(const char * dbfile){
bool Bigram::save_db(const char * dbfile){
DB * tmp_db = NULL;
- int ret = g_unlink(dbfile);
+ int ret = unlink(dbfile);
if ( ret != 0 && errno != ENOENT)
return false;