32#include <gwenhywfar/debug.h>
33#include <gwenhywfar/misc.h>
56 xsdNode->parent=parent;
59 xsdNode->name=strdup(name);
82 return xsdNode->nodeType;
98 return xsdNode->flags;
130 return xsdNode->parent;
138 return xsdNode->children;
148 newChild->parent=xsdNode;
156 xsdNode->parent=
NULL;
167 oldFn=xsdNode->readFn;
180 oldFn=xsdNode->writeFn;
193 return xsdNode->readFn(xsdNode, xmlNode, db);
205 if (xsdNode->writeFn)
206 return xsdNode->writeFn(xsdNode, xmlNode, db);
struct GWEN_DB_NODE GWEN_DB_NODE
#define GWEN_ERROR_NOT_SUPPORTED
#define GWEN_INHERIT_FUNCTIONS(t)
#define GWEN_INHERIT_INIT(t, element)
#define GWEN_INHERIT_FINI(t, element)
#define GWEN_LIST_FINI(t, element)
#define GWEN_LIST_FUNCTIONS(t, pr)
#define GWEN_LIST_INIT(t, element)
void GWEN_XsdNode_List_Add(GWEN_XSD_NODE *element, GWEN_XSD_NODE_LIST *list)
void GWEN_XsdNode_List_Del(GWEN_XSD_NODE *element)
GWEN_XSD_NODE_LIST * GWEN_XsdNode_List_new()
void GWEN_XsdNode_List_free(GWEN_XSD_NODE_LIST *l)
#define GWEN_FREE_OBJECT(varname)
#define GWEN_NEW_OBJECT(typ, varname)
struct GWEN__XMLNODE GWEN_XMLNODE
GWEN_XSD_NODE * GWEN_XsdNode_new(GWEN_XSD_NODE *parent, GWEN_XSD_NODETYPE t, const char *name)
void GWEN_XsdNode_SetFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
GWEN_XSD_NODETYPE GWEN_XsdNode_GetNodeType(const GWEN_XSD_NODE *xsdNode)
void GWEN_XsdNode_Unlink(GWEN_XSD_NODE *xsdNode)
uint32_t GWEN_XsdNode_GetFlags(const GWEN_XSD_NODE *xsdNode)
GWEN_XSD_NODE * GWEN_XsdNode_GetParent(const GWEN_XSD_NODE *xsdNode)
void GWEN_XsdNode_AddChild(GWEN_XSD_NODE *xsdNode, GWEN_XSD_NODE *newChild)
GWEN_XSD_NODE_LIST * GWEN_XsdNode_GetChildren(const GWEN_XSD_NODE *xsdNode)
GWEN_XSDNODE_READ_FN GWEN_XsdNode_SetReadFn(GWEN_XSD_NODE *xsdNode, GWEN_XSDNODE_READ_FN fn)
const char * GWEN_XsdNode_GetName(const GWEN_XSD_NODE *xsdNode)
int GWEN_XsdNode_Read(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
void GWEN_XsdNode_AddFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
void GWEN_XsdNode_SubFlags(GWEN_XSD_NODE *xsdNode, uint32_t fl)
GWEN_XSDNODE_WRITE_FN GWEN_XsdNode_SetWriteFn(GWEN_XSD_NODE *xsdNode, GWEN_XSDNODE_WRITE_FN fn)
void GWEN_XsdNode_free(GWEN_XSD_NODE *xsdNode)
int GWEN_XsdNode_Write(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
struct GWEN_XSD_NODE GWEN_XSD_NODE
int(* GWEN_XSDNODE_WRITE_FN)(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)
int(* GWEN_XSDNODE_READ_FN)(GWEN_XSD_NODE *xsdNode, GWEN_XMLNODE *xmlNode, GWEN_DB_NODE *db)