12 #include "tm_define_p.h"
14 #include <gwenhywfar/misc.h>
15 #include <gwenhywfar/debug.h>
25 if (strcasecmp(p_s,
"sequence")==0)
27 else if (strcasecmp(p_s,
"bitField")==0)
37 default:
return "unknown";
48 p_struct->prefix=
NULL;
50 p_struct->items=Typemaker2_Item_List_new();
52 p_struct->startValue=0;
53 p_struct->lastValue=0;
64 free(p_struct->prefix);
66 Typemaker2_Item_List_free(p_struct->items);
82 p_struct->id=strdup(p_src->id);
86 if (p_struct->prefix) {
87 free(p_struct->prefix);
88 p_struct->prefix=
NULL;
91 p_struct->prefix=strdup(p_src->prefix);
100 p_struct->type=strdup(p_src->type);
104 if (p_struct->items) {
105 Typemaker2_Item_List_free(p_struct->items);
106 p_struct->items=
NULL;
113 p_struct->mode=p_src->mode;
116 p_struct->startValue=p_src->startValue;
119 p_struct->lastValue=p_src->lastValue;
133 p_struct->id=strdup(p_src->id);
137 if (p_struct->prefix) {
138 free(p_struct->prefix);
139 p_struct->prefix=
NULL;
142 p_struct->prefix=strdup(p_src->prefix);
146 if (p_struct->type) {
147 free(p_struct->type);
151 p_struct->type=strdup(p_src->type);
155 if (p_struct->items) {
156 Typemaker2_Item_List_free(p_struct->items);
157 p_struct->items=
NULL;
164 p_struct->mode=p_src->mode;
167 p_struct->startValue=p_src->startValue;
170 p_struct->lastValue=p_src->lastValue;
182 return p_struct->prefix;
187 return p_struct->type;
192 return p_struct->items;
197 return p_struct->mode;
202 return p_struct->startValue;
207 return p_struct->lastValue;
216 p_struct->id=strdup(p_src);
225 if (p_struct->prefix) {
226 free(p_struct->prefix);
229 p_struct->prefix=strdup(p_src);
232 p_struct->prefix=
NULL;
238 if (p_struct->type) {
239 free(p_struct->type);
242 p_struct->type=strdup(p_src);
251 if (p_struct->items) {
252 Typemaker2_Item_List_free(p_struct->items);
258 p_struct->items=Typemaker2_Item_List_new();
264 p_struct->mode=p_src;
269 p_struct->startValue=p_src;
274 p_struct->lastValue=p_src;
278 TYPEMAKER2_DEFINE_LIST *p_dest;
282 p_dest=Typemaker2_Define_List_new();
283 p_elem=Typemaker2_Define_List_First(p_src);
288 Typemaker2_Define_List_Add(p_cpy, p_dest);
289 p_elem=Typemaker2_Define_List_Next(p_elem);
302 if (p_struct->id==
NULL) {
307 if (p_struct->prefix) {
308 free(p_struct->prefix);
311 if (p_struct->prefix==
NULL) {
312 p_struct->prefix=
NULL;
316 if (p_struct->type) {
317 free(p_struct->type);
320 if (p_struct->type==
NULL) {
325 if (p_struct->items) {
326 Typemaker2_Item_List_free(p_struct->items);
329 p_struct->items=Typemaker2_Item_List_new();
339 p_struct->lastValue=0;
const char * Typemaker2_Define_Mode_toString(int p_i)
const char * GWEN_XMLNode_GetProperty(const GWEN_XMLNODE *n, const char *name, const char *defaultValue)
void Typemaker2_Define_WriteXml(const TYPEMAKER2_DEFINE *p_struct, GWEN_XMLNODE *p_db)
#define GWEN_FREE_OBJECT(varname)
void GWEN_XMLNode_SetProperty(GWEN_XMLNODE *n, const char *name, const char *value)
void Typemaker2_Define_toXml(const TYPEMAKER2_DEFINE *p_struct, GWEN_XMLNODE *p_db)
TYPEMAKER2_DEFINE * Typemaker2_Define_dup(const TYPEMAKER2_DEFINE *p_src)
TYPEMAKER2_DEFINE_LIST * Typemaker2_Define_List_dup(const TYPEMAKER2_DEFINE_LIST *p_src)
struct TYPEMAKER2_DEFINE TYPEMAKER2_DEFINE
const char * Typemaker2_Define_GetPrefix(const TYPEMAKER2_DEFINE *p_struct)
int GWEN_XMLNode_GetIntValue(const GWEN_XMLNODE *n, const char *name, int defValue)
void Typemaker2_Define_ReadXml(TYPEMAKER2_DEFINE *p_struct, GWEN_XMLNODE *p_db)
const char * Typemaker2_Define_GetId(const TYPEMAKER2_DEFINE *p_struct)
#define GWEN_NEW_OBJECT(typ, varname)
int Typemaker2_Define_GetStartValue(const TYPEMAKER2_DEFINE *p_struct)
void Typemaker2_Define_SetId(TYPEMAKER2_DEFINE *p_struct, const char *p_src)
void Typemaker2_Define_SetType(TYPEMAKER2_DEFINE *p_struct, const char *p_src)
void Typemaker2_Define_free(TYPEMAKER2_DEFINE *p_struct)
int Typemaker2_Define_Mode_fromString(const char *p_s)
TYPEMAKER2_ITEM_LIST * Typemaker2_Item_List_dup(const TYPEMAKER2_ITEM_LIST *p_src)
void Typemaker2_Define_SetStartValue(TYPEMAKER2_DEFINE *p_struct, int p_src)
TYPEMAKER2_ITEM_LIST * Typemaker2_Define_GetItems(const TYPEMAKER2_DEFINE *p_struct)
int Typemaker2_Define_GetLastValue(const TYPEMAKER2_DEFINE *p_struct)
const char * Typemaker2_Define_GetType(const TYPEMAKER2_DEFINE *p_struct)
TYPEMAKER2_DEFINE * Typemaker2_Define_fromXml(GWEN_XMLNODE *p_db)
void Typemaker2_Define_SetPrefix(TYPEMAKER2_DEFINE *p_struct, const char *p_src)
#define GWEN_LIST_INIT(t, element)
void Typemaker2_Define_SetItems(TYPEMAKER2_DEFINE *p_struct, const TYPEMAKER2_ITEM_LIST *p_src)
TYPEMAKER2_DEFINE * Typemaker2_Define_copy(TYPEMAKER2_DEFINE *p_struct, const TYPEMAKER2_DEFINE *p_src)
#define GWEN_LIST_FUNCTIONS(t, pr)
void Typemaker2_Define_SetLastValue(TYPEMAKER2_DEFINE *p_struct, int p_src)
TYPEMAKER2_DEFINE * Typemaker2_Define_new(void)
void Typemaker2_Define_SetMode(TYPEMAKER2_DEFINE *p_struct, int p_src)
#define GWEN_LIST_FINI(t, element)
struct GWEN__XMLNODE GWEN_XMLNODE
int Typemaker2_Define_GetMode(const TYPEMAKER2_DEFINE *p_struct)
void GWEN_XMLNode_SetIntValue(GWEN_XMLNODE *n, const char *name, int value)