- Main Page
- Modules
- Data Structures
- Files
- Related Pages

- Search for |

- File List
- Globals

# umsg.h

Go to the documentation of this file.

    00001 /*
    00002 *******************************************************************************
    00003 * Copyright (C) 1996-2006, International Business Machines Corporation
    00004 * and others. All Rights Reserved.
    00005 *******************************************************************************
    00006 *
    00007 *   file name:  umsg.h
    00008 *   encoding:   US-ASCII
    00009 *   tab size:   8 (not used)
    00010 *   indentation:4
    00011 *
    00012 *   Change history:
    00013 *
    00014 *   08/5/2001  Ram         Added C wrappers for C++ API.
    00015 *
    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/uloc.h"
    00027 #include "unicode/parseerr.h"
    00028 #include <stdarg.h>
    00219 U_STABLE int32_t U_EXPORT2
    00220 u_formatMessage(const char  *locale,
    00221                  const UChar *pattern,
    00222                 int32_t     patternLength,
    00223                 UChar       *result,
    00224                 int32_t     resultLength,
    00225                 UErrorCode  *status,
    00226                 ...);
    00227
    00246 U_STABLE int32_t U_EXPORT2
    00247 u_vformatMessage(   const char  *locale,
    00248                     const UChar *pattern,
    00249                     int32_t     patternLength,
    00250                     UChar       *result,
    00251                     int32_t     resultLength,
    00252                     va_list     ap,
    00253                     UErrorCode  *status);
    00254
    00271 U_STABLE void U_EXPORT2
    00272 u_parseMessage( const char   *locale,
    00273                 const UChar  *pattern,
    00274                 int32_t      patternLength,
    00275                 const UChar  *source,
    00276                 int32_t      sourceLength,
    00277                 UErrorCode   *status,
    00278                 ...);
    00279
    00296 U_STABLE void U_EXPORT2
    00297 u_vparseMessage(const char  *locale,
    00298                 const UChar *pattern,
    00299                 int32_t     patternLength,
    00300                 const UChar *source,
    00301                 int32_t     sourceLength,
    00302                 va_list     ap,
    00303                 UErrorCode  *status);
    00304
    00325 U_STABLE int32_t U_EXPORT2
    00326 u_formatMessageWithError(   const char    *locale,
    00327                             const UChar   *pattern,
    00328                             int32_t       patternLength,
    00329                             UChar         *result,
    00330                             int32_t       resultLength,
    00331                             UParseError   *parseError,
    00332                             UErrorCode    *status,
    00333                             ...);
    00334
    00354 U_STABLE int32_t U_EXPORT2
    00355 u_vformatMessageWithError(  const char   *locale,
    00356                             const UChar  *pattern,
    00357                             int32_t      patternLength,
    00358                             UChar        *result,
    00359                             int32_t      resultLength,
    00360                             UParseError* parseError,
    00361                             va_list      ap,
    00362                             UErrorCode   *status);
    00363
    00382 U_STABLE void U_EXPORT2
    00383 u_parseMessageWithError(const char  *locale,
    00384                         const UChar *pattern,
    00385                         int32_t     patternLength,
    00386                         const UChar *source,
    00387                         int32_t     sourceLength,
    00388                         UParseError *parseError,
    00389                         UErrorCode  *status,
    00390                         ...);
    00391
    00410 U_STABLE void U_EXPORT2
    00411 u_vparseMessageWithError(const char  *locale,
    00412                          const UChar *pattern,
    00413                          int32_t     patternLength,
    00414                          const UChar *source,
    00415                          int32_t     sourceLength,
    00416                          va_list     ap,
    00417                          UParseError *parseError,
    00418                          UErrorCode* status);
    00419
    00420 /*----------------------- New experimental API --------------------------- */
    00425 typedef void* UMessageFormat;
    00426
    00427
    00440 U_STABLE UMessageFormat* U_EXPORT2
    00441 umsg_open(  const UChar     *pattern,
    00442             int32_t         patternLength,
    00443             const  char     *locale,
    00444             UParseError     *parseError,
    00445             UErrorCode      *status);
    00446
    00453 U_STABLE void U_EXPORT2
    00454 umsg_close(UMessageFormat* format);
    00455
    00464 U_STABLE UMessageFormat U_EXPORT2
    00465 umsg_clone(const UMessageFormat *fmt,
    00466            UErrorCode *status);
    00467
    00475 U_STABLE void  U_EXPORT2
    00476 umsg_setLocale(UMessageFormat *fmt,
    00477                const char* locale);
    00478
    00486 U_STABLE const char*  U_EXPORT2
    00487 umsg_getLocale(const UMessageFormat *fmt);
    00488
    00501 U_STABLE void  U_EXPORT2
    00502 umsg_applyPattern( UMessageFormat *fmt,
    00503                    const UChar* pattern,
    00504                    int32_t patternLength,
    00505                    UParseError* parseError,
    00506                    UErrorCode* status);
    00507
    00519 U_STABLE int32_t  U_EXPORT2
    00520 umsg_toPattern(const UMessageFormat *fmt,
    00521                UChar* result,
    00522                int32_t resultLength,
    00523                UErrorCode* status);
    00524
    00540 U_STABLE int32_t U_EXPORT2
    00541 umsg_format(    const UMessageFormat *fmt,
    00542                 UChar          *result,
    00543                 int32_t        resultLength,
    00544                 UErrorCode     *status,
    00545                 ...);
    00546
    00562 U_STABLE int32_t U_EXPORT2
    00563 umsg_vformat(   const UMessageFormat *fmt,
    00564                 UChar          *result,
    00565                 int32_t        resultLength,
    00566                 va_list        ap,
    00567                 UErrorCode     *status);
    00568
    00583 U_STABLE void U_EXPORT2
    00584 umsg_parse( const UMessageFormat *fmt,
    00585             const UChar    *source,
    00586             int32_t        sourceLength,
    00587             int32_t        *count,
    00588             UErrorCode     *status,
    00589             ...);
    00590
    00606 U_STABLE void U_EXPORT2
    00607 umsg_vparse(const UMessageFormat *fmt,
    00608             const UChar    *source,
    00609             int32_t        sourceLength,
    00610             int32_t        *count,
    00611             va_list        ap,
    00612             UErrorCode     *status);
    00613
    00614
    00638 U_STABLE int32_t U_EXPORT2
    00639 umsg_autoQuoteApostrophe(const UChar* pattern,
    00640                          int32_t patternLength,
    00641                          UChar* dest,
    00642                          int32_t destCapacity,
    00643                          UErrorCode* ec);
    00644
    00645 #endif /* #if !UCONFIG_NO_FORMATTING */
    00646
    00647 #endif