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__