summaryrefslogtreecommitdiffstats
path: root/src/PYLibPinyin.cc
diff options
context:
space:
mode:
authorPeng Wu <alexepico@gmail.com>2013-02-08 10:29:05 +0800
committerPeng Wu <alexepico@gmail.com>2013-02-08 10:29:05 +0800
commit42fdd95eeea6e72f65fe74e356b6ab96bc95666c (patch)
tree342bb2b21f0c0e36a446d6cbd4c55bf118ba7a50 /src/PYLibPinyin.cc
parent00b1261817b55f04531bcac76191b27f796ab1ea (diff)
downloadibus-libpinyin-42fdd95eeea6e72f65fe74e356b6ab96bc95666c.tar.gz
ibus-libpinyin-42fdd95eeea6e72f65fe74e356b6ab96bc95666c.tar.xz
ibus-libpinyin-42fdd95eeea6e72f65fe74e356b6ab96bc95666c.zip
write clearPinyinUserData
Diffstat (limited to 'src/PYLibPinyin.cc')
-rw-r--r--src/PYLibPinyin.cc14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/PYLibPinyin.cc b/src/PYLibPinyin.cc
index 3187706..811400c 100644
--- a/src/PYLibPinyin.cc
+++ b/src/PYLibPinyin.cc
@@ -20,6 +20,8 @@
*/
#include "PYLibPinyin.h"
+
+#include <string.h>
#include <pinyin.h>
#include "PYPConfig.h"
@@ -237,6 +239,18 @@ LibPinyinBackEnd::modified (void)
static_cast<gpointer> (this));
}
+bool
+LibPinyinBackEnd::clearPinyinUserData (const char * target)
+{
+ if (0 == strcmp("all", target))
+ pinyin_mask_out(m_pinyin_context, 0x0, 0x0);
+ else if (0 == strcmp("user", target))
+ pinyin_mask_out(m_pinyin_context, PHRASE_INDEX_LIBRARY_MASK,
+ PHRASE_INDEX_MAKE_TOKEN(15, null_token));
+ else
+ g_warning("unknown clear target: %s.\n", target);
+}
+
gboolean
LibPinyinBackEnd::timeoutCallback (gpointer data)
{