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

Side by Side Diff: source/common/serv.cpp

Issue 1621843002: ICU 56 update step 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/deps/icu.git@561
Patch Set: Created 4 years, 11 months 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
« no previous file with comments | « source/common/rbbistbl.cpp ('k') | source/common/servlk.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /** 1 /**
2 ******************************************************************************* 2 *******************************************************************************
3 * Copyright (C) 2001-2012, International Business Machines Corporation. 3 * Copyright (C) 2001-2014, International Business Machines Corporation.
4 * All Rights Reserved. 4 * All Rights Reserved.
5 ******************************************************************************* 5 *******************************************************************************
6 */ 6 */
7 7
8 #include "unicode/utypes.h" 8 #include "unicode/utypes.h"
9 9
10 #if !UCONFIG_NO_SERVICE 10 #if !UCONFIG_NO_SERVICE
11 11
12 #include "serv.h" 12 #include "serv.h"
13 #include "umutex.h" 13 #include "umutex.h"
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
95 result.remove(0, n+1); 95 result.remove(0, n+1);
96 } 96 }
97 return result; 97 return result;
98 } 98 }
99 99
100 #ifdef SERVICE_DEBUG 100 #ifdef SERVICE_DEBUG
101 UnicodeString& 101 UnicodeString&
102 ICUServiceKey::debug(UnicodeString& result) const 102 ICUServiceKey::debug(UnicodeString& result) const
103 { 103 {
104 debugClass(result); 104 debugClass(result);
105 result.append(" id: "); 105 result.append((UnicodeString)" id: ");
106 result.append(_id); 106 result.append(_id);
107 return result; 107 return result;
108 } 108 }
109 109
110 UnicodeString& 110 UnicodeString&
111 ICUServiceKey::debugClass(UnicodeString& result) const 111 ICUServiceKey::debugClass(UnicodeString& result) const
112 { 112 {
113 return result.append("ICUServiceKey"); 113 return result.append((UnicodeString)"ICUServiceKey");
114 } 114 }
115 #endif 115 #endif
116 116
117 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ICUServiceKey) 117 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(ICUServiceKey)
118 118
119 /* 119 /*
120 ****************************************************************** 120 ******************************************************************
121 */ 121 */
122 122
123 ICUServiceFactory::~ICUServiceFactory() {} 123 ICUServiceFactory::~ICUServiceFactory() {}
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 result.setToBogus(); 163 result.setToBogus();
164 } 164 }
165 return result; 165 return result;
166 } 166 }
167 167
168 #ifdef SERVICE_DEBUG 168 #ifdef SERVICE_DEBUG
169 UnicodeString& 169 UnicodeString&
170 SimpleFactory::debug(UnicodeString& toAppendTo) const 170 SimpleFactory::debug(UnicodeString& toAppendTo) const
171 { 171 {
172 debugClass(toAppendTo); 172 debugClass(toAppendTo);
173 toAppendTo.append(" id: "); 173 toAppendTo.append((UnicodeString)" id: ");
174 toAppendTo.append(_id); 174 toAppendTo.append(_id);
175 toAppendTo.append(", visible: "); 175 toAppendTo.append((UnicodeString)", visible: ");
176 toAppendTo.append(_visible ? "T" : "F"); 176 toAppendTo.append(_visible ? (UnicodeString)"T" : (UnicodeString)"F");
177 return toAppendTo; 177 return toAppendTo;
178 } 178 }
179 179
180 UnicodeString& 180 UnicodeString&
181 SimpleFactory::debugClass(UnicodeString& toAppendTo) const 181 SimpleFactory::debugClass(UnicodeString& toAppendTo) const
182 { 182 {
183 return toAppendTo.append("SimpleFactory"); 183 return toAppendTo.append((UnicodeString)"SimpleFactory");
184 } 184 }
185 #endif 185 #endif
186 186
187 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleFactory) 187 UOBJECT_DEFINE_RTTI_IMPLEMENTATION(SimpleFactory)
188 188
189 /* 189 /*
190 ****************************************************************** 190 ******************************************************************
191 */ 191 */
192 192
193 ServiceListener::~ServiceListener() {} 193 ServiceListener::~ServiceListener() {}
(...skipping 418 matching lines...) Expand 10 before | Expand all | Expand 10 after
612 if (U_FAILURE(status)) { 612 if (U_FAILURE(status)) {
613 return result; 613 return result;
614 } 614 }
615 615
616 { 616 {
617 Mutex mutex(&lock); 617 Mutex mutex(&lock);
618 const Hashtable* map = getVisibleIDMap(status); 618 const Hashtable* map = getVisibleIDMap(status);
619 if (map != NULL) { 619 if (map != NULL) {
620 ICUServiceKey* fallbackKey = createKey(matchID, status); 620 ICUServiceKey* fallbackKey = createKey(matchID, status);
621 621
622 for (int32_t pos = -1;;) { 622 for (int32_t pos = UHASH_FIRST;;) {
623 const UHashElement* e = map->nextElement(pos); 623 const UHashElement* e = map->nextElement(pos);
624 if (e == NULL) { 624 if (e == NULL) {
625 break; 625 break;
626 } 626 }
627 627
628 const UnicodeString* id = (const UnicodeString*)e->key.pointer; 628 const UnicodeString* id = (const UnicodeString*)e->key.pointer;
629 if (fallbackKey != NULL) { 629 if (fallbackKey != NULL) {
630 if (!fallbackKey->isFallbackOf(*id)) { 630 if (!fallbackKey->isFallbackOf(*id)) {
631 continue; 631 continue;
632 } 632 }
(...skipping 121 matching lines...) Expand 10 before | Expand all | Expand 10 after
754 const Hashtable* m = getVisibleIDMap(status); 754 const Hashtable* m = getVisibleIDMap(status);
755 if (U_FAILURE(status)) { 755 if (U_FAILURE(status)) {
756 return result; 756 return result;
757 } 757 }
758 ncthis->dnCache = new DNCache(locale); 758 ncthis->dnCache = new DNCache(locale);
759 if (dnCache == NULL) { 759 if (dnCache == NULL) {
760 status = U_MEMORY_ALLOCATION_ERROR; 760 status = U_MEMORY_ALLOCATION_ERROR;
761 return result; 761 return result;
762 } 762 }
763 763
764 int32_t pos = -1; 764 int32_t pos = UHASH_FIRST;
765 const UHashElement* entry = NULL; 765 const UHashElement* entry = NULL;
766 while ((entry = m->nextElement(pos)) != NULL) { 766 while ((entry = m->nextElement(pos)) != NULL) {
767 const UnicodeString* id = (const UnicodeString*)entry->key.point er; 767 const UnicodeString* id = (const UnicodeString*)entry->key.point er;
768 ICUServiceFactory* f = (ICUServiceFactory*)entry->value.pointer; 768 ICUServiceFactory* f = (ICUServiceFactory*)entry->value.pointer;
769 UnicodeString dname; 769 UnicodeString dname;
770 f->getDisplayName(*id, locale, dname); 770 f->getDisplayName(*id, locale, dname);
771 if (dname.isBogus()) { 771 if (dname.isBogus()) {
772 status = U_MEMORY_ALLOCATION_ERROR; 772 status = U_MEMORY_ALLOCATION_ERROR;
773 } else { 773 } else {
774 dnCache->cache.put(dname, (void*)id, status); // share point er with visibleIDMap 774 dnCache->cache.put(dname, (void*)id, status); // share point er with visibleIDMap
775 if (U_SUCCESS(status)) { 775 if (U_SUCCESS(status)) {
776 continue; 776 continue;
777 } 777 }
778 } 778 }
779 delete dnCache; 779 delete dnCache;
780 ncthis->dnCache = NULL; 780 ncthis->dnCache = NULL;
781 return result; 781 return result;
782 } 782 }
783 } 783 }
784 } 784 }
785 785
786 ICUServiceKey* matchKey = createKey(matchID, status); 786 ICUServiceKey* matchKey = createKey(matchID, status);
787 /* To ensure that all elements in the hashtable are iterated, set pos to -1. 787 /* To ensure that all elements in the hashtable are iterated, set pos to -1.
788 * nextElement(pos) will skip the position at pos and begin the iteration 788 * nextElement(pos) will skip the position at pos and begin the iteration
789 * at the next position, which in this case will be 0. 789 * at the next position, which in this case will be 0.
790 */ 790 */
791 int32_t pos = -1; 791 int32_t pos = UHASH_FIRST;
792 const UHashElement *entry = NULL; 792 const UHashElement *entry = NULL;
793 while ((entry = dnCache->cache.nextElement(pos)) != NULL) { 793 while ((entry = dnCache->cache.nextElement(pos)) != NULL) {
794 const UnicodeString* id = (const UnicodeString*)entry->value.pointer; 794 const UnicodeString* id = (const UnicodeString*)entry->value.pointer;
795 if (matchKey != NULL && !matchKey->isFallbackOf(*id)) { 795 if (matchKey != NULL && !matchKey->isFallbackOf(*id)) {
796 continue; 796 continue;
797 } 797 }
798 const UnicodeString* dn = (const UnicodeString*)entry->key.pointer; 798 const UnicodeString* dn = (const UnicodeString*)entry->key.pointer;
799 StringPair* sp = StringPair::create(*id, *dn, status); 799 StringPair* sp = StringPair::create(*id, *dn, status);
800 result.addElement(sp, status); 800 result.addElement(sp, status);
801 if (U_FAILURE(status)) { 801 if (U_FAILURE(status)) {
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 int32_t 972 int32_t
973 ICUService::getTimestamp() const 973 ICUService::getTimestamp() const
974 { 974 {
975 return timestamp; 975 return timestamp;
976 } 976 }
977 977
978 U_NAMESPACE_END 978 U_NAMESPACE_END
979 979
980 /* UCONFIG_NO_SERVICE */ 980 /* UCONFIG_NO_SERVICE */
981 #endif 981 #endif
OLDNEW
« no previous file with comments | « source/common/rbbistbl.cpp ('k') | source/common/servlk.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698