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(char *Name, GVariant &Value, char *Array = 0)
00019 {
00020 GVariant *v = (GVariant*)Find(Name);
00021 if (v)
00022 {
00023 Value = *v;
00024 return true;
00025 }
00026 return false;
00027 }
00028
00029 bool SetVariant(char *Name, GVariant &Value, char *Array = 0)
00030 {
00031 GVariant *v = new GVariant(Value);
00032 if (v)
00033 {
00034 Add(Name, v);
00035 return true;
00036 }
00037 return false;
00038 }
00039 };
00040
00041 #endif