OLD | NEW |
---|---|
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "sync/internal_api/public/base/model_type.h" | 5 #include "sync/internal_api/public/base/model_type.h" |
6 | 6 |
7 #include "base/strings/string_split.h" | 7 #include "base/strings/string_split.h" |
8 #include "base/values.h" | 8 #include "base/values.h" |
9 #include "sync/protocol/app_notification_specifics.pb.h" | 9 #include "sync/protocol/app_notification_specifics.pb.h" |
10 #include "sync/protocol/app_setting_specifics.pb.h" | 10 #include "sync/protocol/app_setting_specifics.pb.h" |
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
128 ModelTypeSet protocol_types = ProtocolTypes(); | 128 ModelTypeSet protocol_types = ProtocolTypes(); |
129 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); | 129 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); |
130 iter.Inc()) { | 130 iter.Inc()) { |
131 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) | 131 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) |
132 return iter.Get(); | 132 return iter.Get(); |
133 } | 133 } |
134 return UNSPECIFIED; | 134 return UNSPECIFIED; |
135 } | 135 } |
136 | 136 |
137 int GetSpecificsFieldNumberFromModelType(ModelType model_type) { | 137 int GetSpecificsFieldNumberFromModelType(ModelType model_type) { |
138 if (!ProtocolTypes().Has(model_type)) { | 138 DCHECK(ProtocolTypes().Has(model_type)) |
darin (slow to review)
2014/03/18 08:07:30
Aren't you tossing out the early return by going w
Peter Kasting
2014/03/18 18:59:15
Yes, per the style guide's "Don't handle DCHECK fa
| |
139 NOTREACHED() << "Only protocol types have field values."; | 139 << "Only protocol types have field values."; |
140 return 0; | |
141 } | |
142 switch (model_type) { | 140 switch (model_type) { |
143 case BOOKMARKS: | 141 case BOOKMARKS: |
144 return sync_pb::EntitySpecifics::kBookmarkFieldNumber; | 142 return sync_pb::EntitySpecifics::kBookmarkFieldNumber; |
145 break; | |
146 case PASSWORDS: | 143 case PASSWORDS: |
147 return sync_pb::EntitySpecifics::kPasswordFieldNumber; | 144 return sync_pb::EntitySpecifics::kPasswordFieldNumber; |
148 break; | |
149 case PREFERENCES: | 145 case PREFERENCES: |
150 return sync_pb::EntitySpecifics::kPreferenceFieldNumber; | 146 return sync_pb::EntitySpecifics::kPreferenceFieldNumber; |
151 break; | |
152 case AUTOFILL: | 147 case AUTOFILL: |
153 return sync_pb::EntitySpecifics::kAutofillFieldNumber; | 148 return sync_pb::EntitySpecifics::kAutofillFieldNumber; |
154 break; | |
155 case AUTOFILL_PROFILE: | 149 case AUTOFILL_PROFILE: |
156 return sync_pb::EntitySpecifics::kAutofillProfileFieldNumber; | 150 return sync_pb::EntitySpecifics::kAutofillProfileFieldNumber; |
157 break; | |
158 case THEMES: | 151 case THEMES: |
159 return sync_pb::EntitySpecifics::kThemeFieldNumber; | 152 return sync_pb::EntitySpecifics::kThemeFieldNumber; |
160 break; | |
161 case TYPED_URLS: | 153 case TYPED_URLS: |
162 return sync_pb::EntitySpecifics::kTypedUrlFieldNumber; | 154 return sync_pb::EntitySpecifics::kTypedUrlFieldNumber; |
163 break; | |
164 case EXTENSIONS: | 155 case EXTENSIONS: |
165 return sync_pb::EntitySpecifics::kExtensionFieldNumber; | 156 return sync_pb::EntitySpecifics::kExtensionFieldNumber; |
166 break; | |
167 case NIGORI: | 157 case NIGORI: |
168 return sync_pb::EntitySpecifics::kNigoriFieldNumber; | 158 return sync_pb::EntitySpecifics::kNigoriFieldNumber; |
169 break; | |
170 case SEARCH_ENGINES: | 159 case SEARCH_ENGINES: |
171 return sync_pb::EntitySpecifics::kSearchEngineFieldNumber; | 160 return sync_pb::EntitySpecifics::kSearchEngineFieldNumber; |
172 break; | |
173 case SESSIONS: | 161 case SESSIONS: |
174 return sync_pb::EntitySpecifics::kSessionFieldNumber; | 162 return sync_pb::EntitySpecifics::kSessionFieldNumber; |
175 break; | |
176 case APPS: | 163 case APPS: |
177 return sync_pb::EntitySpecifics::kAppFieldNumber; | 164 return sync_pb::EntitySpecifics::kAppFieldNumber; |
178 break; | |
179 case APP_LIST: | 165 case APP_LIST: |
180 return sync_pb::EntitySpecifics::kAppListFieldNumber; | 166 return sync_pb::EntitySpecifics::kAppListFieldNumber; |
181 break; | |
182 case APP_SETTINGS: | 167 case APP_SETTINGS: |
183 return sync_pb::EntitySpecifics::kAppSettingFieldNumber; | 168 return sync_pb::EntitySpecifics::kAppSettingFieldNumber; |
184 break; | |
185 case EXTENSION_SETTINGS: | 169 case EXTENSION_SETTINGS: |
186 return sync_pb::EntitySpecifics::kExtensionSettingFieldNumber; | 170 return sync_pb::EntitySpecifics::kExtensionSettingFieldNumber; |
187 break; | |
188 case APP_NOTIFICATIONS: | 171 case APP_NOTIFICATIONS: |
189 return sync_pb::EntitySpecifics::kAppNotificationFieldNumber; | 172 return sync_pb::EntitySpecifics::kAppNotificationFieldNumber; |
190 break; | |
191 case HISTORY_DELETE_DIRECTIVES: | 173 case HISTORY_DELETE_DIRECTIVES: |
192 return sync_pb::EntitySpecifics::kHistoryDeleteDirectiveFieldNumber; | 174 return sync_pb::EntitySpecifics::kHistoryDeleteDirectiveFieldNumber; |
193 case SYNCED_NOTIFICATIONS: | 175 case SYNCED_NOTIFICATIONS: |
194 return sync_pb::EntitySpecifics::kSyncedNotificationFieldNumber; | 176 return sync_pb::EntitySpecifics::kSyncedNotificationFieldNumber; |
195 case SYNCED_NOTIFICATION_APP_INFO: | 177 case SYNCED_NOTIFICATION_APP_INFO: |
196 return sync_pb::EntitySpecifics::kSyncedNotificationAppInfoFieldNumber; | 178 return sync_pb::EntitySpecifics::kSyncedNotificationAppInfoFieldNumber; |
197 case DEVICE_INFO: | 179 case DEVICE_INFO: |
198 return sync_pb::EntitySpecifics::kDeviceInfoFieldNumber; | 180 return sync_pb::EntitySpecifics::kDeviceInfoFieldNumber; |
199 break; | |
200 case EXPERIMENTS: | 181 case EXPERIMENTS: |
201 return sync_pb::EntitySpecifics::kExperimentsFieldNumber; | 182 return sync_pb::EntitySpecifics::kExperimentsFieldNumber; |
202 break; | |
203 case PRIORITY_PREFERENCES: | 183 case PRIORITY_PREFERENCES: |
204 return sync_pb::EntitySpecifics::kPriorityPreferenceFieldNumber; | 184 return sync_pb::EntitySpecifics::kPriorityPreferenceFieldNumber; |
205 break; | |
206 case DICTIONARY: | 185 case DICTIONARY: |
207 return sync_pb::EntitySpecifics::kDictionaryFieldNumber; | 186 return sync_pb::EntitySpecifics::kDictionaryFieldNumber; |
208 break; | |
209 case FAVICON_IMAGES: | 187 case FAVICON_IMAGES: |
210 return sync_pb::EntitySpecifics::kFaviconImageFieldNumber; | 188 return sync_pb::EntitySpecifics::kFaviconImageFieldNumber; |
211 case FAVICON_TRACKING: | 189 case FAVICON_TRACKING: |
212 return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber; | 190 return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber; |
213 case MANAGED_USER_SETTINGS: | 191 case MANAGED_USER_SETTINGS: |
214 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; | 192 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; |
215 case MANAGED_USERS: | 193 case MANAGED_USERS: |
216 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; | 194 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; |
217 case MANAGED_USER_SHARED_SETTINGS: | 195 case MANAGED_USER_SHARED_SETTINGS: |
218 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; | 196 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; |
219 case ARTICLES: | 197 case ARTICLES: |
220 return sync_pb::EntitySpecifics::kArticleFieldNumber; | 198 return sync_pb::EntitySpecifics::kArticleFieldNumber; |
221 default: | 199 default: |
222 NOTREACHED() << "No known extension for model type."; | 200 NOTREACHED() << "No known extension for model type."; |
223 return 0; | 201 return 0; |
224 } | 202 } |
225 NOTREACHED() << "Needed for linux_keep_shadow_stacks because of " | |
226 << "http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681"; | |
227 return 0; | |
228 } | 203 } |
229 | 204 |
230 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { | 205 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { |
231 FullModelTypeSet out; | 206 FullModelTypeSet out; |
232 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { | 207 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { |
233 out.Put(i.Get()); | 208 out.Put(i.Get()); |
234 } | 209 } |
235 return out; | 210 return out; |
236 } | 211 } |
237 | 212 |
(...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
1041 | 1016 |
1042 bool IsRealDataType(ModelType model_type) { | 1017 bool IsRealDataType(ModelType model_type) { |
1043 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT; | 1018 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT; |
1044 } | 1019 } |
1045 | 1020 |
1046 bool IsActOnceDataType(ModelType model_type) { | 1021 bool IsActOnceDataType(ModelType model_type) { |
1047 return model_type == HISTORY_DELETE_DIRECTIVES; | 1022 return model_type == HISTORY_DELETE_DIRECTIVES; |
1048 } | 1023 } |
1049 | 1024 |
1050 } // namespace syncer | 1025 } // namespace syncer |
OLD | NEW |