00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef OpenSOAP_String_H
00012 #define OpenSOAP_String_H
00013
00014 #include <OpenSOAP/ByteArray.h>
00015 #include <stdarg.h>
00016
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00031 typedef struct tagOpenSOAPString OpenSOAPString;
00032
00037 typedef OpenSOAPString *OpenSOAPStringPtr;
00038
00039
00048 int
00049 OPENSOAP_API
00050 OpenSOAPStringCreate( OpenSOAPStringPtr *str);
00051
00062 int
00063 OPENSOAP_API
00064 OpenSOAPStringCreateWithMB( const char *mb_str,
00065 OpenSOAPStringPtr *str);
00066
00077 int
00078 OPENSOAP_API
00079 OpenSOAPStringCreateWithWC( const wchar_t *wc_str,
00080 OpenSOAPStringPtr *str);
00081
00094 int
00095 OPENSOAP_API
00096 OpenSOAPStringCreateWithCharEncodingString( const char * char_enc,
00097 OpenSOAPByteArrayPtr char_enc_str,
00098 OpenSOAPStringPtr *str);
00099
00110 int
00111 OPENSOAP_API
00112 OpenSOAPStringCreateWithUTF8( const char *utf8Str,
00113 OpenSOAPStringPtr *str);
00114
00123 int
00124 OPENSOAP_API
00125 OpenSOAPStringRetain( OpenSOAPStringPtr str);
00126
00135 int
00136 OPENSOAP_API
00137 OpenSOAPStringRelease( OpenSOAPStringPtr str);
00138
00149 int
00150 OPENSOAP_API
00151 OpenSOAPStringGetLengthMB( OpenSOAPStringPtr str,
00152 size_t *len);
00153
00164 int
00165 OPENSOAP_API
00166 OpenSOAPStringGetLengthWC( OpenSOAPStringPtr str,
00167 size_t *len);
00168
00185 int
00186 OPENSOAP_API
00187 OpenSOAPStringGetStringMBWithAllocator( OpenSOAPStringPtr str,
00188 char * (*memAllocator)(size_t),
00189 size_t *len,
00190 char **mbStr);
00191
00208 int
00209 OPENSOAP_API
00210 OpenSOAPStringGetStringWCWithAllocator( OpenSOAPStringPtr str,
00211 wchar_t * (*memAllocator)(size_t),
00212 size_t *len,
00213 wchar_t **wcStr);
00214
00231 int
00232 OPENSOAP_API
00233 OpenSOAPStringGetStringUTF8WithAllocator( OpenSOAPStringPtr str,
00234 char * (*memAllocator)(size_t),
00235 size_t *len,
00236 char **utf8Str);
00237
00250 int
00251 OPENSOAP_API
00252 OpenSOAPStringGetStringMB( OpenSOAPStringPtr str,
00253 size_t *len,
00254 char * mb_Str);
00255
00268 int
00269 OPENSOAP_API
00270 OpenSOAPStringGetStringWC( OpenSOAPStringPtr str,
00271 size_t *len,
00272 wchar_t *wc_str);
00273
00286 int
00287 OPENSOAP_API
00288 OpenSOAPStringGetCharEncodingString( OpenSOAPStringPtr str,
00289 const char *char_enc,
00290 OpenSOAPByteArrayPtr char_enc_str);
00291
00302 int
00303 OPENSOAP_API
00304 OpenSOAPStringSetStringMB( OpenSOAPStringPtr str,
00305 const char *mb_str);
00306
00317 int
00318 OPENSOAP_API
00319 OpenSOAPStringSetStringWC( OpenSOAPStringPtr str,
00320 const wchar_t *wc_str);
00321
00334 int
00335 OPENSOAP_API
00336 OpenSOAPStringSetCharEncodingString( OpenSOAPStringPtr str,
00337 const char *char_enc,
00338 OpenSOAPByteArrayPtr charEncStr);
00339
00350 int
00351 OPENSOAP_API
00352 OpenSOAPStringSetStringUTF8( OpenSOAPStringPtr str,
00353 const char *utf8Str);
00354
00367 int
00368 OPENSOAP_API
00369 OpenSOAPStringFormatMB( OpenSOAPStringPtr str,
00370 const char *format, ...);
00371
00384 int
00385 OPENSOAP_API
00386 OpenSOAPStringFormatWC( OpenSOAPStringPtr str,
00387 const wchar_t *format, ...);
00388
00401 int
00402 OPENSOAP_API
00403 OpenSOAPStringVFormatMB( OpenSOAPStringPtr str,
00404 const char *format,
00405 va_list ap);
00406
00419 int
00420 OPENSOAP_API
00421 OpenSOAPStringVFormatWC( OpenSOAPStringPtr str,
00422 const wchar_t *format,
00423 va_list ap);
00424
00437 int
00438 OPENSOAP_API
00439 OpenSOAPStringCompareMB( OpenSOAPStringPtr str,
00440 const char *cmp_str,
00441 int *cmp_rslt);
00442
00455 int
00456 OPENSOAP_API
00457 OpenSOAPStringCompareWC( OpenSOAPStringPtr str,
00458 const wchar_t *cmp_str,
00459 int *cmp_rslt);
00460
00473 int
00474 OPENSOAP_API
00475 OpenSOAPStringCompare( OpenSOAPStringPtr str,
00476 OpenSOAPStringPtr cmp_str,
00477 int *cmp_rslt);
00478
00491 int
00492 OPENSOAP_API
00493 OpenSOAPStringFindStringMB( OpenSOAPStringPtr str,
00494 const char *find_str,
00495 size_t *idx);
00496
00509 int
00510 OPENSOAP_API
00511 OpenSOAPStringFindStringWC( OpenSOAPStringPtr str,
00512 const wchar_t *find_str,
00513 size_t *idx);
00514
00527 int
00528 OPENSOAP_API
00529 OpenSOAPStringFindString( OpenSOAPStringPtr str,
00530 OpenSOAPStringPtr find_str,
00531 size_t *idx);
00532
00545 typedef int
00546 (*OpenSOAPStringFindIfFunc)( void *opt,
00547 wchar_t c,
00548 int *judge);
00549
00564 extern
00565 int
00566 OPENSOAP_API
00567 OpenSOAPStringFindIfStringIndex( OpenSOAPStringPtr str,
00568 OpenSOAPStringFindIfFunc find_func,
00569 void *find_func_opt,
00570 size_t *idx);
00585 int
00586 OPENSOAP_API
00587 OpenSOAPStringReplaceStringMB( OpenSOAPStringPtr str,
00588 const char *find_str,
00589 const char *rplc_str,
00590 size_t *idx);
00591
00606 int
00607 OPENSOAP_API
00608 OpenSOAPStringReplaceStringWC( OpenSOAPStringPtr str,
00609 const wchar_t *find_str,
00610 const wchar_t *rplc_str,
00611 size_t *idx);
00612
00627 int
00628 OPENSOAP_API
00629 OpenSOAPStringReplaceString( OpenSOAPStringPtr str,
00630 OpenSOAPStringPtr find_str,
00631 OpenSOAPStringPtr rplc_str,
00632 size_t *idx);
00633
00642 int
00643 OPENSOAP_API
00644 OpenSOAPStringClear( OpenSOAPStringPtr str);
00645
00658 int
00659 OPENSOAP_API
00660 OpenSOAPStringAppendMB( OpenSOAPStringPtr str,
00661 const char *mb_str,
00662 size_t mb_len);
00663
00676 int
00677 OPENSOAP_API
00678 OpenSOAPStringAppendWC( OpenSOAPStringPtr str,
00679 const wchar_t *wc_str,
00680 size_t wc_len);
00681
00692 int
00693 OPENSOAP_API
00694 OpenSOAPStringDuplicate( OpenSOAPStringPtr str,
00695 OpenSOAPStringPtr *dup_str);
00696
00711 int
00712 OPENSOAP_API
00713 OpenSOAPStringGetSubstring( OpenSOAPStringPtr str,
00714 size_t beg,
00715 size_t len,
00716 OpenSOAPStringPtr *sub_str);
00717
00732 int
00733 OPENSOAP_API
00734 OpenSOAPStringConvertCharEncoding( const char *from_enc,
00735 OpenSOAPByteArrayPtr from_str,
00736 const char *to_enc,
00737 OpenSOAPByteArrayPtr to_str);
00738
00749 int
00750 OPENSOAP_API
00751 OpenSOAPStringConvertXMLCharRefToUTF8( const unsigned char *utf8Beg,
00752 OpenSOAPByteArrayPtr utf8BAry);
00763 int
00764 OPENSOAP_API
00765 OpenSOAPStringGetStringUSASCII( OpenSOAPStringPtr str,
00766 OpenSOAPByteArrayPtr charEncStr);
00767
00784 int
00785 OPENSOAP_API
00786 OpenSOAPStringIterateProc( OpenSOAPStringPtr str,
00787 int (*iterateProc)(unsigned long c, size_t idx, size_t len, void *opt),
00788 int (*beforeProc)(size_t len, void *opt),
00789 int (*afterProc)(size_t len, void *opt),
00790 void *opt);
00791
00792 #ifdef __cplusplus
00793 }
00794 #endif
00795
00796 #endif