summaryrefslogtreecommitdiffstats
path: root/src/PYLibPinyin.cc
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2011-09-29 11:03:50 +0800
committerPeng Wu <alexepico@gmail.com>2011-12-22 12:23:13 +0800
commitb35d3416c2ea19f1ec33b622db3968f1c78804e2 (patch)
tree49b8f7375cbbb880b432f2afa2c52216d1a413f8 /src/PYLibPinyin.cc
parent5c5f74abcc1f29a8da8c66dbb9db9a58dbb4cf4a (diff)
downloadibus-libpinyin-b35d3416c2ea19f1ec33b622db3968f1c78804e2.tar.gz
ibus-libpinyin-b35d3416c2ea19f1ec33b622db3968f1c78804e2.tar.xz
ibus-libpinyin-b35d3416c2ea19f1ec33b622db3968f1c78804e2.zip
re-factor libpinyin backend
Diffstat (limited to 'src/PYLibPinyin.cc')
-rw-r--r--src/PYLibPinyin.cc22
1 files changed, 16 insertions, 6 deletions
diff --git a/src/PYLibPinyin.cc b/src/PYLibPinyin.cc
index 8e3d7af..e4d1b84 100644
--- a/src/PYLibPinyin.cc
+++ b/src/PYLibPinyin.cc
@@ -29,15 +29,25 @@ std::unique_ptr<LibPinyinBackEnd> LibPinyinBackEnd::m_instance;
static LibPinyinBackEnd libpinyin_backend;
-LibPinyinBackEnd::LibPinyinBackEnd(){
- g_assert (NULL == m_instance.get ());
- m_pinyin_context = pinyin_init("/usr/share/libpinyin/data", "../data");
- m_instance.reset(this);
+LibPinyinBackEnd::LibPinyinBackEnd () {
+ m_pinyin_context = pinyin_init ("/usr/share/libpinyin/data", NULL);
+ m_chewing_context = pinyin_init ("/usr/share/libpinyin/data", NULL);
}
-LibPinyinBackEnd::~LibPinyinBackEnd(){
+LibPinyinBackEnd::~LibPinyinBackEnd () {
pinyin_fini(m_pinyin_context);
- m_instance = NULL;
+ pinyin_fini(m_chewing_context);
+}
+
+void
+LibPinyinBackEnd::init (void) {
+ g_assert (NULL == m_instance.get ());
+ LibPinyinBackEnd * backend = new LibPinyinBackEnd;
+ m_instance.reset(backend);
+}
+
+void
+LibPinyinBackEnd::finalize (void) {
}
/* Here are the fuzzy pinyin options conversion table. */