00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef OpenSOAP_StringHash_H
00012 #define OpenSOAP_StringHash_H
00013
00014 #include <OpenSOAP/String.h>
00015
00022 #ifdef __cplusplus
00023 extern "C" {
00024 #endif
00025
00030 typedef struct tagOpenSOAPStringHash OpenSOAPStringHash;
00031
00036 typedef OpenSOAPStringHash *OpenSOAPStringHashPtr;
00037
00046 int
00047 OPENSOAP_API
00048 OpenSOAPStringHashCreate(OpenSOAPStringHashPtr * strh);
00049
00058 int
00059 OPENSOAP_API
00060 OpenSOAPStringHashRelease(OpenSOAPStringHashPtr strh);
00061
00070 int
00071 OPENSOAP_API
00072 OpenSOAPStringHashClear(OpenSOAPStringHashPtr strh);
00073
00086 int
00087 OPENSOAP_API
00088 OpenSOAPStringHashRemoveKey(OpenSOAPStringHashPtr strh,
00089 OpenSOAPStringPtr key,
00090 void ** val);
00091
00104 int
00105 OPENSOAP_API
00106 OpenSOAPStringHashSetValue(OpenSOAPStringHashPtr strh,
00107 OpenSOAPStringPtr key,
00108 void * val);
00109
00122 int
00123 OPENSOAP_API
00124 OpenSOAPStringHashSetValueMB(OpenSOAPStringHashPtr strh,
00125 const char * key,
00126 void * val);
00127
00140 int
00141 OPENSOAP_API
00142 OpenSOAPStringHashSetValueWC(OpenSOAPStringHashPtr strh,
00143 const wchar_t * key,
00144 void * val);
00145
00158 int
00159 OPENSOAP_API
00160 OpenSOAPStringHashGetValue(OpenSOAPStringHashPtr strh,
00161 OpenSOAPStringPtr key,
00162 void ** val);
00163
00176 int
00177 OPENSOAP_API
00178 OpenSOAPStringHashGetValueMB(OpenSOAPStringHashPtr strh,
00179 const char * key,
00180 void ** val);
00181
00194 int
00195 OPENSOAP_API
00196 OpenSOAPStringHashGetValueWC(OpenSOAPStringHashPtr strh,
00197 const wchar_t * key,
00198 void ** val);
00199
00210 int
00211 OPENSOAP_API
00212 OpenSOAPStringHashGetSize(OpenSOAPStringHashPtr strh,
00213 size_t * sz);
00214
00227 int
00228 OPENSOAP_API
00229 OpenSOAPStringHashGetKeys(OpenSOAPStringHashPtr strh,
00230 size_t * sz,
00231 OpenSOAPStringPtr * keys);
00244 int
00245 OPENSOAP_API
00246 OpenSOAPStringHashGetValues(OpenSOAPStringHashPtr strh,
00247 size_t * sz,
00248 void ** vals);
00249
00262 int
00263 OPENSOAP_API
00264 OpenSOAPStringHashApplyToValues(OpenSOAPStringHashPtr strh,
00265 int (*aply)(void *, void *),
00266 void * opt);
00267
00268 #ifdef __cplusplus
00269 }
00270 #endif
00271
00272 #endif