Home | History | Annotate | Download | only in common
      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