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

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

Issue 19227004: [Sync] Add CoreTypes support (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Add Core types and update tests Created 7 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/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 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
360 } 360 }
361 361
362 ModelTypeSet EncryptableUserTypes() { 362 ModelTypeSet EncryptableUserTypes() {
363 ModelTypeSet encryptable_user_types = UserTypes(); 363 ModelTypeSet encryptable_user_types = UserTypes();
364 // We never encrypt history delete directives. 364 // We never encrypt history delete directives.
365 encryptable_user_types.Remove(HISTORY_DELETE_DIRECTIVES); 365 encryptable_user_types.Remove(HISTORY_DELETE_DIRECTIVES);
366 // Synced notifications are not encrypted since the server must see changes. 366 // Synced notifications are not encrypted since the server must see changes.
367 encryptable_user_types.Remove(SYNCED_NOTIFICATIONS); 367 encryptable_user_types.Remove(SYNCED_NOTIFICATIONS);
368 // Priority preferences are not encrypted because they might be synced before 368 // Priority preferences are not encrypted because they might be synced before
369 // encryption is ready. 369 // encryption is ready.
370 encryptable_user_types.RemoveAll(PriorityUserTypes()); 370 encryptable_user_types.Remove(PRIORITY_PREFERENCES);
371 // Managed user settings are not encrypted since they are set server-side. 371 // Managed user settings are not encrypted since they are set server-side.
372 encryptable_user_types.Remove(MANAGED_USER_SETTINGS); 372 encryptable_user_types.Remove(MANAGED_USER_SETTINGS);
373 // Managed users are not encrypted since they are managed server-side. 373 // Managed users are not encrypted since they are managed server-side.
374 encryptable_user_types.Remove(MANAGED_USERS); 374 encryptable_user_types.Remove(MANAGED_USERS);
375 // Proxy types have no sync representation and are therefore not encrypted. 375 // Proxy types have no sync representation and are therefore not encrypted.
376 // Note however that proxy types map to one or more protocol types, which 376 // Note however that proxy types map to one or more protocol types, which
377 // may or may not be encrypted themselves. 377 // may or may not be encrypted themselves.
378 encryptable_user_types.RemoveAll(ProxyTypes()); 378 encryptable_user_types.RemoveAll(ProxyTypes());
379 return encryptable_user_types; 379 return encryptable_user_types;
380 } 380 }
381 381
382 ModelTypeSet PriorityUserTypes() { 382 ModelTypeSet PriorityUserTypes() {
383 return ModelTypeSet(PRIORITY_PREFERENCES, MANAGED_USERS); 383 return ModelTypeSet(PRIORITY_PREFERENCES);
384 } 384 }
385 385
386 ModelTypeSet ControlTypes() { 386 ModelTypeSet ControlTypes() {
387 ModelTypeSet set; 387 ModelTypeSet set;
388 // TODO(sync): We should be able to build the actual enumset's internal 388 // TODO(sync): We should be able to build the actual enumset's internal
389 // bitset value here at compile time, rather than performing an iteration 389 // bitset value here at compile time, rather than performing an iteration
390 // every time. 390 // every time.
391 for (int i = FIRST_CONTROL_MODEL_TYPE; i <= LAST_CONTROL_MODEL_TYPE; ++i) { 391 for (int i = FIRST_CONTROL_MODEL_TYPE; i <= LAST_CONTROL_MODEL_TYPE; ++i) {
392 set.Put(ModelTypeFromInt(i)); 392 set.Put(ModelTypeFromInt(i));
393 } 393 }
394 394
395 return set; 395 return set;
396 } 396 }
397 397
398 ModelTypeSet ProxyTypes() { 398 ModelTypeSet ProxyTypes() {
399 ModelTypeSet set; 399 ModelTypeSet set;
400 set.Put(PROXY_TABS); 400 set.Put(PROXY_TABS);
401 return set; 401 return set;
402 } 402 }
403 403
404 bool IsControlType(ModelType model_type) { 404 bool IsControlType(ModelType model_type) {
405 return ControlTypes().Has(model_type); 405 return ControlTypes().Has(model_type);
406 } 406 }
407 407
408 ModelTypeSet PriorityCoreTypes() {
409 syncer::ModelTypeSet result;
410 result.Put(MANAGED_USERS);
tim (not reviewing) 2013/07/16 16:54:55 MANAGED_USER_SETTINGS fits the core type definitio
Nicolas Zea 2013/07/17 21:05:37 I don't think it's a core type either? We weren't
411 return result;
412 }
413
414 ModelTypeSet CoreTypes() {
tim (not reviewing) 2013/07/16 16:54:55 Should this include PriorityCoreTypes? What if I
Nicolas Zea 2013/07/17 21:05:37 Yeah, I suppose CoreTypes() makes more sense as th
415 syncer::ModelTypeSet result;
416 result.Put(SYNCED_NOTIFICATIONS);
417 return result;
418 }
419
408 const char* ModelTypeToString(ModelType model_type) { 420 const char* ModelTypeToString(ModelType model_type) {
409 // This is used in serialization routines as well as for displaying debug 421 // This is used in serialization routines as well as for displaying debug
410 // information. Do not attempt to change these string values unless you know 422 // information. Do not attempt to change these string values unless you know
411 // what you're doing. 423 // what you're doing.
412 switch (model_type) { 424 switch (model_type) {
413 case TOP_LEVEL_FOLDER: 425 case TOP_LEVEL_FOLDER:
414 return "Top Level Folder"; 426 return "Top Level Folder";
415 case UNSPECIFIED: 427 case UNSPECIFIED:
416 return "Unspecified"; 428 return "Unspecified";
417 case BOOKMARKS: 429 case BOOKMARKS:
(...skipping 504 matching lines...) Expand 10 before | Expand all | Expand 10 after
922 934
923 bool IsRealDataType(ModelType model_type) { 935 bool IsRealDataType(ModelType model_type) {
924 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT; 936 return model_type >= FIRST_REAL_MODEL_TYPE && model_type < MODEL_TYPE_COUNT;
925 } 937 }
926 938
927 bool IsActOnceDataType(ModelType model_type) { 939 bool IsActOnceDataType(ModelType model_type) {
928 return model_type == HISTORY_DELETE_DIRECTIVES; 940 return model_type == HISTORY_DELETE_DIRECTIVES;
929 } 941 }
930 942
931 } // namespace syncer 943 } // namespace syncer
OLDNEW
« sync/internal_api/public/base/model_type.h ('K') | « sync/internal_api/public/base/model_type.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698