diff options
author | Peng Wu <alexepico@gmail.com> | 2011-09-29 11:03:50 +0800 |
---|---|---|
committer | Peng Wu <alexepico@gmail.com> | 2011-12-22 12:23:13 +0800 |
commit | b35d3416c2ea19f1ec33b622db3968f1c78804e2 (patch) | |
tree | 49b8f7375cbbb880b432f2afa2c52216d1a413f8 /src/PYLibPinyin.cc | |
parent | 5c5f74abcc1f29a8da8c66dbb9db9a58dbb4cf4a (diff) | |
download | ibus-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.cc | 22 |
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. */ |