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

Side by Side Diff: sync/syncable/model_type.cc

Issue 10735041: Remove syncproto.h (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Improve DCHECKing, fix tests Created 8 years, 5 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 | Annotate | Revision Log
OLDNEW
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/string_split.h" 7 #include "base/string_split.h"
8 #include "base/values.h" 8 #include "base/values.h"
9 #include "sync/engine/syncproto.h"
10 #include "sync/protocol/app_notification_specifics.pb.h" 9 #include "sync/protocol/app_notification_specifics.pb.h"
11 #include "sync/protocol/app_setting_specifics.pb.h" 10 #include "sync/protocol/app_setting_specifics.pb.h"
12 #include "sync/protocol/app_specifics.pb.h" 11 #include "sync/protocol/app_specifics.pb.h"
13 #include "sync/protocol/autofill_specifics.pb.h" 12 #include "sync/protocol/autofill_specifics.pb.h"
14 #include "sync/protocol/bookmark_specifics.pb.h" 13 #include "sync/protocol/bookmark_specifics.pb.h"
15 #include "sync/protocol/extension_setting_specifics.pb.h" 14 #include "sync/protocol/extension_setting_specifics.pb.h"
16 #include "sync/protocol/extension_specifics.pb.h" 15 #include "sync/protocol/extension_specifics.pb.h"
17 #include "sync/protocol/nigori_specifics.pb.h" 16 #include "sync/protocol/nigori_specifics.pb.h"
18 #include "sync/protocol/password_specifics.pb.h" 17 #include "sync/protocol/password_specifics.pb.h"
19 #include "sync/protocol/preference_specifics.pb.h" 18 #include "sync/protocol/preference_specifics.pb.h"
20 #include "sync/protocol/search_engine_specifics.pb.h" 19 #include "sync/protocol/search_engine_specifics.pb.h"
21 #include "sync/protocol/session_specifics.pb.h" 20 #include "sync/protocol/session_specifics.pb.h"
22 #include "sync/protocol/sync.pb.h" 21 #include "sync/protocol/sync.pb.h"
23 #include "sync/protocol/theme_specifics.pb.h" 22 #include "sync/protocol/theme_specifics.pb.h"
24 #include "sync/protocol/typed_url_specifics.pb.h" 23 #include "sync/protocol/typed_url_specifics.pb.h"
24 #include "sync/syncable/syncable_proto_util.h"
25 25
26 namespace syncer { 26 namespace syncer {
27 27
28 void AddDefaultFieldValue(ModelType datatype, 28 void AddDefaultFieldValue(ModelType datatype,
29 sync_pb::EntitySpecifics* specifics) { 29 sync_pb::EntitySpecifics* specifics) {
30 switch (datatype) { 30 switch (datatype) {
31 case BOOKMARKS: 31 case BOOKMARKS:
32 specifics->mutable_bookmark(); 32 specifics->mutable_bookmark();
33 break; 33 break;
34 case PASSWORDS: 34 case PASSWORDS:
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
139 NOTREACHED() << "No known extension for model type."; 139 NOTREACHED() << "No known extension for model type.";
140 return 0; 140 return 0;
141 } 141 }
142 NOTREACHED() << "Needed for linux_keep_shadow_stacks because of " 142 NOTREACHED() << "Needed for linux_keep_shadow_stacks because of "
143 << "http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681"; 143 << "http://gcc.gnu.org/bugzilla/show_bug.cgi?id=20681";
144 return 0; 144 return 0;
145 } 145 }
146 146
147 // Note: keep this consistent with GetModelType in syncable.cc! 147 // Note: keep this consistent with GetModelType in syncable.cc!
148 ModelType GetModelType(const sync_pb::SyncEntity& sync_pb_entity) { 148 ModelType GetModelType(const sync_pb::SyncEntity& sync_pb_entity) {
149 const syncer::SyncEntity& sync_entity = 149 const sync_pb::SyncEntity& sync_entity =
150 static_cast<const syncer::SyncEntity&>(sync_pb_entity); 150 static_cast<const sync_pb::SyncEntity&>(sync_pb_entity);
akalin 2012/07/11 01:42:22 static cast
rlarocque 2012/07/11 19:22:16 Done.
151 DCHECK(!sync_entity.id().IsRoot()); // Root shouldn't ever go over the wire. 151 DCHECK(!IsRoot(sync_entity)); // Root shouldn't ever go over the wire.
152 152
153 if (sync_entity.deleted()) 153 if (sync_entity.deleted())
154 return UNSPECIFIED; 154 return UNSPECIFIED;
155 155
156 // Backwards compatibility with old (pre-specifics) protocol. 156 // Backwards compatibility with old (pre-specifics) protocol.
157 if (sync_entity.has_bookmarkdata()) 157 if (sync_entity.has_bookmarkdata())
158 return BOOKMARKS; 158 return BOOKMARKS;
159 159
160 ModelType specifics_type = GetModelTypeFromSpecifics(sync_entity.specifics()); 160 ModelType specifics_type = GetModelTypeFromSpecifics(sync_entity.specifics());
161 if (specifics_type != UNSPECIFIED) 161 if (specifics_type != UNSPECIFIED)
162 return specifics_type; 162 return specifics_type;
163 163
164 // Loose check for server-created top-level folders that aren't 164 // Loose check for server-created top-level folders that aren't
165 // bound to a particular model type. 165 // bound to a particular model type.
166 if (!sync_entity.server_defined_unique_tag().empty() && 166 if (!sync_entity.server_defined_unique_tag().empty() &&
167 sync_entity.IsFolder()) { 167 IsFolder(sync_entity)) {
168 return TOP_LEVEL_FOLDER; 168 return TOP_LEVEL_FOLDER;
169 } 169 }
170 170
171 // This is an item of a datatype we can't understand. Maybe it's 171 // This is an item of a datatype we can't understand. Maybe it's
172 // from the future? Either we mis-encoded the object, or the 172 // from the future? Either we mis-encoded the object, or the
173 // server sent us entries it shouldn't have. 173 // server sent us entries it shouldn't have.
174 NOTREACHED() << "Unknown datatype in sync proto."; 174 NOTREACHED() << "Unknown datatype in sync proto.";
175 return UNSPECIFIED; 175 return UNSPECIFIED;
176 } 176 }
177 177
(...skipping 355 matching lines...) Expand 10 before | Expand all | Expand 10 after
533 *model_type = UNSPECIFIED; 533 *model_type = UNSPECIFIED;
534 return false; 534 return false;
535 } 535 }
536 } 536 }
537 537
538 bool IsRealDataType(ModelType model_type) { 538 bool IsRealDataType(ModelType model_type) {
539 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT; 539 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT;
540 } 540 }
541 541
542 } // namespace syncer 542 } // namespace syncer
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698