30 #include "xsdnode_p.h"
32 #include <gwenhywfar/debug.h>
33 #include <gwenhywfar/misc.h>
49 GWEN_XSD_NODE *xsdNode;
55 xsdNode->parent=parent;
58 xsdNode->name=strdup(name);
79 return xsdNode->nodeType;
93 return xsdNode->flags;
121 return xsdNode->parent;
128 return xsdNode->children;
137 newChild->parent=xsdNode;
144 xsdNode->parent=
NULL;
154 oldFn=xsdNode->readFn;
166 oldFn=xsdNode->writeFn;
178 return xsdNode->readFn(xsdNode, xmlNode, db);
189 if (xsdNode->writeFn)
190 return xsdNode->writeFn(xsdNode, xmlNode, db);
void GWEN_XsdNode_SetFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
struct GWEN_DB_NODE GWEN_DB_NODE
#define GWEN_INHERIT_FINI(t, element)
void GWEN_XsdNode_List_free(GWEN_XSD_NODE_LIST *l)
uint32_t GWEN_XsdNode_GetFlags(const GWEN_XSD_NODE *xsdNode)
void GWEN_XsdNode_List_Add(GWEN_XSD_NODE *element, GWEN_XSD_NODE_LIST *list)
void GWEN_XsdNode_AddFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
GWEN_XSD_NODETYPE GWEN_XsdNode_GetNodeType(const GWEN_XSD_NODE *xsdNode)
#define GWEN_FREE_OBJECT(varname)
void GWEN_XsdNode_free(GWEN_XSD_NODE *xsdNode)
void GWEN_XsdNode_SubFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
int GWEN_XsdNode_Read(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
GWEN_XSD_NODE * GWEN_XsdNode_GetParent(const GWEN_XSD_NODE *xsdNode)
GWEN_XSD_NODE_LIST * GWEN_XsdNode_GetChildren(const GWEN_XSD_NODE *xsdNode)
#define GWEN_NEW_OBJECT(typ, varname)
GWEN_XSD_NODE * GWEN_XsdNode_new(GWEN_XSD_NODE *parent, GWEN_XSD_NODETYPE t, const char *name)
#define GWEN_INHERIT_INIT(t, element)
struct GWEN_XSD_NODE GWEN_XSD_NODE
int(* GWEN_XSDNODE_READ_FN)(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
#define GWEN_ERROR_NOT_SUPPORTED
void GWEN_XsdNode_Unlink(GWEN_XSD_NODE *xsdNode)
void GWEN_XsdNode_AddChild(GWEN_XSD_NODE *xsdNode, GWEN_XSD_NODE *newChild)
GWEN_XSDNODE_WRITE_FN GWEN_XsdNode_SetWriteFn(GWEN_XSD_NODE *xsdNode, GWEN_XSDNODE_WRITE_FN fn)
#define GWEN_LIST_INIT(t, element)
int(* GWEN_XSDNODE_WRITE_FN)(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
GWEN_XSDNODE_READ_FN GWEN_XsdNode_SetReadFn(GWEN_XSD_NODE *xsdNode, GWEN_XSDNODE_READ_FN fn)
#define GWEN_LIST_FUNCTIONS(t, pr)
void GWEN_XsdNode_List_Del(GWEN_XSD_NODE *element)
int GWEN_XsdNode_Write(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
#define GWEN_LIST_FINI(t, element)
const char * GWEN_XsdNode_GetName(const GWEN_XSD_NODE *xsdNode)
#define GWEN_INHERIT_FUNCTIONS(t)
struct GWEN__XMLNODE GWEN_XMLNODE
GWEN_XSD_NODE_LIST * GWEN_XsdNode_List_new()