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 56