00001 #ifndef _GTAG_H 00002 #define _GTAG_H 00003 00004 #include "GVariant.h" 00005 #include "GMap.h" 00006 00007 class GNamedVariant : public GVariant, public GObject 00008 { 00009 public: 00010 GNamedVariant(char *s = 0) 00011 { 00012 if (s) Name(s); 00013 } 00014 }; 00015 00016 class GTag : public List<GNamedVariant>, public GDom 00017 { 00018 protected: 00019 char *Element; 00020 bool ObscurePasswords; 00021 00022 GVariantType TypeOf(char *Name); 00023 00024 public: 00025 GTag(char *e); 00026 ~GTag(); 00027 00028 bool IsNumber(char *s); 00029 bool operator ==(char *s); 00030 GTag &operator =(GTag &t); 00031 GNamedVariant *GetNamed(char *Name); 00032 void Empty(); 00033 bool Read(XmlTag *t); 00034 void Write(GFile &f); 00035 bool GetVariant(char *Name, GVariant &Value, char *Array = 0); 00036 bool SetVariant(char *Name, GVariant &Value, char *Array = 0); 00037 void SerializeUI(GView *Dlg, GMap<char*,int> &Fields, bool To); 00038 }; 00039 00040 #endif