• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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  
ResourceBundle(const UnicodeString & path,const Locale & locale,UErrorCode & error)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  
ResourceBundle(const UnicodeString & path,UErrorCode & error)33  ResourceBundle::ResourceBundle( const UnicodeString&    path,
34                                  UErrorCode&              error)
35                                  :UObject(), fLocale(NULL)
36  {
37      constructForLocale(path, Locale::getDefault(), error);
38  }
39  
40  void
constructForLocale(const UnicodeString & path,const Locale & locale,UErrorCode & error)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