12#include "tm_define_p.h"
14#include <gwenhywfar/misc.h>
15#include <gwenhywfar/debug.h>
26 if (strcasecmp(p_s,
"sequence")==0)
28 else if (strcasecmp(p_s,
"bitField")==0)
54 p_struct->prefix=
NULL;
56 p_struct->items=Typemaker2_Item_List_new();
58 p_struct->startValue=0;
59 p_struct->lastValue=0;
71 free(p_struct->prefix);
73 Typemaker2_Item_List_free(p_struct->items);
90 p_struct->id=strdup(p_src->id);
94 if (p_struct->prefix) {
95 free(p_struct->prefix);
96 p_struct->prefix=
NULL;
99 p_struct->prefix=strdup(p_src->prefix);
103 if (p_struct->type) {
104 free(p_struct->type);
108 p_struct->type=strdup(p_src->type);
112 if (p_struct->items) {
113 Typemaker2_Item_List_free(p_struct->items);
114 p_struct->items=
NULL;
121 p_struct->mode=p_src->mode;
124 p_struct->startValue=p_src->startValue;
127 p_struct->lastValue=p_src->lastValue;
142 p_struct->id=strdup(p_src->id);
146 if (p_struct->prefix) {
147 free(p_struct->prefix);
148 p_struct->prefix=
NULL;
151 p_struct->prefix=strdup(p_src->prefix);
155 if (p_struct->type) {
156 free(p_struct->type);
160 p_struct->type=strdup(p_src->type);
164 if (p_struct->items) {
165 Typemaker2_Item_List_free(p_struct->items);
166 p_struct->items=
NULL;
173 p_struct->mode=p_src->mode;
176 p_struct->startValue=p_src->startValue;
179 p_struct->lastValue=p_src->lastValue;
193 return p_struct->prefix;
199 return p_struct->type;
205 return p_struct->items;
211 return p_struct->mode;
217 return p_struct->startValue;
223 return p_struct->lastValue;
233 p_struct->id=strdup(p_src);
243 if (p_struct->prefix) {
244 free(p_struct->prefix);
247 p_struct->prefix=strdup(p_src);
250 p_struct->prefix=
NULL;
257 if (p_struct->type) {
258 free(p_struct->type);
261 p_struct->type=strdup(p_src);
271 if (p_struct->items) {
272 Typemaker2_Item_List_free(p_struct->items);
278 p_struct->items=Typemaker2_Item_List_new();
285 p_struct->mode=p_src;
291 p_struct->startValue=p_src;
297 p_struct->lastValue=p_src;
302 TYPEMAKER2_DEFINE_LIST *p_dest;
306 p_dest=Typemaker2_Define_List_new();
307 p_elem=Typemaker2_Define_List_First(p_src);
312 Typemaker2_Define_List_Add(p_cpy, p_dest);
313 p_elem=Typemaker2_Define_List_Next(p_elem);
330 p_struct->id=strdup(s);
332 if (p_struct->id==
NULL) {
337 if (p_struct->prefix) {
338 free(p_struct->prefix);
344 p_struct->prefix=strdup(s);
346 if (p_struct->prefix==
NULL) {
347 p_struct->prefix=
NULL;
351 if (p_struct->type) {
352 free(p_struct->type);
358 p_struct->type=strdup(s);
360 if (p_struct->type==
NULL) {
365 if (p_struct->items) {
366 Typemaker2_Item_List_free(p_struct->items);
369 p_struct->items=Typemaker2_Item_List_new();
386 p_struct->lastValue=0;
#define GWEN_LIST_FINI(t, element)
#define GWEN_LIST_FUNCTIONS(t, pr)
#define GWEN_LIST_INIT(t, element)
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)
void Typemaker2_Define_SetLastValue(TYPEMAKER2_DEFINE *p_struct, int p_src)
void Typemaker2_Define_SetItems(TYPEMAKER2_DEFINE *p_struct, const TYPEMAKER2_ITEM_LIST *p_src)
TYPEMAKER2_DEFINE * Typemaker2_Define_dup(const TYPEMAKER2_DEFINE *p_src)
void Typemaker2_Define_toXml(const TYPEMAKER2_DEFINE *p_struct, GWEN_XMLNODE *p_db)
void Typemaker2_Define_ReadXml(TYPEMAKER2_DEFINE *p_struct, GWEN_XMLNODE *p_db)
TYPEMAKER2_DEFINE_LIST * Typemaker2_Define_List_dup(const TYPEMAKER2_DEFINE_LIST *p_src)
void Typemaker2_Define_SetType(TYPEMAKER2_DEFINE *p_struct, const char *p_src)
TYPEMAKER2_DEFINE * Typemaker2_Define_fromXml(GWEN_XMLNODE *p_db)
const char * Typemaker2_Define_GetType(const TYPEMAKER2_DEFINE *p_struct)
void Typemaker2_Define_SetMode(TYPEMAKER2_DEFINE *p_struct, int p_src)
int Typemaker2_Define_Mode_fromString(const char *p_s)
const char * Typemaker2_Define_GetPrefix(const TYPEMAKER2_DEFINE *p_struct)
void Typemaker2_Define_WriteXml(const TYPEMAKER2_DEFINE *p_struct, GWEN_XMLNODE *p_db)
int Typemaker2_Define_GetStartValue(const TYPEMAKER2_DEFINE *p_struct)
TYPEMAKER2_DEFINE * Typemaker2_Define_new(void)
int Typemaker2_Define_GetMode(const TYPEMAKER2_DEFINE *p_struct)
int Typemaker2_Define_GetLastValue(const TYPEMAKER2_DEFINE *p_struct)
const char * Typemaker2_Define_GetId(const TYPEMAKER2_DEFINE *p_struct)
void Typemaker2_Define_SetStartValue(TYPEMAKER2_DEFINE *p_struct, int p_src)
void Typemaker2_Define_free(TYPEMAKER2_DEFINE *p_struct)
const char * Typemaker2_Define_Mode_toString(int p_i)
TYPEMAKER2_ITEM_LIST * Typemaker2_Define_GetItems(const TYPEMAKER2_DEFINE *p_struct)
void Typemaker2_Define_SetId(TYPEMAKER2_DEFINE *p_struct, const char *p_src)
TYPEMAKER2_DEFINE * Typemaker2_Define_copy(TYPEMAKER2_DEFINE *p_struct, const TYPEMAKER2_DEFINE *p_src)
void Typemaker2_Define_SetPrefix(TYPEMAKER2_DEFINE *p_struct, const char *p_src)
@ Typemaker2_Define_Mode_BitField
@ Typemaker2_Define_Mode_Sequence
@ Typemaker2_Define_Mode_Unknown
struct TYPEMAKER2_DEFINE TYPEMAKER2_DEFINE
TYPEMAKER2_ITEM_LIST * Typemaker2_Item_List_dup(const TYPEMAKER2_ITEM_LIST *p_src)
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n, const char *name, const char *value)
void GWEN_XMLNode_SetIntValue(GWEN_XMLNODE *n, const char *name, int value)
int GWEN_XMLNode_GetIntValue(const GWEN_XMLNODE *n, const char *name, int defValue)
struct GWEN__XMLNODE GWEN_XMLNODE