| |
1 /* |
| |
2 ******************************************************************************* |
| |
3 * |
| |
4 * Copyright (C) 1997-2006, International Business Machines |
| |
5 * Corporation and others. All Rights Reserved. |
| |
6 * |
| |
7 ******************************************************************************* |
| |
8 * file name: resbund_cnv.cpp |
| |
9 * encoding: US-ASCII |
| |
10 * tab size: 8 (not used) |
| |
11 * indentation:4 |
| |
12 * |
| |
13 * created on: 2004aug25 |
| |
14 * created by: Markus W. Scherer |
| |
15 * |
| |
16 * Character conversion functions moved here from resbund.cpp |
| |
17 */ |
| |
18 |
| |
19 #include "unicode/utypes.h" |
| |
20 #include "unicode/resbund.h" |
| |
21 #include "uinvchar.h" |
| |
22 |
| |
23 U_NAMESPACE_BEGIN |
| |
24 |
| |
25 ResourceBundle::ResourceBundle( const UnicodeString& path, |
| |
26 const Locale& locale, |
| |
27 UErrorCode& error) |
| |
28 :UObject(), fLocale(NULL) |
| |
29 { |
| |
30 constructForLocale(path, locale, error); |
| |
31 } |
| |
32 |
| |
33 ResourceBundle::ResourceBundle( const UnicodeString& path, |
| |
34 UErrorCode& error) |
| |
35 :UObject(), fLocale(NULL) |
| |
36 { |
| |
37 constructForLocale(path, Locale::getDefault(), error); |
| |
38 } |
| |
39 |
| |
40 void |
| |
41 ResourceBundle::constructForLocale(const UnicodeString& path, |
| |
42 const Locale& locale, |
| |
43 UErrorCode& error) |
| |
44 { |
| |
45 if (path.isEmpty()) { |
| |
46 fResource = ures_open(NULL, locale.getName(), &error); |
| |
47 } |
| |
48 else { |
| |
49 UnicodeString nullTerminatedPath(path); |
| |
50 nullTerminatedPath.append((UChar)0); |
| |
51 fResource = ures_openU(nullTerminatedPath.getBuffer(), locale.getName(), &error); |
| |
52 } |
| |
53 } |
| |
54 |
| |
55 U_NAMESPACE_END |