gwenhywfar 5.12.0
tm_slot.c
Go to the documentation of this file.
1/**********************************************************
2 * This file has been automatically created by "typemaker2"
3 * from the file "tm_slot.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 "tm_slot_p.h"
13
14#include <gwenhywfar/misc.h>
15#include <gwenhywfar/debug.h>
16
17/* code headers */
18
19/* macro functions */
22
23
25{
26 TYPEMAKER2_SLOT *p_struct;
27
30 /* members */
31 p_struct->name=NULL;
32 p_struct->paramType1=NULL;
33 p_struct->paramType2=NULL;
34 p_struct->flags=0;
35 /* virtual functions */
36
37 return p_struct;
38}
39
41{
42 if (p_struct) {
44 /* members */
45 free(p_struct->name);
46 free(p_struct->paramType1);
47 free(p_struct->paramType2);
48 GWEN_FREE_OBJECT(p_struct);
49 }
50}
51
53{
54 TYPEMAKER2_SLOT *p_struct;
55
56 assert(p_src);
57 p_struct=Typemaker2_Slot_new();
58 /* member "name" */
59 if (p_struct->name) {
60 free(p_struct->name);
61 p_struct->name=NULL;
62 }
63 if (p_src->name) {
64 p_struct->name=strdup(p_src->name);
65 }
66
67 /* member "paramType1" */
68 if (p_struct->paramType1) {
69 free(p_struct->paramType1);
70 p_struct->paramType1=NULL;
71 }
72 if (p_src->paramType1) {
73 p_struct->paramType1=strdup(p_src->paramType1);
74 }
75
76 /* member "paramType2" */
77 if (p_struct->paramType2) {
78 free(p_struct->paramType2);
79 p_struct->paramType2=NULL;
80 }
81 if (p_src->paramType2) {
82 p_struct->paramType2=strdup(p_src->paramType2);
83 }
84
85 /* member "flags" */
86 p_struct->flags=p_src->flags;
87
88 return p_struct;
89}
90
92{
93 assert(p_struct);
94 assert(p_src);
95 /* member "name" */
96 if (p_struct->name) {
97 free(p_struct->name);
98 p_struct->name=NULL;
99 }
100 if (p_src->name) {
101 p_struct->name=strdup(p_src->name);
102 }
103
104 /* member "paramType1" */
105 if (p_struct->paramType1) {
106 free(p_struct->paramType1);
107 p_struct->paramType1=NULL;
108 }
109 if (p_src->paramType1) {
110 p_struct->paramType1=strdup(p_src->paramType1);
111 }
112
113 /* member "paramType2" */
114 if (p_struct->paramType2) {
115 free(p_struct->paramType2);
116 p_struct->paramType2=NULL;
117 }
118 if (p_src->paramType2) {
119 p_struct->paramType2=strdup(p_src->paramType2);
120 }
121
122 /* member "flags" */
123 p_struct->flags=p_src->flags;
124
125 return p_struct;
126}
127
128const char *Typemaker2_Slot_GetName(const TYPEMAKER2_SLOT *p_struct)
129{
130 assert(p_struct);
131 return p_struct->name;
132}
133
135{
136 assert(p_struct);
137 return p_struct->paramType1;
138}
139
141{
142 assert(p_struct);
143 return p_struct->paramType2;
144}
145
147{
148 assert(p_struct);
149 return p_struct->flags;
150}
151
152void Typemaker2_Slot_SetName(TYPEMAKER2_SLOT *p_struct, const char *p_src)
153{
154 assert(p_struct);
155 if (p_struct->name) {
156 free(p_struct->name);
157 }
158 if (p_src) {
159 p_struct->name=strdup(p_src);
160 }
161 else {
162 p_struct->name=NULL;
163 }
164}
165
166void Typemaker2_Slot_SetParamType1(TYPEMAKER2_SLOT *p_struct, const char *p_src)
167{
168 assert(p_struct);
169 if (p_struct->paramType1) {
170 free(p_struct->paramType1);
171 }
172 if (p_src) {
173 p_struct->paramType1=strdup(p_src);
174 }
175 else {
176 p_struct->paramType1=NULL;
177 }
178}
179
180void Typemaker2_Slot_SetParamType2(TYPEMAKER2_SLOT *p_struct, const char *p_src)
181{
182 assert(p_struct);
183 if (p_struct->paramType2) {
184 free(p_struct->paramType2);
185 }
186 if (p_src) {
187 p_struct->paramType2=strdup(p_src);
188 }
189 else {
190 p_struct->paramType2=NULL;
191 }
192}
193
194void Typemaker2_Slot_SetFlags(TYPEMAKER2_SLOT *p_struct, uint32_t p_src)
195{
196 assert(p_struct);
197 p_struct->flags=p_src;
198}
199
200void Typemaker2_Slot_AddFlags(TYPEMAKER2_SLOT *p_struct, uint32_t p_src)
201{
202 assert(p_struct);
203 p_struct->flags|=p_src;
204}
205
206void Typemaker2_Slot_SubFlags(TYPEMAKER2_SLOT *p_struct, uint32_t p_src)
207{
208 assert(p_struct);
209 p_struct->flags&=~p_src;
210}
211
212TYPEMAKER2_SLOT_LIST *Typemaker2_Slot_List_dup(const TYPEMAKER2_SLOT_LIST *p_src)
213{
214 TYPEMAKER2_SLOT_LIST *p_dest;
215 TYPEMAKER2_SLOT *p_elem;
216
217 assert(p_src);
218 p_dest=Typemaker2_Slot_List_new();
219 p_elem=Typemaker2_Slot_List_First(p_src);
220 while (p_elem) {
221 TYPEMAKER2_SLOT *p_cpy;
222
223 p_cpy=Typemaker2_Slot_dup(p_elem);
224 Typemaker2_Slot_List_Add(p_cpy, p_dest);
225 p_elem=Typemaker2_Slot_List_Next(p_elem);
226 }
227
228 return p_dest;
229}
230
232{
233 assert(p_struct);
234 /* member "name" */
235 if (p_struct->name) {
236 free(p_struct->name);
237 }
238 {
239 const char *s;
240 s=GWEN_XMLNode_GetProperty(p_db, "name", NULL);
241 if (s)
242 p_struct->name=strdup(s);
243 }
244 if (p_struct->name==NULL) { /* member "name" is volatile, just presetting */
245 p_struct->name=NULL;
246 }
247
248 /* member "paramType1" */
249 if (p_struct->paramType1) {
250 free(p_struct->paramType1);
251 }
252 {
253 const char *s;
254 s=GWEN_XMLNode_GetProperty(p_db, "paramType1", NULL);
255 if (s)
256 p_struct->paramType1=strdup(s);
257 }
258 if (p_struct->paramType1==NULL) { /* member "paramType1" is volatile, just presetting */
259 p_struct->paramType1=NULL;
260 }
261
262 /* member "paramType2" */
263 if (p_struct->paramType2) {
264 free(p_struct->paramType2);
265 }
266 {
267 const char *s;
268 s=GWEN_XMLNode_GetProperty(p_db, "paramType2", NULL);
269 if (s)
270 p_struct->paramType2=strdup(s);
271 }
272 if (p_struct->paramType2==NULL) { /* member "paramType2" is volatile, just presetting */
273 p_struct->paramType2=NULL;
274 }
275
276 /* member "flags" */
277 p_struct->flags=GWEN_XMLNode_GetIntValue(p_db, "flags", 0);
278
279}
280
282{
283 assert(p_struct);
284 /* member "name" */
285 GWEN_XMLNode_SetProperty(p_db, "name", p_struct->name);
286
287 /* member "paramType1" */
288 GWEN_XMLNode_SetProperty(p_db, "paramType1", p_struct->paramType1);
289
290 /* member "paramType2" */
291 GWEN_XMLNode_SetProperty(p_db, "paramType2", p_struct->paramType2);
292
293 /* member "flags" */
294 GWEN_XMLNode_SetIntValue(p_db, "flags", p_struct->flags);
295
296}
297
299{
300 Typemaker2_Slot_WriteXml(p_struct, p_db);
301}
302
304{
305 TYPEMAKER2_SLOT *p_struct;
306 p_struct=Typemaker2_Slot_new();
307 Typemaker2_Slot_ReadXml(p_struct, p_db);
308 return p_struct;
309}
310
311
312/* code headers */
313
#define NULL
Definition binreloc.c:300
#define GWEN_LIST_FINI(t, element)
Definition list1.h:475
#define GWEN_LIST_FUNCTIONS(t, pr)
Definition list1.h:367
#define GWEN_LIST_INIT(t, element)
Definition list1.h:466
#define GWEN_LIST2_FUNCTIONS(t, pr)
Definition list2.h:99
#define GWEN_FREE_OBJECT(varname)
Definition memory.h:61
#define GWEN_NEW_OBJECT(typ, varname)
Definition memory.h:55
void Typemaker2_Slot_SetName(TYPEMAKER2_SLOT *p_struct, const char *p_src)
Definition tm_slot.c:152
void Typemaker2_Slot_AddFlags(TYPEMAKER2_SLOT *p_struct, uint32_t p_src)
Definition tm_slot.c:200
void Typemaker2_Slot_toXml(const TYPEMAKER2_SLOT *p_struct, GWEN_XMLNODE *p_db)
Definition tm_slot.c:298
void Typemaker2_Slot_SetParamType2(TYPEMAKER2_SLOT *p_struct, const char *p_src)
Definition tm_slot.c:180
TYPEMAKER2_SLOT * Typemaker2_Slot_fromXml(GWEN_XMLNODE *p_db)
Definition tm_slot.c:303
void Typemaker2_Slot_WriteXml(const TYPEMAKER2_SLOT *p_struct, GWEN_XMLNODE *p_db)
Definition tm_slot.c:281
void Typemaker2_Slot_free(TYPEMAKER2_SLOT *p_struct)
Definition tm_slot.c:40
uint32_t Typemaker2_Slot_GetFlags(const TYPEMAKER2_SLOT *p_struct)
Definition tm_slot.c:146
void Typemaker2_Slot_SetFlags(TYPEMAKER2_SLOT *p_struct, uint32_t p_src)
Definition tm_slot.c:194
const char * Typemaker2_Slot_GetParamType2(const TYPEMAKER2_SLOT *p_struct)
Definition tm_slot.c:140
TYPEMAKER2_SLOT * Typemaker2_Slot_dup(const TYPEMAKER2_SLOT *p_src)
Definition tm_slot.c:52
TYPEMAKER2_SLOT_LIST * Typemaker2_Slot_List_dup(const TYPEMAKER2_SLOT_LIST *p_src)
Definition tm_slot.c:212
void Typemaker2_Slot_SubFlags(TYPEMAKER2_SLOT *p_struct, uint32_t p_src)
Definition tm_slot.c:206
const char * Typemaker2_Slot_GetName(const TYPEMAKER2_SLOT *p_struct)
Definition tm_slot.c:128
TYPEMAKER2_SLOT * Typemaker2_Slot_new(void)
Definition tm_slot.c:24
void Typemaker2_Slot_ReadXml(TYPEMAKER2_SLOT *p_struct, GWEN_XMLNODE *p_db)
Definition tm_slot.c:231
void Typemaker2_Slot_SetParamType1(TYPEMAKER2_SLOT *p_struct, const char *p_src)
Definition tm_slot.c:166
const char * Typemaker2_Slot_GetParamType1(const TYPEMAKER2_SLOT *p_struct)
Definition tm_slot.c:134
TYPEMAKER2_SLOT * Typemaker2_Slot_copy(TYPEMAKER2_SLOT *p_struct, const TYPEMAKER2_SLOT *p_src)
Definition tm_slot.c:91
struct TYPEMAKER2_SLOT TYPEMAKER2_SLOT
Definition tm_slot.h:27
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
Definition xml.c:239
void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n, const char *name, const char *value)
Definition xml.c:322
void GWEN_XMLNode_SetIntValue(GWEN_XMLNODE *n, const char *name, int value)
Definition xml.c:940
int GWEN_XMLNode_GetIntValue(const GWEN_XMLNODE *n, const char *name, int defValue)
Definition xml.c:923
struct GWEN__XMLNODE GWEN_XMLNODE
Definition xml.h:156