gwenhywfar  5.10.1
tm_signal.c
Go to the documentation of this file.
1 /**********************************************************
2  * This file has been automatically created by "typemaker2"
3  * from the file "tm_signal.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_signal_p.h"
13 
14 #include <gwenhywfar/misc.h>
15 #include <gwenhywfar/debug.h>
16 
17 /* code headers */
18 
19 /* macro functions */
20 GWEN_LIST_FUNCTIONS(TYPEMAKER2_SIGNAL, Typemaker2_Signal)
21 GWEN_LIST2_FUNCTIONS(TYPEMAKER2_SIGNAL, Typemaker2_Signal)
22 
23 
25 {
26  TYPEMAKER2_SIGNAL *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_SIGNAL *p_struct;
55 
56  assert(p_src);
57  p_struct=Typemaker2_Signal_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 
128 const char *Typemaker2_Signal_GetName(const TYPEMAKER2_SIGNAL *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 
152 void Typemaker2_Signal_SetName(TYPEMAKER2_SIGNAL *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 
166 void Typemaker2_Signal_SetParamType1(TYPEMAKER2_SIGNAL *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 
180 void Typemaker2_Signal_SetParamType2(TYPEMAKER2_SIGNAL *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 
194 void Typemaker2_Signal_SetFlags(TYPEMAKER2_SIGNAL *p_struct, uint32_t p_src)
195 {
196  assert(p_struct);
197  p_struct->flags=p_src;
198 }
199 
200 void Typemaker2_Signal_AddFlags(TYPEMAKER2_SIGNAL *p_struct, uint32_t p_src)
201 {
202  assert(p_struct);
203  p_struct->flags|=p_src;
204 }
205 
206 void Typemaker2_Signal_SubFlags(TYPEMAKER2_SIGNAL *p_struct, uint32_t p_src)
207 {
208  assert(p_struct);
209  p_struct->flags&=~p_src;
210 }
211 
212 TYPEMAKER2_SIGNAL_LIST *Typemaker2_Signal_List_dup(const TYPEMAKER2_SIGNAL_LIST *p_src)
213 {
214  TYPEMAKER2_SIGNAL_LIST *p_dest;
215  TYPEMAKER2_SIGNAL *p_elem;
216 
217  assert(p_src);
218  p_dest=Typemaker2_Signal_List_new();
219  p_elem=Typemaker2_Signal_List_First(p_src);
220  while (p_elem) {
221  TYPEMAKER2_SIGNAL *p_cpy;
222 
223  p_cpy=Typemaker2_Signal_dup(p_elem);
224  Typemaker2_Signal_List_Add(p_cpy, p_dest);
225  p_elem=Typemaker2_Signal_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_Signal_WriteXml(p_struct, p_db);
301 }
302 
304 {
305  TYPEMAKER2_SIGNAL *p_struct;
306  p_struct=Typemaker2_Signal_new();
307  Typemaker2_Signal_ReadXml(p_struct, p_db);
308  return p_struct;
309 }
310 
311 
312 /* code headers */
313 
TYPEMAKER2_SIGNAL_LIST * Typemaker2_Signal_List_dup(const TYPEMAKER2_SIGNAL_LIST *p_src)
Definition: tm_signal.c:212
void Typemaker2_Signal_SetParamType1(TYPEMAKER2_SIGNAL *p_struct, const char *p_src)
Definition: tm_signal.c:166
struct TYPEMAKER2_SIGNAL TYPEMAKER2_SIGNAL
Definition: tm_signal.h:27
#define GWEN_LIST2_FUNCTIONS(t, pr)
Definition: list2.h:99
TYPEMAKER2_SIGNAL * Typemaker2_Signal_copy(TYPEMAKER2_SIGNAL *p_struct, const TYPEMAKER2_SIGNAL *p_src)
Definition: tm_signal.c:91
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
Definition: xml.c:239
TYPEMAKER2_SIGNAL * Typemaker2_Signal_new(void)
Definition: tm_signal.c:24
#define GWEN_FREE_OBJECT(varname)
Definition: memory.h:61
#define NULL
Definition: binreloc.c:300
void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n, const char *name, const char *value)
Definition: xml.c:322
uint32_t Typemaker2_Signal_GetFlags(const TYPEMAKER2_SIGNAL *p_struct)
Definition: tm_signal.c:146
void Typemaker2_Signal_SetName(TYPEMAKER2_SIGNAL *p_struct, const char *p_src)
Definition: tm_signal.c:152
int GWEN_XMLNode_GetIntValue(const GWEN_XMLNODE *n, const char *name, int defValue)
Definition: xml.c:923
void Typemaker2_Signal_WriteXml(const TYPEMAKER2_SIGNAL *p_struct, GWEN_XMLNODE *p_db)
Definition: tm_signal.c:281
#define GWEN_NEW_OBJECT(typ, varname)
Definition: memory.h:55
const char * Typemaker2_Signal_GetParamType1(const TYPEMAKER2_SIGNAL *p_struct)
Definition: tm_signal.c:134
void Typemaker2_Signal_ReadXml(TYPEMAKER2_SIGNAL *p_struct, GWEN_XMLNODE *p_db)
Definition: tm_signal.c:231
TYPEMAKER2_SIGNAL * Typemaker2_Signal_fromXml(GWEN_XMLNODE *p_db)
Definition: tm_signal.c:303
void Typemaker2_Signal_SetFlags(TYPEMAKER2_SIGNAL *p_struct, uint32_t p_src)
Definition: tm_signal.c:194
const char * Typemaker2_Signal_GetName(const TYPEMAKER2_SIGNAL *p_struct)
Definition: tm_signal.c:128
void Typemaker2_Signal_SetParamType2(TYPEMAKER2_SIGNAL *p_struct, const char *p_src)
Definition: tm_signal.c:180
void Typemaker2_Signal_AddFlags(TYPEMAKER2_SIGNAL *p_struct, uint32_t p_src)
Definition: tm_signal.c:200
#define GWEN_LIST_INIT(t, element)
Definition: list1.h:465
#define GWEN_LIST_FUNCTIONS(t, pr)
Definition: list1.h:366
TYPEMAKER2_SIGNAL * Typemaker2_Signal_dup(const TYPEMAKER2_SIGNAL *p_src)
Definition: tm_signal.c:52
void Typemaker2_Signal_free(TYPEMAKER2_SIGNAL *p_struct)
Definition: tm_signal.c:40
#define GWEN_LIST_FINI(t, element)
Definition: list1.h:474
void Typemaker2_Signal_SubFlags(TYPEMAKER2_SIGNAL *p_struct, uint32_t p_src)
Definition: tm_signal.c:206
struct GWEN__XMLNODE GWEN_XMLNODE
Definition: xml.h:156
const char * Typemaker2_Signal_GetParamType2(const TYPEMAKER2_SIGNAL *p_struct)
Definition: tm_signal.c:140
void Typemaker2_Signal_toXml(const TYPEMAKER2_SIGNAL *p_struct, GWEN_XMLNODE *p_db)
Definition: tm_signal.c:298
void GWEN_XMLNode_SetIntValue(GWEN_XMLNODE *n, const char *name, int value)
Definition: xml.c:940