| 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 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 115 break; | 115 break; |
| 116 case SUPERVISED_USER_SHARED_SETTINGS: | 116 case SUPERVISED_USER_SHARED_SETTINGS: |
| 117 specifics->mutable_managed_user_shared_setting(); | 117 specifics->mutable_managed_user_shared_setting(); |
| 118 break; | 118 break; |
| 119 case ARTICLES: | 119 case ARTICLES: |
| 120 specifics->mutable_article(); | 120 specifics->mutable_article(); |
| 121 break; | 121 break; |
| 122 case ENHANCED_BOOKMARKS: | 122 case ENHANCED_BOOKMARKS: |
| 123 specifics->mutable_enhanced_bookmark(); | 123 specifics->mutable_enhanced_bookmark(); |
| 124 break; | 124 break; |
| 125 case WIFI_CREDENTIALS: |
| 126 specifics->mutable_wifi_credential(); |
| 127 break; |
| 125 default: | 128 default: |
| 126 NOTREACHED() << "No known extension for model type."; | 129 NOTREACHED() << "No known extension for model type."; |
| 127 } | 130 } |
| 128 } | 131 } |
| 129 | 132 |
| 130 ModelType GetModelTypeFromSpecificsFieldNumber(int field_number) { | 133 ModelType GetModelTypeFromSpecificsFieldNumber(int field_number) { |
| 131 ModelTypeSet protocol_types = ProtocolTypes(); | 134 ModelTypeSet protocol_types = ProtocolTypes(); |
| 132 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); | 135 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); |
| 133 iter.Inc()) { | 136 iter.Inc()) { |
| 134 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) | 137 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 194 case SUPERVISED_USER_SETTINGS: | 197 case SUPERVISED_USER_SETTINGS: |
| 195 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; | 198 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; |
| 196 case SUPERVISED_USERS: | 199 case SUPERVISED_USERS: |
| 197 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; | 200 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; |
| 198 case SUPERVISED_USER_SHARED_SETTINGS: | 201 case SUPERVISED_USER_SHARED_SETTINGS: |
| 199 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; | 202 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; |
| 200 case ARTICLES: | 203 case ARTICLES: |
| 201 return sync_pb::EntitySpecifics::kArticleFieldNumber; | 204 return sync_pb::EntitySpecifics::kArticleFieldNumber; |
| 202 case ENHANCED_BOOKMARKS: | 205 case ENHANCED_BOOKMARKS: |
| 203 return sync_pb::EntitySpecifics::kEnhancedBookmarkFieldNumber; | 206 return sync_pb::EntitySpecifics::kEnhancedBookmarkFieldNumber; |
| 207 case WIFI_CREDENTIALS: |
| 208 return sync_pb::EntitySpecifics::kWifiCredentialFieldNumber; |
| 204 default: | 209 default: |
| 205 NOTREACHED() << "No known extension for model type."; | 210 NOTREACHED() << "No known extension for model type."; |
| 206 return 0; | 211 return 0; |
| 207 } | 212 } |
| 208 } | 213 } |
| 209 | 214 |
| 210 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { | 215 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { |
| 211 FullModelTypeSet out; | 216 FullModelTypeSet out; |
| 212 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { | 217 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { |
| 213 out.Put(i.Get()); | 218 out.Put(i.Get()); |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 325 | 330 |
| 326 if (specifics.has_managed_user_shared_setting()) | 331 if (specifics.has_managed_user_shared_setting()) |
| 327 return SUPERVISED_USER_SHARED_SETTINGS; | 332 return SUPERVISED_USER_SHARED_SETTINGS; |
| 328 | 333 |
| 329 if (specifics.has_article()) | 334 if (specifics.has_article()) |
| 330 return ARTICLES; | 335 return ARTICLES; |
| 331 | 336 |
| 332 if (specifics.has_enhanced_bookmark()) | 337 if (specifics.has_enhanced_bookmark()) |
| 333 return ENHANCED_BOOKMARKS; | 338 return ENHANCED_BOOKMARKS; |
| 334 | 339 |
| 340 if (specifics.has_wifi_credential()) |
| 341 return WIFI_CREDENTIALS; |
| 342 |
| 335 return UNSPECIFIED; | 343 return UNSPECIFIED; |
| 336 } | 344 } |
| 337 | 345 |
| 338 ModelTypeSet ProtocolTypes() { | 346 ModelTypeSet ProtocolTypes() { |
| 339 ModelTypeSet set = ModelTypeSet::All(); | 347 ModelTypeSet set = ModelTypeSet::All(); |
| 340 set.RemoveAll(ProxyTypes()); | 348 set.RemoveAll(ProxyTypes()); |
| 341 return set; | 349 return set; |
| 342 } | 350 } |
| 343 | 351 |
| 344 ModelTypeSet UserTypes() { | 352 ModelTypeSet UserTypes() { |
| (...skipping 12 matching lines...) Expand all Loading... |
| 357 // Although the order doesn't technically matter here, it's clearer to keep | 365 // Although the order doesn't technically matter here, it's clearer to keep |
| 358 // these in the same order as their definition in the ModelType enum. | 366 // these in the same order as their definition in the ModelType enum. |
| 359 set.Put(BOOKMARKS); | 367 set.Put(BOOKMARKS); |
| 360 set.Put(PREFERENCES); | 368 set.Put(PREFERENCES); |
| 361 set.Put(PASSWORDS); | 369 set.Put(PASSWORDS); |
| 362 set.Put(AUTOFILL); | 370 set.Put(AUTOFILL); |
| 363 set.Put(THEMES); | 371 set.Put(THEMES); |
| 364 set.Put(TYPED_URLS); | 372 set.Put(TYPED_URLS); |
| 365 set.Put(EXTENSIONS); | 373 set.Put(EXTENSIONS); |
| 366 set.Put(APPS); | 374 set.Put(APPS); |
| 375 set.Put(WIFI_CREDENTIALS); |
| 367 set.Put(PROXY_TABS); | 376 set.Put(PROXY_TABS); |
| 368 return set; | 377 return set; |
| 369 } | 378 } |
| 370 | 379 |
| 371 bool IsUserSelectableType(ModelType model_type) { | 380 bool IsUserSelectableType(ModelType model_type) { |
| 372 return UserSelectableTypes().Has(model_type); | 381 return UserSelectableTypes().Has(model_type); |
| 373 } | 382 } |
| 374 | 383 |
| 375 ModelTypeSet EncryptableUserTypes() { | 384 ModelTypeSet EncryptableUserTypes() { |
| 376 ModelTypeSet encryptable_user_types = UserTypes(); | 385 ModelTypeSet encryptable_user_types = UserTypes(); |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 529 case SUPERVISED_USER_SETTINGS: | 538 case SUPERVISED_USER_SETTINGS: |
| 530 return "Managed User Settings"; | 539 return "Managed User Settings"; |
| 531 case SUPERVISED_USERS: | 540 case SUPERVISED_USERS: |
| 532 return "Managed Users"; | 541 return "Managed Users"; |
| 533 case SUPERVISED_USER_SHARED_SETTINGS: | 542 case SUPERVISED_USER_SHARED_SETTINGS: |
| 534 return "Managed User Shared Settings"; | 543 return "Managed User Shared Settings"; |
| 535 case ARTICLES: | 544 case ARTICLES: |
| 536 return "Articles"; | 545 return "Articles"; |
| 537 case ENHANCED_BOOKMARKS: | 546 case ENHANCED_BOOKMARKS: |
| 538 return "Enhanced Bookmarks"; | 547 return "Enhanced Bookmarks"; |
| 548 case WIFI_CREDENTIALS: |
| 549 return "WiFi Credentials"; |
| 539 case PROXY_TABS: | 550 case PROXY_TABS: |
| 540 return "Tabs"; | 551 return "Tabs"; |
| 541 default: | 552 default: |
| 542 break; | 553 break; |
| 543 } | 554 } |
| 544 NOTREACHED() << "No known extension for model type."; | 555 NOTREACHED() << "No known extension for model type."; |
| 545 return "INVALID"; | 556 return "INVALID"; |
| 546 } | 557 } |
| 547 | 558 |
| 548 // The normal rules about histograms apply here. Always append to the bottom of | 559 // The normal rules about histograms apply here. Always append to the bottom of |
| (...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 610 case ARTICLES: | 621 case ARTICLES: |
| 611 return 28; | 622 return 28; |
| 612 case APP_LIST: | 623 case APP_LIST: |
| 613 return 29; | 624 return 29; |
| 614 case SUPERVISED_USER_SHARED_SETTINGS: | 625 case SUPERVISED_USER_SHARED_SETTINGS: |
| 615 return 30; | 626 return 30; |
| 616 case SYNCED_NOTIFICATION_APP_INFO: | 627 case SYNCED_NOTIFICATION_APP_INFO: |
| 617 return 31; | 628 return 31; |
| 618 case ENHANCED_BOOKMARKS: | 629 case ENHANCED_BOOKMARKS: |
| 619 return 32; | 630 return 32; |
| 631 case WIFI_CREDENTIALS: |
| 632 return 33; |
| 620 // Silence a compiler warning. | 633 // Silence a compiler warning. |
| 621 case MODEL_TYPE_COUNT: | 634 case MODEL_TYPE_COUNT: |
| 622 return 0; | 635 return 0; |
| 623 } | 636 } |
| 624 return 0; | 637 return 0; |
| 625 } | 638 } |
| 626 | 639 |
| 627 base::StringValue* ModelTypeToValue(ModelType model_type) { | 640 base::StringValue* ModelTypeToValue(ModelType model_type) { |
| 628 if (model_type >= FIRST_REAL_MODEL_TYPE) { | 641 if (model_type >= FIRST_REAL_MODEL_TYPE) { |
| 629 return new base::StringValue(ModelTypeToString(model_type)); | 642 return new base::StringValue(ModelTypeToString(model_type)); |
| (...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 703 else if (model_type_string == "Favicon Tracking") | 716 else if (model_type_string == "Favicon Tracking") |
| 704 return FAVICON_TRACKING; | 717 return FAVICON_TRACKING; |
| 705 else if (model_type_string == "Managed User Settings") | 718 else if (model_type_string == "Managed User Settings") |
| 706 return SUPERVISED_USER_SETTINGS; | 719 return SUPERVISED_USER_SETTINGS; |
| 707 else if (model_type_string == "Managed Users") | 720 else if (model_type_string == "Managed Users") |
| 708 return SUPERVISED_USERS; | 721 return SUPERVISED_USERS; |
| 709 else if (model_type_string == "Managed User Shared Settings") | 722 else if (model_type_string == "Managed User Shared Settings") |
| 710 return SUPERVISED_USER_SHARED_SETTINGS; | 723 return SUPERVISED_USER_SHARED_SETTINGS; |
| 711 else if (model_type_string == "Articles") | 724 else if (model_type_string == "Articles") |
| 712 return ARTICLES; | 725 return ARTICLES; |
| 726 else if (model_type_string == "WiFi Credentials") |
| 727 return WIFI_CREDENTIALS; |
| 713 else if (model_type_string == "Tabs") | 728 else if (model_type_string == "Tabs") |
| 714 return PROXY_TABS; | 729 return PROXY_TABS; |
| 715 else if (model_type_string == "Enhanced Bookmarks") | 730 else if (model_type_string == "Enhanced Bookmarks") |
| 716 return ENHANCED_BOOKMARKS; | 731 return ENHANCED_BOOKMARKS; |
| 717 else | 732 else |
| 718 NOTREACHED() << "No known model type corresponding to " | 733 NOTREACHED() << "No known model type corresponding to " |
| 719 << model_type_string << "."; | 734 << model_type_string << "."; |
| 720 return UNSPECIFIED; | 735 return UNSPECIFIED; |
| 721 } | 736 } |
| 722 | 737 |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 829 case FAVICON_TRACKING: | 844 case FAVICON_TRACKING: |
| 830 return "google_chrome_favicon_tracking"; | 845 return "google_chrome_favicon_tracking"; |
| 831 case SUPERVISED_USER_SETTINGS: | 846 case SUPERVISED_USER_SETTINGS: |
| 832 return "google_chrome_managed_user_settings"; | 847 return "google_chrome_managed_user_settings"; |
| 833 case SUPERVISED_USERS: | 848 case SUPERVISED_USERS: |
| 834 return "google_chrome_managed_users"; | 849 return "google_chrome_managed_users"; |
| 835 case SUPERVISED_USER_SHARED_SETTINGS: | 850 case SUPERVISED_USER_SHARED_SETTINGS: |
| 836 return "google_chrome_managed_user_shared_settings"; | 851 return "google_chrome_managed_user_shared_settings"; |
| 837 case ARTICLES: | 852 case ARTICLES: |
| 838 return "google_chrome_articles"; | 853 return "google_chrome_articles"; |
| 854 case WIFI_CREDENTIALS: |
| 855 return "google_chrome_wifi_credentials"; |
| 839 case PROXY_TABS: | 856 case PROXY_TABS: |
| 840 return std::string(); | 857 return std::string(); |
| 841 case ENHANCED_BOOKMARKS: | 858 case ENHANCED_BOOKMARKS: |
| 842 return "google_chrome_enhanced_bookmarks"; | 859 return "google_chrome_enhanced_bookmarks"; |
| 843 default: | 860 default: |
| 844 break; | 861 break; |
| 845 } | 862 } |
| 846 NOTREACHED() << "No known extension for model type."; | 863 NOTREACHED() << "No known extension for model type."; |
| 847 return "INVALID"; | 864 return "INVALID"; |
| 848 } | 865 } |
| (...skipping 240 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1089 | 1106 |
| 1090 bool IsProxyType(ModelType model_type) { | 1107 bool IsProxyType(ModelType model_type) { |
| 1091 return model_type >= FIRST_PROXY_TYPE && model_type <= LAST_PROXY_TYPE; | 1108 return model_type >= FIRST_PROXY_TYPE && model_type <= LAST_PROXY_TYPE; |
| 1092 } | 1109 } |
| 1093 | 1110 |
| 1094 bool IsActOnceDataType(ModelType model_type) { | 1111 bool IsActOnceDataType(ModelType model_type) { |
| 1095 return model_type == HISTORY_DELETE_DIRECTIVES; | 1112 return model_type == HISTORY_DELETE_DIRECTIVES; |
| 1096 } | 1113 } |
| 1097 | 1114 |
| 1098 } // namespace syncer | 1115 } // namespace syncer |
| OLD | NEW |