Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(464)

Side by Side Diff: icu46/source/i18n/udatpg.cpp

Issue 5516007: Check in the pristine copy of ICU 4.6... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « icu46/source/i18n/udat.cpp ('k') | icu46/source/i18n/ulocdata.c » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /*
2 *******************************************************************************
3 *
4 * Copyright (C) 2009, International Business Machines
5 * Corporation and others. All Rights Reserved.
6 *
7 *******************************************************************************
8 * file name: udatpg.cpp
9 * encoding: US-ASCII
10 * tab size: 8 (not used)
11 * indentation:4
12 *
13 * created on: 2007jul30
14 * created by: Markus W. Scherer
15 */
16
17 #include "unicode/utypes.h"
18
19 #if !UCONFIG_NO_FORMATTING
20
21 #include "unicode/udatpg.h"
22 #include "unicode/uenum.h"
23 #include "unicode/strenum.h"
24 #include "unicode/dtptngen.h"
25 #include "ustrenum.h"
26
27 U_NAMESPACE_USE
28
29 U_DRAFT UDateTimePatternGenerator * U_EXPORT2
30 udatpg_open(const char *locale, UErrorCode *pErrorCode) {
31 if(locale==NULL) {
32 return (UDateTimePatternGenerator *)DateTimePatternGenerator::createInst ance(*pErrorCode);
33 } else {
34 return (UDateTimePatternGenerator *)DateTimePatternGenerator::createInst ance(Locale(locale), *pErrorCode);
35 }
36 }
37
38 U_DRAFT UDateTimePatternGenerator * U_EXPORT2
39 udatpg_openEmpty(UErrorCode *pErrorCode) {
40 return (UDateTimePatternGenerator *)DateTimePatternGenerator::createEmptyIns tance(*pErrorCode);
41 }
42
43 U_DRAFT void U_EXPORT2
44 udatpg_close(UDateTimePatternGenerator *dtpg) {
45 delete (DateTimePatternGenerator *)dtpg;
46 }
47
48 U_DRAFT UDateTimePatternGenerator * U_EXPORT2
49 udatpg_clone(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCode) {
50 if(U_FAILURE(*pErrorCode)) {
51 return NULL;
52 }
53 return (UDateTimePatternGenerator *)(((const DateTimePatternGenerator *)dtpg )->clone());
54 }
55
56 U_DRAFT int32_t U_EXPORT2
57 udatpg_getBestPattern(UDateTimePatternGenerator *dtpg,
58 const UChar *skeleton, int32_t length,
59 UChar *bestPattern, int32_t capacity,
60 UErrorCode *pErrorCode) {
61 return udatpg_getBestPatternWithOptions(dtpg, skeleton, length,
62 UDATPG_MATCH_NO_OPTIONS,
63 bestPattern, capacity, pErrorCode);
64 }
65
66 U_DRAFT int32_t U_EXPORT2
67 udatpg_getBestPatternWithOptions(UDateTimePatternGenerator *dtpg,
68 const UChar *skeleton, int32_t length,
69 UDateTimePatternMatchOptions options,
70 UChar *bestPattern, int32_t capacity,
71 UErrorCode *pErrorCode) {
72 if(U_FAILURE(*pErrorCode)) {
73 return 0;
74 }
75 if(skeleton==NULL && length!=0) {
76 *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
77 return 0;
78 }
79 UnicodeString skeletonString((UBool)(length<0), skeleton, length);
80 UnicodeString result=((DateTimePatternGenerator *)dtpg)->getBestPattern(skel etonString, options, *pErrorCode);
81 return result.extract(bestPattern, capacity, *pErrorCode);
82 }
83
84 U_DRAFT int32_t U_EXPORT2
85 udatpg_getSkeleton(UDateTimePatternGenerator *dtpg,
86 const UChar *pattern, int32_t length,
87 UChar *skeleton, int32_t capacity,
88 UErrorCode *pErrorCode) {
89 if(U_FAILURE(*pErrorCode)) {
90 return 0;
91 }
92 if(pattern==NULL && length!=0) {
93 *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
94 return 0;
95 }
96 UnicodeString patternString((UBool)(length<0), pattern, length);
97 UnicodeString result=((DateTimePatternGenerator *)dtpg)->getSkeleton(pattern String, *pErrorCode);
98 return result.extract(skeleton, capacity, *pErrorCode);
99 }
100
101 U_DRAFT int32_t U_EXPORT2
102 udatpg_getBaseSkeleton(UDateTimePatternGenerator *dtpg,
103 const UChar *pattern, int32_t length,
104 UChar *skeleton, int32_t capacity,
105 UErrorCode *pErrorCode) {
106 if(U_FAILURE(*pErrorCode)) {
107 return 0;
108 }
109 if(pattern==NULL && length!=0) {
110 *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
111 return 0;
112 }
113 UnicodeString patternString((UBool)(length<0), pattern, length);
114 UnicodeString result=((DateTimePatternGenerator *)dtpg)->getBaseSkeleton(pat ternString, *pErrorCode);
115 return result.extract(skeleton, capacity, *pErrorCode);
116 }
117
118 U_DRAFT UDateTimePatternConflict U_EXPORT2
119 udatpg_addPattern(UDateTimePatternGenerator *dtpg,
120 const UChar *pattern, int32_t patternLength,
121 UBool override,
122 UChar *conflictingPattern, int32_t capacity, int32_t *pLength,
123 UErrorCode *pErrorCode) {
124 if(U_FAILURE(*pErrorCode)) {
125 return UDATPG_NO_CONFLICT;
126 }
127 if(pattern==NULL && patternLength!=0) {
128 *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
129 return UDATPG_NO_CONFLICT;
130 }
131 UnicodeString patternString((UBool)(patternLength<0), pattern, patternLength );
132 UnicodeString conflictingPatternString;
133 UDateTimePatternConflict result=((DateTimePatternGenerator *)dtpg)->
134 addPattern(patternString, override, conflictingPatternString, *pErro rCode);
135 int32_t length=conflictingPatternString.extract(conflictingPattern, capacity , *pErrorCode);
136 if(pLength!=NULL) {
137 *pLength=length;
138 }
139 return result;
140 }
141
142 U_DRAFT void U_EXPORT2
143 udatpg_setAppendItemFormat(UDateTimePatternGenerator *dtpg,
144 UDateTimePatternField field,
145 const UChar *value, int32_t length) {
146 UnicodeString valueString((UBool)(length<0), value, length);
147 ((DateTimePatternGenerator *)dtpg)->setAppendItemFormat(field, valueString);
148 }
149
150 U_DRAFT const UChar * U_EXPORT2
151 udatpg_getAppendItemFormat(const UDateTimePatternGenerator *dtpg,
152 UDateTimePatternField field,
153 int32_t *pLength) {
154 const UnicodeString &result=((const DateTimePatternGenerator *)dtpg)->getApp endItemFormat(field);
155 if(pLength!=NULL) {
156 *pLength=result.length();
157 }
158 return result.getBuffer();
159 }
160
161 U_DRAFT void U_EXPORT2
162 udatpg_setAppendItemName(UDateTimePatternGenerator *dtpg,
163 UDateTimePatternField field,
164 const UChar *value, int32_t length) {
165 UnicodeString valueString((UBool)(length<0), value, length);
166 ((DateTimePatternGenerator *)dtpg)->setAppendItemName(field, valueString);
167 }
168
169 U_DRAFT const UChar * U_EXPORT2
170 udatpg_getAppendItemName(const UDateTimePatternGenerator *dtpg,
171 UDateTimePatternField field,
172 int32_t *pLength) {
173 const UnicodeString &result=((const DateTimePatternGenerator *)dtpg)->getApp endItemName(field);
174 if(pLength!=NULL) {
175 *pLength=result.length();
176 }
177 return result.getBuffer();
178 }
179
180 U_DRAFT void U_EXPORT2
181 udatpg_setDateTimeFormat(const UDateTimePatternGenerator *dtpg,
182 const UChar *dtFormat, int32_t length) {
183 UnicodeString dtFormatString((UBool)(length<0), dtFormat, length);
184 ((DateTimePatternGenerator *)dtpg)->setDateTimeFormat(dtFormatString);
185 }
186
187 U_DRAFT const UChar * U_EXPORT2
188 udatpg_getDateTimeFormat(const UDateTimePatternGenerator *dtpg,
189 int32_t *pLength) {
190 const UnicodeString &result=((const DateTimePatternGenerator *)dtpg)->getDat eTimeFormat();
191 if(pLength!=NULL) {
192 *pLength=result.length();
193 }
194 return result.getBuffer();
195 }
196
197 U_DRAFT void U_EXPORT2
198 udatpg_setDecimal(UDateTimePatternGenerator *dtpg,
199 const UChar *decimal, int32_t length) {
200 UnicodeString decimalString((UBool)(length<0), decimal, length);
201 ((DateTimePatternGenerator *)dtpg)->setDecimal(decimalString);
202 }
203
204 U_DRAFT const UChar * U_EXPORT2
205 udatpg_getDecimal(const UDateTimePatternGenerator *dtpg,
206 int32_t *pLength) {
207 const UnicodeString &result=((const DateTimePatternGenerator *)dtpg)->getDec imal();
208 if(pLength!=NULL) {
209 *pLength=result.length();
210 }
211 return result.getBuffer();
212 }
213
214 U_DRAFT int32_t U_EXPORT2
215 udatpg_replaceFieldTypes(UDateTimePatternGenerator *dtpg,
216 const UChar *pattern, int32_t patternLength,
217 const UChar *skeleton, int32_t skeletonLength,
218 UChar *dest, int32_t destCapacity,
219 UErrorCode *pErrorCode) {
220 return udatpg_replaceFieldTypesWithOptions(dtpg, pattern, patternLength, ske leton, skeletonLength,
221 UDATPG_MATCH_NO_OPTIONS,
222 dest, destCapacity, pErrorCode);
223 }
224
225 U_DRAFT int32_t U_EXPORT2
226 udatpg_replaceFieldTypesWithOptions(UDateTimePatternGenerator *dtpg,
227 const UChar *pattern, int32_t patternLength,
228 const UChar *skeleton, int32_t skeletonLengt h,
229 UDateTimePatternMatchOptions options,
230 UChar *dest, int32_t destCapacity,
231 UErrorCode *pErrorCode) {
232 if(U_FAILURE(*pErrorCode)) {
233 return 0;
234 }
235 if((pattern==NULL && patternLength!=0) || (skeleton==NULL && skeletonLength! =0)) {
236 *pErrorCode=U_ILLEGAL_ARGUMENT_ERROR;
237 return 0;
238 }
239 UnicodeString patternString((UBool)(patternLength<0), pattern, patternLength );
240 UnicodeString skeletonString((UBool)(skeletonLength<0), skeleton, skeletonLe ngth);
241 UnicodeString result=((DateTimePatternGenerator *)dtpg)->replaceFieldTypes(p atternString, skeletonString, options, *pErrorCode);
242 return result.extract(dest, destCapacity, *pErrorCode);
243 }
244
245 U_DRAFT UEnumeration * U_EXPORT2
246 udatpg_openSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErrorCo de) {
247 return uenum_openFromStringEnumeration(
248 ((DateTimePatternGenerator *)dtpg)->getSkeletons(*pErrorCode),
249 pErrorCode);
250 }
251
252 U_DRAFT UEnumeration * U_EXPORT2
253 udatpg_openBaseSkeletons(const UDateTimePatternGenerator *dtpg, UErrorCode *pErr orCode) {
254 return uenum_openFromStringEnumeration(
255 ((DateTimePatternGenerator *)dtpg)->getBaseSkeletons(*pErrorCode ),
256 pErrorCode);
257 }
258
259 U_DRAFT const UChar * U_EXPORT2
260 udatpg_getPatternForSkeleton(const UDateTimePatternGenerator *dtpg,
261 const UChar *skeleton, int32_t skeletonLength,
262 int32_t *pLength) {
263 UnicodeString skeletonString((UBool)(skeletonLength<0), skeleton, skeletonLe ngth);
264 const UnicodeString &result=((const DateTimePatternGenerator *)dtpg)->getPat ternForSkeleton(skeletonString);
265 if(pLength!=NULL) {
266 *pLength=result.length();
267 }
268 return result.getBuffer();
269 }
270
271 #endif
OLDNEW
« no previous file with comments | « icu46/source/i18n/udat.cpp ('k') | icu46/source/i18n/ulocdata.c » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698