1 /**********************************************************
2  * This file has been automatically created by "typemaker2"
3  * from the file "balance.xml".
4  * Please do not edit this file, all changes will be lost.
5  * Better edit the mentioned source file instead.
6  **********************************************************/
7 
8 #ifndef AB_BALANCE_BALANCE_H
9 #define AB_BALANCE_BALANCE_H
10 
11 
12 #ifdef __cplusplus
13 extern "C" {
14 #endif
15 
16 /** @page P_AB_BALANCE Structure AB_BALANCE
17 <p>This page describes the properties of AB_BALANCE.</p>
18 
19 
20 
21 <h1>AB_BALANCE</h1>
22 
23 This class holds time and amount of an account balance.
24 
25 
26 @anchor AB_BALANCE_date
27 <h2>date</h2>
28 
29 <p>Set this property with @ref AB_Balance_SetDate(), get it with @ref AB_Balance_GetDate().</p>
30 
31 
32 @anchor AB_BALANCE_value
33 <h2>value</h2>
34 
35 <p>Set this property with @ref AB_Balance_SetValue(), get it with @ref AB_Balance_GetValue().</p>
36 
37 
38 @anchor AB_BALANCE_type
39 <h2>type</h2>
40 
41 <p>Set this property with @ref AB_Balance_SetType(), get it with @ref AB_Balance_GetType().</p>
42 
43 */
44 
45 /* needed system headers */
46 #include <gwenhywfar/types.h>
47 #include <gwenhywfar/list1.h>
48 #include <gwenhywfar/db.h>
49 #include <gwenhywfar/xml.h>
50 
51 /* pre-headers */
52 #include <aqbanking/error.h>
53 #include <gwenhywfar/types.h>
54 #include <gwenhywfar/gwendate.h>
55 
56 typedef struct AB_BALANCE AB_BALANCE;
57 GWEN_LIST_FUNCTION_LIB_DEFS(AB_BALANCE, AB_Balance, AQBANKING_API)
58 
59 
60 
61 typedef enum {
62   AB_Balance_TypeUnknown = -1,
63   AB_Balance_TypeNone = 0,
64   AB_Balance_TypeNoted,
65   AB_Balance_TypeBooked,
66   AB_Balance_TypeBankLine,
67   AB_Balance_TypeDisposable,
68   AB_Balance_TypeTemporary,
69   AB_Balance_TypeDayStart,
70   AB_Balance_TypeDayEnd
71 } AB_BALANCE_TYPE;
72 
73 
74 /* post-headers */
75 #include <aqbanking/types/value.h>
76 
77 
78 AQBANKING_API AB_BALANCE_TYPE AB_Balance_Type_fromString(const char *p_s);
79 
80 AQBANKING_API const char *AB_Balance_Type_toString(AB_BALANCE_TYPE p_i);
81 
82 /** Constructor. */
83 AQBANKING_API AB_BALANCE *AB_Balance_new(void);
84 
85 /** Destructor. */
86 AQBANKING_API void AB_Balance_free(AB_BALANCE *p_struct);
87 
88 AQBANKING_API void AB_Balance_Attach(AB_BALANCE *p_struct);
89 
90 AQBANKING_API AB_BALANCE *AB_Balance_dup(const AB_BALANCE *p_struct);
91 
92 AQBANKING_API AB_BALANCE *AB_Balance_copy(AB_BALANCE *p_struct, const AB_BALANCE *p_src);
93 
94 /** Getter.
95  * Use this function to get the member "date" (see @ref AB_BALANCE_date)
96 */
97 AQBANKING_API const GWEN_DATE *AB_Balance_GetDate(const AB_BALANCE *p_struct);
98 
99 /** Getter.
100  * Use this function to get the member "value" (see @ref AB_BALANCE_value)
101 */
102 AQBANKING_API const AB_VALUE *AB_Balance_GetValue(const AB_BALANCE *p_struct);
103 
104 /** Getter.
105  * Use this function to get the member "type" (see @ref AB_BALANCE_type)
106 */
107 AQBANKING_API AB_BALANCE_TYPE AB_Balance_GetType(const AB_BALANCE *p_struct);
108 
109 /** Setter.
110  * Use this function to set the member "date" (see @ref AB_BALANCE_date)
111 */
112 AQBANKING_API void AB_Balance_SetDate(AB_BALANCE *p_struct, const GWEN_DATE *p_src);
113 
114 /** Setter.
115  * Use this function to set the member "value" (see @ref AB_BALANCE_value)
116 */
117 AQBANKING_API void AB_Balance_SetValue(AB_BALANCE *p_struct, const AB_VALUE *p_src);
118 
119 /** Setter.
120  * Use this function to set the member "type" (see @ref AB_BALANCE_type)
121 */
122 AQBANKING_API void AB_Balance_SetType(AB_BALANCE *p_struct, AB_BALANCE_TYPE  p_src);
123 
124 /* list1 functions */
125 AQBANKING_API AB_BALANCE_LIST *AB_Balance_List_dup(const AB_BALANCE_LIST *p_src);
126 
127 AQBANKING_API void AB_Balance_ReadDb(AB_BALANCE *p_struct, GWEN_DB_NODE *p_db);
128 
129 AQBANKING_API int AB_Balance_WriteDb(const AB_BALANCE *p_struct, GWEN_DB_NODE *p_db);
130 
131 AQBANKING_API AB_BALANCE *AB_Balance_fromDb(GWEN_DB_NODE *p_db);
132 
133 AQBANKING_API int AB_Balance_toDb(const AB_BALANCE *p_struct, GWEN_DB_NODE *p_db);
134 
135 AQBANKING_API void AB_Balance_ReadXml(AB_BALANCE *p_struct, GWEN_XMLNODE *p_db);
136 
137 AQBANKING_API void AB_Balance_WriteXml(const AB_BALANCE *p_struct, GWEN_XMLNODE *p_db);
138 
139 AQBANKING_API void AB_Balance_toXml(const AB_BALANCE *p_struct, GWEN_XMLNODE *p_db);
140 
141 AQBANKING_API AB_BALANCE *AB_Balance_fromXml(GWEN_XMLNODE *p_db);
142 
143 AQBANKING_API AB_BALANCE *AB_Balance_List_GetByType(const AB_BALANCE_LIST *p_list, int p_cmp);
144 
145 AQBANKING_API AB_BALANCE *AB_Balance_List_FindFirstByType(const AB_BALANCE_LIST *bl, int ty);
146 AQBANKING_API AB_BALANCE *AB_Balance_List_FindNextByType(AB_BALANCE *bal, int ty);
147 AQBANKING_API AB_BALANCE *AB_Balance_List_GetLatestByType(const AB_BALANCE_LIST *bl, int ty);
148 /* end-headers */
149 
150 
151 #ifdef __cplusplus
152 }
153 #endif
154 
155 #endif
156 
157