ICU 4.6 4.6
|
00001 /******************************************************************** 00002 * COPYRIGHT: 00003 * Copyright (c) 1997-2010, International Business Machines Corporation and 00004 * others. All Rights Reserved. 00005 * Copyright (C) 2010 , Yahoo! Inc. 00006 ******************************************************************** 00007 * 00008 * file name: umsg.h 00009 * encoding: US-ASCII 00010 * tab size: 8 (not used) 00011 * indentation:4 00012 * 00013 * Change history: 00014 * 00015 * 08/5/2001 Ram Added C wrappers for C++ API. 00016 * 00017 ********************************************************************/ 00018 00019 #ifndef UMSG_H 00020 #define UMSG_H 00021 00022 #include "unicode/utypes.h" 00023 00024 #if !UCONFIG_NO_FORMATTING 00025 00026 #include "unicode/localpointer.h" 00027 #include "unicode/uloc.h" 00028 #include "unicode/parseerr.h" 00029 #include <stdarg.h> 00262 U_STABLE int32_t U_EXPORT2 00263 u_formatMessage(const char *locale, 00264 const UChar *pattern, 00265 int32_t patternLength, 00266 UChar *result, 00267 int32_t resultLength, 00268 UErrorCode *status, 00269 ...); 00270 00289 U_STABLE int32_t U_EXPORT2 00290 u_vformatMessage( const char *locale, 00291 const UChar *pattern, 00292 int32_t patternLength, 00293 UChar *result, 00294 int32_t resultLength, 00295 va_list ap, 00296 UErrorCode *status); 00297 00314 U_STABLE void U_EXPORT2 00315 u_parseMessage( const char *locale, 00316 const UChar *pattern, 00317 int32_t patternLength, 00318 const UChar *source, 00319 int32_t sourceLength, 00320 UErrorCode *status, 00321 ...); 00322 00339 U_STABLE void U_EXPORT2 00340 u_vparseMessage(const char *locale, 00341 const UChar *pattern, 00342 int32_t patternLength, 00343 const UChar *source, 00344 int32_t sourceLength, 00345 va_list ap, 00346 UErrorCode *status); 00347 00368 U_STABLE int32_t U_EXPORT2 00369 u_formatMessageWithError( const char *locale, 00370 const UChar *pattern, 00371 int32_t patternLength, 00372 UChar *result, 00373 int32_t resultLength, 00374 UParseError *parseError, 00375 UErrorCode *status, 00376 ...); 00377 00397 U_STABLE int32_t U_EXPORT2 00398 u_vformatMessageWithError( const char *locale, 00399 const UChar *pattern, 00400 int32_t patternLength, 00401 UChar *result, 00402 int32_t resultLength, 00403 UParseError* parseError, 00404 va_list ap, 00405 UErrorCode *status); 00406 00425 U_STABLE void U_EXPORT2 00426 u_parseMessageWithError(const char *locale, 00427 const UChar *pattern, 00428 int32_t patternLength, 00429 const UChar *source, 00430 int32_t sourceLength, 00431 UParseError *parseError, 00432 UErrorCode *status, 00433 ...); 00434 00453 U_STABLE void U_EXPORT2 00454 u_vparseMessageWithError(const char *locale, 00455 const UChar *pattern, 00456 int32_t patternLength, 00457 const UChar *source, 00458 int32_t sourceLength, 00459 va_list ap, 00460 UParseError *parseError, 00461 UErrorCode* status); 00462 00463 /*----------------------- New experimental API --------------------------- */ 00468 typedef void* UMessageFormat; 00469 00470 00483 U_STABLE UMessageFormat* U_EXPORT2 00484 umsg_open( const UChar *pattern, 00485 int32_t patternLength, 00486 const char *locale, 00487 UParseError *parseError, 00488 UErrorCode *status); 00489 00496 U_STABLE void U_EXPORT2 00497 umsg_close(UMessageFormat* format); 00498 00499 #if U_SHOW_CPLUSPLUS_API 00500 00501 U_NAMESPACE_BEGIN 00502 00512 U_DEFINE_LOCAL_OPEN_POINTER(LocalUMessageFormatPointer, UMessageFormat, umsg_close); 00513 00514 U_NAMESPACE_END 00515 00516 #endif 00517 00526 U_STABLE UMessageFormat U_EXPORT2 00527 umsg_clone(const UMessageFormat *fmt, 00528 UErrorCode *status); 00529 00537 U_STABLE void U_EXPORT2 00538 umsg_setLocale(UMessageFormat *fmt, 00539 const char* locale); 00540 00548 U_STABLE const char* U_EXPORT2 00549 umsg_getLocale(const UMessageFormat *fmt); 00550 00563 U_STABLE void U_EXPORT2 00564 umsg_applyPattern( UMessageFormat *fmt, 00565 const UChar* pattern, 00566 int32_t patternLength, 00567 UParseError* parseError, 00568 UErrorCode* status); 00569 00581 U_STABLE int32_t U_EXPORT2 00582 umsg_toPattern(const UMessageFormat *fmt, 00583 UChar* result, 00584 int32_t resultLength, 00585 UErrorCode* status); 00586 00602 U_STABLE int32_t U_EXPORT2 00603 umsg_format( const UMessageFormat *fmt, 00604 UChar *result, 00605 int32_t resultLength, 00606 UErrorCode *status, 00607 ...); 00608 00624 U_STABLE int32_t U_EXPORT2 00625 umsg_vformat( const UMessageFormat *fmt, 00626 UChar *result, 00627 int32_t resultLength, 00628 va_list ap, 00629 UErrorCode *status); 00630 00645 U_STABLE void U_EXPORT2 00646 umsg_parse( const UMessageFormat *fmt, 00647 const UChar *source, 00648 int32_t sourceLength, 00649 int32_t *count, 00650 UErrorCode *status, 00651 ...); 00652 00668 U_STABLE void U_EXPORT2 00669 umsg_vparse(const UMessageFormat *fmt, 00670 const UChar *source, 00671 int32_t sourceLength, 00672 int32_t *count, 00673 va_list ap, 00674 UErrorCode *status); 00675 00676 00700 U_STABLE int32_t U_EXPORT2 00701 umsg_autoQuoteApostrophe(const UChar* pattern, 00702 int32_t patternLength, 00703 UChar* dest, 00704 int32_t destCapacity, 00705 UErrorCode* ec); 00706 00707 #endif /* #if !UCONFIG_NO_FORMATTING */ 00708 00709 #endif