Fix license
[platform/core/uifw/anthy.git] / src-util / rkconv.h
1 #ifndef RKCONV_H_INCLUDED
2 #define RKCONV_H_INCLUDED
3
4 struct rk_map;
5 struct rk_rule
6 {
7         const char* lhs;
8         const char* rhs;
9         const char* follow;
10 };
11 struct rk_conv_context;
12
13 struct rk_map*
14 rk_map_create(const struct rk_rule* rules);
15 struct rk_conv_context*
16 rk_context_create(int brk);
17 struct rk_map*
18 rk_select_map(struct rk_conv_context* cc, struct rk_map* map);
19 int
20 rk_push_key(struct rk_conv_context* cc, int c);
21 int
22 rk_result(struct rk_conv_context* cc, char* buf, int size);
23 void
24 rk_context_free(struct rk_conv_context* cc);
25 int
26 rk_map_free(struct rk_map* map);
27 int
28 rk_partial_result(struct rk_conv_context* cc, char* buf, int size);
29
30 void
31 rk_flush(struct rk_conv_context* cc);
32 void
33 rk_terminate(struct rk_conv_context* cc);
34 int
35 rk_get_pending_str(struct rk_conv_context* cc, char* buf, int size);
36 struct rk_map* 
37 rk_register_map(struct rk_conv_context* cc, int mapn, struct rk_map* map);
38 void
39 rk_select_registered_map(struct rk_conv_context* cc, int mapn);
40 int
41 rk_selected_map(struct rk_conv_context* cc);
42
43 struct rk_rule*
44 rk_merge_rules(const struct rk_rule* r1, const struct rk_rule* r2);
45 void
46 rk_rules_free(struct rk_rule* rules);
47
48 const char *brk_roman_get_previous_pending(struct rk_conv_context *);
49 int         brk_roman_get_decided_len(struct rk_conv_context *);
50
51 #endif /* RKCONV_H_INCLUDED */