Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: icu46/source/common/servslkf.cpp

Issue 5516007: Check in the pristine copy of ICU 4.6... (Closed) Base URL: svn://chrome-svn/chrome/trunk/deps/third_party/
Patch Set: Created 10 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « icu46/source/common/servrbf.cpp ('k') | icu46/source/common/sprpimpl.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Property Changes:
Added: svn:eol-style
+ LF
OLDNEW
(Empty)
1 /**
2 *******************************************************************************
3 * Copyright (C) 2001-2005, International Business Machines Corporation and *
4 * others. All Rights Reserved. *
5 *******************************************************************************
6 *
7 *******************************************************************************
8 */
9 #include "unicode/utypes.h"
10
11 #if !UCONFIG_NO_SERVICE
12
13 #include "unicode/resbund.h"
14 #include "uresimp.h"
15 #include "cmemory.h"
16 #include "servloc.h"
17 #include "ustrfmt.h"
18 #include "uhash.h"
19 #include "charstr.h"
20 #include "ucln_cmn.h"
21 #include "uassert.h"
22
23 #define UNDERSCORE_CHAR ((UChar)0x005f)
24 #define AT_SIGN_CHAR ((UChar)64)
25 #define PERIOD_CHAR ((UChar)46)
26
27 U_NAMESPACE_BEGIN
28
29 /*
30 ******************************************************************
31 */
32
33 SimpleLocaleKeyFactory::SimpleLocaleKeyFactory(UObject* objToAdopt,
34 const UnicodeString& locale,
35 int32_t kind,
36 int32_t coverage)
37 : LocaleKeyFactory(coverage)
38 , _obj(objToAdopt)
39 , _id(locale)
40 , _kind(kind)
41 {
42 }
43
44 SimpleLocaleKeyFactory::SimpleLocaleKeyFactory(UObject* objToAdopt,
45 const Locale& locale,
46 int32_t kind,
47 int32_t coverage)
48 : LocaleKeyFactory(coverage)
49 , _obj(objToAdopt)
50 , _id()
51 , _kind(kind)
52 {
53 LocaleUtility::initNameFromLocale(locale, _id);
54 }
55
56 SimpleLocaleKeyFactory::~SimpleLocaleKeyFactory()
57 {
58 delete _obj;
59 _obj = NULL;
60 }
61
62 UObject*
63 SimpleLocaleKeyFactory::create(const ICUServiceKey& key, const ICUService* servi ce, UErrorCode& status) const
64 {
65 if (U_SUCCESS(status)) {
66 const LocaleKey& lkey = (const LocaleKey&)key;
67 if (_kind == LocaleKey::KIND_ANY || _kind == lkey.kind()) {
68 UnicodeString keyID;
69 lkey.currentID(keyID);
70 if (_id == keyID) {
71 return service->cloneInstance(_obj);
72 }
73 }
74 }
75 return NULL;
76 }
77
78 //UBool
79 //SimpleLocaleKeyFactory::isSupportedID(const UnicodeString& id, UErrorCode& /* status */) const
80 //{
81 // return id == _id;
82 //}
83
84 void
85 SimpleLocaleKeyFactory::updateVisibleIDs(Hashtable& result, UErrorCode& status) const
86 {
87 if (U_SUCCESS(status)) {
88 if (_coverage & 0x1) {
89 result.remove(_id);
90 } else {
91 result.put(_id, (void*)this, status);
92 }
93 }
94 }
95
96 #ifdef SERVICE_DEBUG
97 UnicodeString&
98 SimpleLocaleKeyFactory::debug(UnicodeString& result) const
99 {
100 LocaleKeyFactory::debug(result);
101 result.append(", id: ");
102 result.append(_id);
103 result.append(", kind: ");
104 result.append(_kind);
105 return result;
106 }
107
108 UnicodeString&
109 SimpleLocaleKeyFactory::debugClass(UnicodeString& result) const
110 {
111 return result.append("SimpleLocaleKeyFactory");
112 }
113 #endif
114
115 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleLocaleKeyFactory)
116
117 U_NAMESPACE_END
118
119 /* !UCONFIG_NO_SERVICE */
120 #endif
121
122
OLDNEW
« no previous file with comments | « icu46/source/common/servrbf.cpp ('k') | icu46/source/common/sprpimpl.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698