00001 #ifndef __STPMAP_H__
00002 #define __STPMAP_H__
00003
00004
00005 class StpMap {
00006 private:
00007 StringHash* hash;
00008 public:
00009 StpMap(){
00010 hash = new StringHash();
00011 }
00012 virtual ~StpMap(){
00013 delete hash;
00014 }
00015
00016 private:
00017
00020 int chkptr(void* ptr, char* prefix0, char* prefix1);
00021
00023 void insert(const char* key, const char* value);
00024
00026 void remove(const char *key);
00027
00028 public:
00029
00031 void init(int argc, char** argv);
00032
00037 const char* get(const char* key);
00038
00040 void put(const char* key, const char* value);
00041
00042
00048 const char* getn(const char* namespc, const char* key);
00049
00051 void putn(const char* namespc, const char* key, const char* value);
00052 };
00053
00054 class AString : public virtual Object {
00055 public:
00056 char* str;
00057 void put(const char* s) {
00058 str = STRDUP(s);
00059 }
00060 AString() {}
00061 AString(const char* strg) {
00062 str = STRDUP(strg);
00063 }
00064 virtual ~AString() {
00065 free(str);
00066 str = 0;
00067 }
00068 };
00069 #endif // __STPMAP_H__