00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00201 #ifndef OpenSOAP_StringHash_H
00202 #define OpenSOAP_StringHash_H
00203
00204 #include <OpenSOAP/String.h>
00205
00206 #ifdef __cplusplus
00207 extern "C" {
00208 #endif
00209
00210 typedef struct tagOpenSOAPStringHash OpenSOAPStringHash;
00211
00212 typedef OpenSOAPStringHash *OpenSOAPStringHashPtr;
00213
00214 int
00215 OPENSOAP_API
00216 OpenSOAPStringHashCreate(OpenSOAPStringHashPtr * strh);
00217
00218 int
00219 OPENSOAP_API
00220 OpenSOAPStringHashRelease(OpenSOAPStringHashPtr strh);
00221
00222 int
00223 OPENSOAP_API
00224 OpenSOAPStringHashClear(OpenSOAPStringHashPtr strh);
00225
00226 int
00227 OPENSOAP_API
00228 OpenSOAPStringHashRemoveKey(OpenSOAPStringHashPtr strh,
00229 OpenSOAPStringPtr key,
00230 void ** val);
00231
00232 int
00233 OPENSOAP_API
00234 OpenSOAPStringHashSetValue(OpenSOAPStringHashPtr strh,
00235 OpenSOAPStringPtr key,
00236 void * val);
00237
00238 int
00239 OPENSOAP_API
00240 OpenSOAPStringHashSetValueMB(OpenSOAPStringHashPtr strh,
00241 const char * key,
00242 void * val);
00243
00244 int
00245 OPENSOAP_API
00246 OpenSOAPStringHashSetValueWC(OpenSOAPStringHashPtr strh,
00247 const wchar_t * key,
00248 void * val);
00249
00250 int
00251 OPENSOAP_API
00252 OpenSOAPStringHashGetValue(OpenSOAPStringHashPtr strh,
00253 OpenSOAPStringPtr key,
00254 void ** val);
00255
00256 int
00257 OPENSOAP_API
00258 OpenSOAPStringHashGetValueMB(OpenSOAPStringHashPtr strh,
00259 const char * key,
00260 void ** val);
00261
00262 int
00263 OPENSOAP_API
00264 OpenSOAPStringHashGetValueWC(OpenSOAPStringHashPtr strh,
00265 const wchar_t * key,
00266 void ** val);
00267
00268 int
00269 OPENSOAP_API
00270 OpenSOAPStringHashGetSize(OpenSOAPStringHashPtr strh,
00271 size_t * sz);
00272
00273 int
00274 OPENSOAP_API
00275 OpenSOAPStringHashGetKeys(OpenSOAPStringHashPtr strh,
00276 size_t * sz,
00277 OpenSOAPStringPtr * keys);
00278 int
00279 OPENSOAP_API
00280 OpenSOAPStringHashGetValues(OpenSOAPStringHashPtr strh,
00281 size_t * sz,
00282 void ** vals);
00283
00284 int
00285 OPENSOAP_API
00286 OpenSOAPStringHashApplyToValues(OpenSOAPStringHashPtr strh,
00287 int (*aply)(void *, void *),
00288 void * opt);
00289
00290 #ifdef __cplusplus
00291 }
00292 #endif
00293
00294 #endif