1 /**********************************************************
2 * This file has been automatically created by "typemaker2"
3 * from the file "providerqueue.xml".
4 * Please do not edit this file, all changes will be lost.
5 * Better edit the mentioned source file instead.
6 **********************************************************/
7
8 #ifdef HAVE_CONFIG_H
9 # include <config.h>
10 #endif
11
12 #include "./providerqueue_p.h"
13
14 #include <gwenhywfar/misc.h>
15 #include <gwenhywfar/debug.h>
16
17 /* code headers */
18
19 /* macro functions */
GWEN_LIST_FUNCTIONS(AB_PROVIDERQUEUE,AB_ProviderQueue)20 GWEN_LIST_FUNCTIONS(AB_PROVIDERQUEUE, AB_ProviderQueue)
21 GWEN_INHERIT_FUNCTIONS(AB_PROVIDERQUEUE)
22
23
24 AB_PROVIDERQUEUE *AB_ProviderQueue_new(void)
25 {
26 AB_PROVIDERQUEUE *p_struct;
27
28 GWEN_NEW_OBJECT(AB_PROVIDERQUEUE, p_struct)
29 p_struct->_refCount=1;
30 GWEN_INHERIT_INIT(AB_PROVIDERQUEUE, p_struct)
31 GWEN_LIST_INIT(AB_PROVIDERQUEUE, p_struct)
32 /* members */
33 p_struct->providerName=NULL;
34 p_struct->provider=NULL;
35 p_struct->accountQueueList=AB_AccountQueue_List_new();
36 /* virtual functions */
37
38 return p_struct;
39 }
40
AB_ProviderQueue_free(AB_PROVIDERQUEUE * p_struct)41 void AB_ProviderQueue_free(AB_PROVIDERQUEUE *p_struct)
42 {
43 if (p_struct) {
44 assert(p_struct->_refCount);
45 if (p_struct->_refCount==1) {
46 GWEN_INHERIT_FINI(AB_PROVIDERQUEUE, p_struct)
47 GWEN_LIST_FINI(AB_PROVIDERQUEUE, p_struct)
48 /* members */
49 free(p_struct->providerName);
50 p_struct->providerName=NULL;
51 AB_AccountQueue_List_free(p_struct->accountQueueList);
52 p_struct->accountQueueList=NULL;
53 p_struct->_refCount=0;
54 GWEN_FREE_OBJECT(p_struct);
55 }
56 else
57 p_struct->_refCount--;
58 }
59 }
60
AB_ProviderQueue_Attach(AB_PROVIDERQUEUE * p_struct)61 void AB_ProviderQueue_Attach(AB_PROVIDERQUEUE *p_struct)
62 {
63 assert(p_struct);
64 assert(p_struct->_refCount);
65 p_struct->_refCount++;
66 }
67
AB_ProviderQueue_dup(const AB_PROVIDERQUEUE * p_src)68 AB_PROVIDERQUEUE *AB_ProviderQueue_dup(const AB_PROVIDERQUEUE *p_src)
69 {
70 AB_PROVIDERQUEUE *p_struct;
71
72 assert(p_src);
73 p_struct=AB_ProviderQueue_new();
74 /* member "providerName" */
75 if (p_struct->providerName) {
76 free(p_struct->providerName);
77 p_struct->providerName=NULL;
78 p_struct->providerName=NULL;
79 }
80 if (p_src->providerName) {
81 p_struct->providerName=strdup(p_src->providerName);
82 }
83
84 /* member "provider" */
85 p_struct->provider=p_src->provider;
86
87 /* member "accountQueueList" */
88 if (p_struct->accountQueueList) {
89 AB_AccountQueue_List_free(p_struct->accountQueueList);
90 p_struct->accountQueueList=NULL;
91 p_struct->accountQueueList=NULL;
92 }
93 if (p_src->accountQueueList) {
94 p_struct->accountQueueList=AB_AccountQueue_List_dup(p_src->accountQueueList);
95 }
96
97 return p_struct;
98 }
99
AB_ProviderQueue_GetProviderName(const AB_PROVIDERQUEUE * p_struct)100 const char *AB_ProviderQueue_GetProviderName(const AB_PROVIDERQUEUE *p_struct)
101 {
102 assert(p_struct);
103 return p_struct->providerName;
104 }
105
AB_ProviderQueue_GetProvider(const AB_PROVIDERQUEUE * p_struct)106 AB_PROVIDER *AB_ProviderQueue_GetProvider(const AB_PROVIDERQUEUE *p_struct)
107 {
108 assert(p_struct);
109 return p_struct->provider;
110 }
111
AB_ProviderQueue_GetAccountQueueList(const AB_PROVIDERQUEUE * p_struct)112 AB_ACCOUNTQUEUE_LIST *AB_ProviderQueue_GetAccountQueueList(const AB_PROVIDERQUEUE *p_struct)
113 {
114 assert(p_struct);
115 return p_struct->accountQueueList;
116 }
117
AB_ProviderQueue_SetProviderName(AB_PROVIDERQUEUE * p_struct,const char * p_src)118 void AB_ProviderQueue_SetProviderName(AB_PROVIDERQUEUE *p_struct, const char *p_src)
119 {
120 assert(p_struct);
121 if (p_struct->providerName) {
122 free(p_struct->providerName);
123 p_struct->providerName=NULL;
124 }
125 if (p_src) {
126 p_struct->providerName=strdup(p_src);
127 }
128 else {
129 p_struct->providerName=NULL;
130 }
131 }
132
AB_ProviderQueue_SetProvider(AB_PROVIDERQUEUE * p_struct,AB_PROVIDER * p_src)133 void AB_ProviderQueue_SetProvider(AB_PROVIDERQUEUE *p_struct, AB_PROVIDER *p_src)
134 {
135 assert(p_struct);
136 p_struct->provider=p_src;
137 }
138
AB_ProviderQueue_SetAccountQueueList(AB_PROVIDERQUEUE * p_struct,AB_ACCOUNTQUEUE_LIST * p_src)139 void AB_ProviderQueue_SetAccountQueueList(AB_PROVIDERQUEUE *p_struct, AB_ACCOUNTQUEUE_LIST *p_src)
140 {
141 assert(p_struct);
142 if (p_struct->accountQueueList) {
143 AB_AccountQueue_List_free(p_struct->accountQueueList);
144 p_struct->accountQueueList=NULL;
145 }
146 p_struct->accountQueueList=p_src;
147 }
148
149 /* list1 functions */
AB_ProviderQueue_List_dup(const AB_PROVIDERQUEUE_LIST * p_src)150 AB_PROVIDERQUEUE_LIST *AB_ProviderQueue_List_dup(const AB_PROVIDERQUEUE_LIST *p_src)
151 {
152 AB_PROVIDERQUEUE_LIST *p_dest;
153 AB_PROVIDERQUEUE *p_elem;
154
155 assert(p_src);
156 p_dest=AB_ProviderQueue_List_new();
157 p_elem=AB_ProviderQueue_List_First(p_src);
158 while (p_elem) {
159 AB_PROVIDERQUEUE *p_cpy;
160
161 p_cpy=AB_ProviderQueue_dup(p_elem);
162 AB_ProviderQueue_List_Add(p_cpy, p_dest);
163 p_elem=AB_ProviderQueue_List_Next(p_elem);
164 }
165
166 return p_dest;
167 }
168
AB_ProviderQueue_List_GetByProviderName(const AB_PROVIDERQUEUE_LIST * p_list,const char * p_cmp)169 AB_PROVIDERQUEUE *AB_ProviderQueue_List_GetByProviderName(const AB_PROVIDERQUEUE_LIST *p_list, const char *p_cmp)
170 {
171 AB_PROVIDERQUEUE *p_struct;
172
173 assert(p_list);
174 p_struct = AB_ProviderQueue_List_First(p_list);
175 while (p_struct) {
176 int p_rv;
177
178 if (p_struct->providerName && p_cmp)
179 p_rv=strcasecmp(p_cmp, p_struct->providerName);
180 else if (p_cmp)
181 p_rv=1;
182 else if (p_struct->providerName)
183 p_rv=-1;
184 else
185 p_rv=0;
186 if (p_rv == 0)
187 return p_struct;
188 p_struct = AB_ProviderQueue_List_Next(p_struct);
189 }
190 return NULL;
191 }
192
AB_ProviderQueue_FindAccountQueueById(const AB_PROVIDERQUEUE * pq,uint32_t uid)193 AB_ACCOUNTQUEUE *AB_ProviderQueue_FindAccountQueueById(const AB_PROVIDERQUEUE *pq, uint32_t uid)
194 {
195 if (pq->accountQueueList==NULL)
196 return NULL;
197 return AB_AccountQueue_List_GetByAccountId(pq->accountQueueList, uid);
198 }
AB_ProviderQueue_AddAccountQueue(AB_PROVIDERQUEUE * pq,AB_ACCOUNTQUEUE * aq)199 void AB_ProviderQueue_AddAccountQueue(AB_PROVIDERQUEUE *pq, AB_ACCOUNTQUEUE *aq)
200 {
201 if (pq->accountQueueList==NULL)
202 pq->accountQueueList=AB_AccountQueue_List_new();
203 AB_AccountQueue_List_Add(aq, pq->accountQueueList);
204 }
AB_ProviderQueue_GetFirstAccountQueue(const AB_PROVIDERQUEUE * pq)205 AB_ACCOUNTQUEUE *AB_ProviderQueue_GetFirstAccountQueue(const AB_PROVIDERQUEUE *pq)
206 {
207 if (pq->accountQueueList==NULL)
208 return NULL;
209 return AB_AccountQueue_List_First(pq->accountQueueList);
210 }
211
212 /* code headers */
213
214