xmlctx.h
Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028 #ifndef GWENHYWFAR_XMLCTX_H
00029 #define GWENHYWFAR_XMLCTX_H
00030
00031 #include <gwenhywfar/gwenhywfarapi.h>
00032 #include <gwenhywfar/inherit.h>
00033 #include <stdio.h>
00034
00035 typedef struct GWEN_XML_CONTEXT GWEN_XML_CONTEXT;
00036 GWEN_INHERIT_FUNCTION_LIB_DEFS(GWEN_XML_CONTEXT, GWENHYWFAR_API)
00037
00038
00039 #include <gwenhywfar/xml.h>
00040
00041
00042
00043 typedef int (*GWEN_XMLCTX_STARTTAG_FN)(GWEN_XML_CONTEXT *ctx,
00044 const char *tagName);
00045 typedef int (*GWEN_XMLCTX_ENDTAG_FN)(GWEN_XML_CONTEXT *ctx, int closing);
00046 typedef int (*GWEN_XMLCTX_ADDDATA_FN)(GWEN_XML_CONTEXT *ctx,
00047 const char *data);
00048 typedef int (*GWEN_XMLCTX_ADDCOMMENT_FN)(GWEN_XML_CONTEXT *ctx,
00049 const char *data);
00050 typedef int (*GWEN_XMLCTX_ADDATTR_FN)(GWEN_XML_CONTEXT *ctx,
00051 const char *attrName,
00052 const char *attrData);
00053
00054
00055
00056 GWENHYWFAR_API GWEN_XML_CONTEXT *GWEN_XmlCtx_new(uint32_t flags,
00057 uint32_t guiid,
00058 int timeout);
00059 GWENHYWFAR_API void GWEN_XmlCtx_free(GWEN_XML_CONTEXT *ctx);
00060
00061 GWENHYWFAR_API
00062 uint32_t GWEN_XmlCtx_GetFlags(const GWEN_XML_CONTEXT *ctx);
00063
00064 GWENHYWFAR_API
00065 void GWEN_XmlCtx_SetFlags(GWEN_XML_CONTEXT *ctx, uint32_t f);
00066
00067
00068 GWENHYWFAR_API
00069 uint32_t GWEN_XmlCtx_GetFinishedElement(const GWEN_XML_CONTEXT *ctx);
00070
00071 GWENHYWFAR_API
00072 void GWEN_XmlCtx_IncFinishedElement(GWEN_XML_CONTEXT *ctx);
00073
00074 GWENHYWFAR_API
00075 void GWEN_XmlCtx_ResetFinishedElement(GWEN_XML_CONTEXT *ctx);
00076
00077
00078 GWENHYWFAR_API
00079 int GWEN_XmlCtx_GetDepth(const GWEN_XML_CONTEXT *ctx);
00080
00081 GWENHYWFAR_API
00082 void GWEN_XmlCtx_SetDepth(GWEN_XML_CONTEXT *ctx, int i);
00083
00084 GWENHYWFAR_API
00085 void GWEN_XmlCtx_IncDepth(GWEN_XML_CONTEXT *ctx);
00086
00087 GWENHYWFAR_API
00088 int GWEN_XmlCtx_DecDepth(GWEN_XML_CONTEXT *ctx);
00089
00090
00091 GWENHYWFAR_API
00092 uint32_t GWEN_XmlCtx_GetGuiId(const GWEN_XML_CONTEXT *ctx);
00093
00094 GWENHYWFAR_API
00095 int GWEN_XmlCtx_GetTimeout(const GWEN_XML_CONTEXT *ctx);
00096
00097 GWENHYWFAR_API
00098 void GWEN_XmlCtx_SetCurrentNode(GWEN_XML_CONTEXT *ctx, GWEN_XMLNODE *n);
00099
00100 GWENHYWFAR_API
00101 GWEN_XMLNODE *GWEN_XmlCtx_GetCurrentNode(const GWEN_XML_CONTEXT *ctx);
00102
00103 GWENHYWFAR_API
00104 void GWEN_XmlCtx_SetCurrentHeader(GWEN_XML_CONTEXT *ctx, GWEN_XMLNODE *n);
00105
00106 GWENHYWFAR_API
00107 GWEN_XMLNODE *GWEN_XmlCtx_GetCurrentHeader(const GWEN_XML_CONTEXT *ctx);
00108
00109 GWENHYWFAR_API
00110 GWEN_XMLCTX_STARTTAG_FN GWEN_XmlCtx_SetStartTagFn(GWEN_XML_CONTEXT *ctx,
00111 GWEN_XMLCTX_STARTTAG_FN f);
00112
00113 GWENHYWFAR_API
00114 GWEN_XMLCTX_ENDTAG_FN GWEN_XmlCtx_SetEndTagFn(GWEN_XML_CONTEXT *ctx,
00115 GWEN_XMLCTX_ENDTAG_FN f);
00116
00117 GWENHYWFAR_API
00118 GWEN_XMLCTX_ADDDATA_FN GWEN_XmlCtx_SetAddDataFn(GWEN_XML_CONTEXT *ctx,
00119 GWEN_XMLCTX_ADDDATA_FN f);
00120
00121 GWENHYWFAR_API
00122 GWEN_XMLCTX_ADDCOMMENT_FN
00123 GWEN_XmlCtx_SetAddCommentFn(GWEN_XML_CONTEXT *ctx,
00124 GWEN_XMLCTX_ADDCOMMENT_FN f);
00125
00126 GWENHYWFAR_API
00127 GWEN_XMLCTX_ADDATTR_FN GWEN_XmlCtx_SetAddAttrFn(GWEN_XML_CONTEXT *ctx,
00128 GWEN_XMLCTX_ADDATTR_FN f);
00129
00130
00131
00132
00133
00134 GWENHYWFAR_API
00135 GWEN_XML_CONTEXT *GWEN_XmlCtxStore_new(GWEN_XMLNODE *n,
00136 uint32_t flags,
00137 uint32_t guiid,
00138 int timeout);
00139
00140
00141
00142 #endif
00143