Main Page | Class Hierarchy | Class List | Directories | File List | Class Members | File Members | Related Pages

GXml.h

Go to the documentation of this file.
00001 
00002 
00003 #ifndef __XML_H
00004 #define __XML_H
00005 
00006 #include "GFile.h"
00007 #include "GContainers.h"
00008 
00010 class Xml;
00011 
00013 class LgiClass XmlValue
00014 {
00015 public:
00016     char *Name;
00017     char *Value;
00018     int OwnName:1;
00019     int OwnValue:1;
00020 
00021     XmlValue(Xml *x);
00022     XmlValue(Xml *x, char *&s);
00023     ~XmlValue();
00024 };
00025 
00027 class LgiClass XmlTag
00028 {
00029     Xml *X;
00030 
00031 public:
00033     char *Name;
00034 
00036     List<XmlValue> Values;
00037 
00038     XmlTag();
00039     XmlTag(Xml *x, char *&s);
00040     ~XmlTag();
00041 
00043     bool Get(char *Name, char *&Value);
00045     bool Set(char *Name, char *Value);
00046 };
00047 
00049 class LgiClass Xml
00050 {
00051     friend class XmlTag;
00052     friend class XmlValue;
00053 
00054 protected:
00055     int Length;
00056     char *Data;
00057     char *End;
00058     char *GetStr(char *Start, int Len);
00059 
00060     bool FileToData(GFile &f);
00061     virtual bool ProcessTag(GStringPipe &p, XmlTag *Tag) { return false; }
00062 
00063 public:
00065     List<XmlTag> Values;
00066     int CursorX, CursorY;
00067 
00068     Xml();
00069     virtual ~Xml();
00070 
00071     void Empty();
00072 
00074     int ParseXmlFile(char *FileName, int Flags = 0);
00076     int ParseXmlFile(GFile &File, int Flags = 0);
00078     int ParseXml(char *Data, int Flags = 0);
00079     char *NewStrFromXmlFile(GFile &File);
00080     char *NewStrFromXmlFile(char *FileName);
00081     virtual bool ExpandXml(GStringPipe &p, char *s);
00082 };
00083 
00084 #endif
00085 

Generated on Wed Oct 26 14:46:50 2005 for Lgi by  doxygen 1.4.1