gwenhywfar  4.3.1
htmlgroup_l.h
Go to the documentation of this file.
00001 /***************************************************************************
00002  begin       : Sat Feb 20 2010
00003  copyright   : (C) 2010 by Martin Preuss
00004  email       : martin@libchipcard.de
00005 
00006  ***************************************************************************
00007  *          Please see toplevel file COPYING for license details           *
00008  ***************************************************************************/
00009 
00010 
00011 #ifndef HTMLGROUP_L_H
00012 #define HTMLGROUP_L_H
00013 
00014 #include <gwenhywfar/inherit.h>
00015 #include <gwenhywfar/xmlctx.h>
00016 
00017 
00018 
00019 typedef struct HTML_GROUP HTML_GROUP;
00020 GWEN_INHERIT_FUNCTION_DEFS(HTML_GROUP)
00021 
00022 
00023 typedef int (*HTML_GROUP_STARTTAG_FN)(HTML_GROUP *g,
00024                                       const char *tagName);
00025 typedef int (*HTML_GROUP_ENDTAG_FN)(HTML_GROUP *g,
00026                                     const char *tagName);
00027 typedef int (*HTML_GROUP_ADDDATA_FN)(HTML_GROUP *g,
00028                                      const char *data);
00029 
00030 typedef int (*HTML_GROUP_ENDSUBGROUP_FN)(HTML_GROUP *g,
00031                                          HTML_GROUP *sg);
00032 
00033 
00034 #include "htmlobject_be.h"
00035 #include "htmlprops_be.h"
00036 
00037 
00038 
00039 HTML_GROUP *HtmlGroup_new(const char *groupName,
00040                           HTML_GROUP *parent,
00041                           GWEN_XML_CONTEXT *ctx);
00042 void HtmlGroup_free(HTML_GROUP *g);
00043 
00044 
00045 HTML_GROUP *HtmlGroup_GetParent(const HTML_GROUP *g);
00046 GWEN_XML_CONTEXT *HtmlGroup_GetXmlContext(const HTML_GROUP *g);
00047 const char *HtmlGroup_GetGroupName(const HTML_GROUP *g);
00048 
00049 HTML_OBJECT *HtmlGroup_GetObject(const HTML_GROUP *g);
00050 void HtmlGroup_SetObject(HTML_GROUP *g, HTML_OBJECT *o);
00051 
00052 
00053 HTML_PROPS *HtmlGroup_GetProperties(const HTML_GROUP *g);
00054 void HtmlGroup_SetProperties(HTML_GROUP *g, HTML_PROPS *pr);
00055 
00056 
00057 HTML_GROUP_STARTTAG_FN
00058   HtmlGroup_SetStartTagFn(HTML_GROUP *g,
00059                           HTML_GROUP_STARTTAG_FN f);
00060 
00061 HTML_GROUP_ENDTAG_FN
00062   HtmlGroup_SetEndTagFn(HTML_GROUP *g,
00063                         HTML_GROUP_ENDTAG_FN f);
00064 
00065 HTML_GROUP_ADDDATA_FN
00066   HtmlGroup_SetAddDataFn(HTML_GROUP *g,
00067                          HTML_GROUP_ADDDATA_FN f);
00068 
00069 HTML_GROUP_ENDSUBGROUP_FN
00070   HtmlGroup_SetEndSubGroupFn(HTML_GROUP *g,
00071                              HTML_GROUP_ENDSUBGROUP_FN f);
00072 
00073 int HtmlGroup_StartTag(HTML_GROUP *g, const char *tagName);
00074 
00078 int HtmlGroup_EndTag(HTML_GROUP *g, const char *tagName);
00079 int HtmlGroup_AddData(HTML_GROUP *g,
00080                          const char *data);
00081 
00082 int HtmlGroup_EndSubGroup(HTML_GROUP *g, HTML_GROUP *sg);
00083 
00084 #endif