xmlctx.h

Go to the documentation of this file.
00001 /***************************************************************************
00002  $RCSfile$
00003  -------------------
00004  cvs         : $Id: xsd.h 898 2005-11-03 09:51:39Z cstim $
00005  begin       : Sat Jun 28 2003
00006  copyright   : (C) 2003 by Martin Preuss
00007  email       : martin@libchipcard.de
00008 
00009  ***************************************************************************
00010  *                                                                         *
00011  *   This library is free software; you can redistribute it and/or         *
00012  *   modify it under the terms of the GNU Lesser General Public            *
00013  *   License as published by the Free Software Foundation; either          *
00014  *   version 2.1 of the License, or (at your option) any later version.    *
00015  *                                                                         *
00016  *   This library is distributed in the hope that it will be useful,       *
00017  *   but WITHOUT ANY WARRANTY; without even the implied warranty of        *
00018  *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU     *
00019  *   Lesser General Public License for more details.                       *
00020  *                                                                         *
00021  *   You should have received a copy of the GNU Lesser General Public      *
00022  *   License along with this library; if not, write to the Free Software   *
00023  *   Foundation, Inc., 59 Temple Place, Suite 330, Boston,                 *
00024  *   MA  02111-1307  USA                                                   *
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 

Generated on Fri Apr 11 01:53:48 2008 for gwenhywfar by  doxygen 1.5.5