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