Fix license
[platform/core/uifw/anthy.git] / src-worddic / dic_main.h
1 #ifndef _dic_main_h_included_
2 #define _dic_main_h_included_
3
4 #include <anthy/dic.h>
5 #include <anthy/word_dic.h>
6 #include <anthy/wtype.h>
7 #include <anthy/xstr.h>
8
9
10 /* ¼­½ñÃæ¤ÎÉÑÅÙ¤ËÂФ·¤ÆÆâÉô¤ÎÉÑÅÙ¤ÎÇÜΨ */
11 #define FREQ_RATIO 8
12
13
14 /* dic_main.c */
15 int anthy_init_dic_cache(void);
16 struct seq_ent *anthy_cache_get_seq_ent(xstr *x, int is_reverse);
17
18
19 /* word_dic.c */
20 /* ¼­½ñ¸¡º÷¤Î¥­¡¼¤Ë»ÈÍѤ¹¤ëÉôʬʸ»úÎó */
21 struct gang_elm {
22   char *key;
23   xstr xs;
24   union {
25     /* ¾Ê¥á¥â¥ê¤Î¤¿¤á¤Ëunion¤Ë¤·¤Æ¤¤¤ë */
26     int idx;
27     struct gang_elm *next;
28   } tmp;
29 };
30 struct seq_ent *anthy_cache_get_seq_ent(xstr *xs, int is_reverse);
31 struct seq_ent *anthy_validate_seq_ent(struct seq_ent *seq, xstr *xs,
32                                        int is_reverse);
33
34
35 /* word_lookup.c */
36 void anthy_init_word_dic(void);
37 struct word_dic* anthy_create_word_dic(void);
38 void anthy_release_word_dic(struct word_dic *);
39 void anthy_gang_fill_seq_ent(struct word_dic *wd,
40                              struct gang_elm **array, int nr,
41                              int is_reverse);
42
43
44 /* use_dic.c */
45 void anthy_init_use_dic(void);
46 void anthy_quit_use_dic(void);
47 int anthy_word_dic_check_word_relation(struct word_dic *,
48                                        int from, int to);
49
50 struct dic_session *anthy_create_session(void);
51 void anthy_activate_session(struct dic_session *);
52 void anthy_release_session(struct dic_session *);
53 int anthy_get_current_session_mask(void);
54
55 /* mem_dic.c */
56 void anthy_init_mem_dic(void);
57 void anthy_quit_mem_dic(void);
58 struct mem_dic * anthy_create_mem_dic(void);
59 void anthy_release_mem_dic(struct mem_dic * );
60 /* node ¤¬¤Ê¤±¤ì¤Ðºî¤ë */
61 struct seq_ent *anthy_mem_dic_alloc_seq_ent_by_xstr(struct mem_dic * d,
62                                                     xstr *, int is_reverse);
63 /* node ¤¬¤Ê¤±¤ì¤Ðºî¤é¤Ê¤¤ */
64 struct seq_ent *anthy_mem_dic_find_seq_ent_by_xstr(struct mem_dic * d,
65                                                    xstr *, int is_reverse);
66 /**/
67 void anthy_mem_dic_push_back_dic_ent(struct seq_ent *se, int is_compound,
68                                      xstr *xs, wtype_t wt,
69                                      const char *wt_name, int freq,
70                                      int feature);
71 void anthy_mem_dic_release_seq_ent(struct mem_dic * d, xstr *, int is_reverse);
72
73
74 /* priv_dic.c */
75 void anthy_init_private_dic(const char *id);
76 void anthy_copy_words_from_private_dic(struct seq_ent *seq, xstr *xs,
77                                        int is_reverse);
78 void anthy_release_private_dic(void);
79 void anthy_check_user_dir(void);
80 void anthy_priv_dic_lock(void);
81 void anthy_priv_dic_unlock(void);
82 void anthy_priv_dic_update(void);
83 struct word_line {
84   char wt[10];
85   int freq;
86   const char *word;
87 };
88 int anthy_parse_word_line(const char *line, struct word_line *res);
89 struct textdict;
90 void anthy_ask_scan(void (*request_scan)(struct textdict *, void *),
91                     void *arg);
92
93 #endif