1 #ifndef _GSB_CATEGORY_DATA_H
2 #define _GSB_CATEGORY_DATA_H (1)
3 
4 /* START_INCLUDE_H */
5 #include "gsb_real.h"
6 /* END_INCLUDE_H */
7 
8 /* used to choose the kind of categories list */
9 enum category_choice_values {
10     CATEGORY_CHOICE_NONE = 0,
11     CATEGORY_CHOICE_DEFAULT,
12     CATEGORY_CHOICE_ASSOCIATION,
13     CATEGORY_CHOICE_LIBERAL
14 };
15 
16 
17 /* START_DECLARATION */
18 void 		gsb_data_category_add_transaction_to_category 		(gint transaction_number,
19 																 gint category_id,
20 																 gint sub_category_id);
21 gboolean 	gsb_data_category_fill_transaction_by_string 		(gint transaction_number,
22 																 const gchar *string,
23 																 gboolean is_transaction);
24 void 		gsb_data_categorie_free_name_list 					(GSList *liste);
25 GsbReal 	gsb_data_category_get_balance 						(gint no_category);
26 GSList *	gsb_data_category_get_categories_list			 	(void);
27 GsbReal 	gsb_data_category_get_direct_balance 				(gint no_category);
28 gpointer 	gsb_data_category_get_empty_category 				(void);
29 gchar *		gsb_data_category_get_name 							(gint no_category,
30 																 gint no_sub_category,
31 																 const gchar *return_value_error);
32 GSList *	gsb_data_category_get_name_list 					(gboolean set_debit,
33 																 gboolean set_credit,
34 																 gboolean set_special,
35 																 gboolean set_split);
36 gint 		gsb_data_category_get_nb_direct_transactions 		(gint no_category);
37 gint 		gsb_data_category_get_nb_transactions 				(gint no_category);
38 gint 		gsb_data_category_get_no_category 					(gpointer category_ptr);
39 gint 		gsb_data_category_get_no_sub_category 				(gpointer sub_category_ptr);
40 gint 		gsb_data_category_get_number_by_name 				(const gchar *name,
41 																 gboolean create,
42 																 gint category_type);
43 gpointer 	gsb_data_category_get_structure 					(gint no_category);
44 GsbReal 	gsb_data_category_get_sub_category_balance 			(gint no_category,
45 																 gint no_sub_category);
46 gint 		gsb_data_category_get_sub_category_list_length 		(gint no_category);
47 GSList *	gsb_data_category_get_sub_category_list 			(gint no_category);
48 gchar *		gsb_data_category_get_sub_category_name 			(gint no_category,
49 																 gint no_sub_category,
50 																 const gchar *return_value_error);
51 gint 		gsb_data_category_get_sub_category_nb_transactions 	(gint no_category,
52 																 gint no_sub_category);
53 gint 		gsb_data_category_get_sub_category_number_by_name 	(gint category_number,
54 																 const gchar *name,
55 																 gboolean create);
56 gpointer 	gsb_data_category_get_sub_category_structure 		(gint no_category,
57 																 gint no_sub_category);
58 gint 		gsb_data_category_get_type 							(gint no_category);
59 gboolean 	gsb_data_category_init_variables 					(gboolean cleanup);
60 gint 		gsb_data_category_new_sub_category_with_number_and_name 		(gint number,
61 																 gint category_number,
62                                                                  const gchar *name);
63 gint 		gsb_data_category_new_with_number 					(gint number);
64 gboolean 	gsb_data_category_remove 							(gint no_category);
65 void 		gsb_data_category_remove_transaction_from_category 	(gint transaction_number);
66 void		gsb_data_category_set_category_from_string 			(gint transaction_number,
67 																 const gchar *string,
68 																 gboolean is_transaction);
69 gboolean 	gsb_data_category_set_name 							(gint no_category,
70 																 const gchar *name);
71 gboolean 	gsb_data_category_set_sub_category_name 			(gint no_category,
72 																 gint no_sub_category,
73 																 const gchar *name);
74 gboolean 	gsb_data_category_set_type 							(gint no_category,
75 																 gint category_type);
76 gboolean 	gsb_data_category_sub_category_remove 				(gint no_category,
77 																 gint no_sub_category);
78 gint 		gsb_data_category_test_create_category 				(gint no_category,
79 																 const gchar *name,
80 																 gint category_type);
81 gboolean 	gsb_data_category_test_create_sub_category			(gint no_category,
82 																 gint no_sub_category,
83 																 const gchar *name);
84 void 		gsb_data_category_update_counters 					(void);
85 gchar * 	gsb_debug_duplicate_categ_check 					(void);
86 gboolean 	gsb_debug_duplicate_categ_fix 						(void);
87 /* END_DECLARATION */
88 #endif
89