00001 #ifndef _GHASHDOM_H_ 00002 #define _GHASHDOM_H_ 00003 00004 #include "GVariant.h" 00005 00006 class GHashDom : public GHashTable, public GDom 00007 { 00008 public: 00009 GHashDom(int Size = 0) : GHashTable(Size, false) { } 00010 ~GHashDom() 00011 { 00012 for (GVariant *v = (GVariant*)First(); v; v = (GVariant*)Next()) 00013 { 00014 DeleteObj(v); 00015 } 00016 } 00017 00018 bool GetVariant(const char *Name, GVariant &Value, char *Array = 0) 00019 { 00020 GVariant *v = (GVariant*)Find((char*)Name); 00021 if (v) 00022 { 00023 Value = *v; 00024 return true; 00025 } 00026 return false; 00027 } 00028 00029 bool SetVariant(const char *Name, GVariant &Value, char *Array = 0) 00030 { 00031 GVariant *v = new GVariant(Value); 00032 if (v) 00033 { 00034 Add((char*)Name, v); 00035 return true; 00036 } 00037 return false; 00038 } 00039 }; 00040 00041 #endif