Fix memory leak issues
[platform/core/uifw/anthy.git] / anthy / record.h
1 /* ³Ø½¬¤ÎÍúÎò¤Ê¤É¤òÊݸ¤¹¤ë¥Ç¡¼¥¿¥Ù¡¼¥¹ */
2 #ifndef _record_h_included_
3 #define _record_h_included_
4 /*
5  * ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï̾Á°¤ò¤â¤ÄÊ£¿ô¤Îsection¤«¤é¹½À®¤µ¤ì³Æ¥»¥¯¥·¥ç¥ó¤Ï
6  * Ê¸»úÎó¤ò¥­¡¼¤È¤·¤Æ¹â®¤Ë¼è¤ê½Ð¤¹¤³¤È¤¬¤Ç¤­¤ërow¤«¤é¤Ê¤ë¡£
7  *
8  * ¥Ç¡¼¥¿¥Ù¡¼¥¹¤Ï¥«¥ì¥ó¥Èsection¤ä¥«¥ì¥ó¥Èrow¤Ê¤É¤Î¾õÂÖ¤ò»ý¤Á
9  * Áàºî¤Ï¤½¤ì¤ËÂФ·¤Æ¹Ô¤ï¤ì¤ë¡£
10  * sectionÃæ¤Îrow¤Ï½ç½ø´Ø·¸¤ò¤â¤Ã¤Æ¤¤¤ë
11  * ¤½¤Î½ç½ø´Ø·¸¤È¤ÏÊ̤ËLRU¤Î½ç½ø¤ò¤â¤Ã¤Æ¤¤¤ë
12  */
13
14 #include "xstr.h"
15
16 /*
17  * ¥«¥ì¥ó¥Èsection¤òÀßÄꤹ¤ë
18  * name: section¤Î̾Á°
19  * create_if_not_exist: ¤½¤Îsection¤¬¤Ê¤±¤ì¤Ðºî¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°
20  * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
21  * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èsection¤Ï̵¸ú¤Ë¤Ê¤ë
22  * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
23  */
24 int anthy_select_section(const char *name, int create_if_not_exist);
25
26 /*
27  * ¥«¥ì¥ó¥ÈsectionÃ椫¤éname¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
28  * name: row¤Î̾Á°
29  * create_if_not_exist: ¤½¤Îrow¤¬¤Ê¤±¤ì¤Ðºî¤ë¤«¤É¤¦¤«¤Î¥Õ¥é¥°
30  * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
31  * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
32  */
33 int anthy_select_row(xstr *name, int create_if_not_exist);
34
35 /*
36  * ¥«¥ì¥ó¥ÈsectionÃ椫¤éname¤ËºÇ¤âŤ¤Ê¸»ú¿ô¤Ç¥Þ¥Ã¥Á¤¹¤ë
37  * Ì¾Á°¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
38  * name: row¤Î̾Á°
39  * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
40  * ¼ºÇԤλþ¤Ë¤Ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
41  */
42 int anthy_select_longest_row(xstr *name);
43
44 /*
45  * ¥«¥ì¥ó¥ÈsectionÃæ¤ÎºÇ½é¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
46  * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
47  * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
48  */
49 int anthy_select_first_row(void);
50
51 /*
52  * ¥«¥ì¥ó¥Èrow¤Î¼¡¤Îrow¤ò¥«¥ì¥ó¥Èrow¤Ë¤¹¤ë
53  * ÊÖ¤êÃÍ: À®¸ù 0 ¡¢¼ºÇÔ -1
54  * ¥«¥ì¥ó¥Èrow¤ËÂФ¹¤ëÊѹ¹¤¬¤¢¤Ã¤Æ¤â¡¢¥Õ¥¡¥¤¥ë¤Ë¤ÏÊݸ¤µ¤ì¤Ê¤¤
55  * ¼ºÇԤλþ¤Ë¤Ï¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
56  */
57 int anthy_select_next_row(void);
58
59 /*
60  * ¥«¥ì¥ó¥Èsection¤ò²òÊü¤¹¤ë
61  * ¾ï¤Ë¥«¥ì¥ó¥Èsection,row¤Ï̵¸ú¤Ë¤Ê¤ë
62  */
63 void anthy_release_section(void);
64
65 /*
66  * ¥«¥ì¥ó¥Èsection¤ÎLRU¥ê¥¹¥È¤ÎÀèƬ¤«¤écount¸Ä°Ê¹ß¤ò²òÊü¤¹¤ë
67  * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
68  */
69 void anthy_truncate_section(int count);
70
71
72 /* ¸½ºß¤Îrow¤ËÂФ¹¤ëÁàºî */
73 xstr *anthy_get_index_xstr(void);
74 int anthy_get_nr_values(void);
75 int anthy_get_nth_value(int );
76 xstr *anthy_get_nth_xstr(int );/* intern¤µ¤ì¤Æ¤¤¤ëxstr¤¬ÊÖ¤µ¤ì¤ë */
77
78 void anthy_set_nth_value(int nth, int val);
79 void anthy_set_nth_xstr(int nth, xstr *xs);/* ÆâÉô¤Ç¥³¥Ô¡¼¤µ¤ì¤ë */
80
81 void anthy_truncate_row(int nth);/* To Be Implemented */
82
83 /*
84  * ¥«¥ì¥ó¥Èrow¤ò²òÊü¤¹¤ë¡£½ªÎ»¸å¤Î¥«¥ì¥ó¥Èrow¤ÏÉÔÄê
85  * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
86  */
87 void anthy_release_row(void);
88
89 /*
90  * ¥«¥ì¥ó¥Èrow¤òLRU¤ÎÀèƬ¤ÎÊý¤Ø¤â¤Ã¤Æ¤¯¤ë
91  * ¾ï¤Ë¥«¥ì¥ó¥Èrow¤Ï̵¸ú¤Ë¤Ê¤ë
92  */
93 int anthy_mark_row_used(void);
94
95
96 void anthy_reload_record(void);
97
98 #endif