1b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/* 2b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru********************************************************************** 350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho* Copyright (C) 2004-2010, International Business Machines 4b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru* Corporation and others. All Rights Reserved. 5b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru********************************************************************** 6b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru*/ 7b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 8b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#ifndef ULOCIMP_H 9b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#define ULOCIMP_H 10b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 11b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#include "unicode/uloc.h" 12b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 13b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru/** 14b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * Create an iterator over the specified keywords list 15b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param keywordList double-null terminated list. Will be copied. 16b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param keywordListSize size in bytes of keywordList 17b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @param status err code 18b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @return enumeration (owned by caller) of the keyword list. 19b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru * @internal ICU 3.0 20b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru */ 21b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste QueruU_CAPI UEnumeration* U_EXPORT2 22b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queruuloc_openKeywordList(const char *keywordList, int32_t keywordListSize, UErrorCode* status); 23b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru 2450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/** 2550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * Look up a resource bundle table item with fallback on the table level. 2650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho * This is accessible so it can be called by C++ code. 2750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho */ 2850294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CAPI const UChar * U_EXPORT2 2950294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouloc_getTableStringWithFallback( 3050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *path, 3150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *locale, 3250294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *tableKey, 3350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *subTableKey, 3450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char *itemKey, 3550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho int32_t *pLength, 3650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho UErrorCode *pErrorCode); 3750294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 3850294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho/*returns TRUE if a is an ID separator FALSE otherwise*/ 3950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho#define _isIDSeparator(a) (a == '_' || a == '-') 4050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4150294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CFUNC const char* 4250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouloc_getCurrentCountryID(const char* oldID); 4350294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4450294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CFUNC const char* 4550294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehouloc_getCurrentLanguageID(const char* oldID); 4650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 4750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CFUNC int32_t 4850294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoulocimp_getLanguage(const char *localeID, 4950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho char *language, int32_t languageCapacity, 5050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char **pEnd); 5150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5250294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CFUNC int32_t 5350294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoulocimp_getScript(const char *localeID, 5450294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho char *script, int32_t scriptCapacity, 5550294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char **pEnd); 5650294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 5750294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoU_CFUNC int32_t 5850294ead5e5d23f5bbfed76e00e6b510bd41eee1clairehoulocimp_getCountry(const char *localeID, 5950294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho char *country, int32_t countryCapacity, 6050294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho const char **pEnd); 6150294ead5e5d23f5bbfed76e00e6b510bd41eee1claireho 6227f654740f2a26ad62a5c155af9199af9e69b889clairehoU_CAPI const char * U_EXPORT2 6327f654740f2a26ad62a5c155af9199af9e69b889claireholocale_getKeywordsStart(const char *localeID); 6427f654740f2a26ad62a5c155af9199af9e69b889claireho 65b13da9df870a61b11249bf741347908dbea0edd8Jean-Baptiste Queru#endif 66