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 101 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
112 break; | 112 break; |
113 case SUPERVISED_USERS: | 113 case SUPERVISED_USERS: |
114 specifics->mutable_managed_user(); | 114 specifics->mutable_managed_user(); |
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 WIFI_CREDENTIALS: |
| 123 specifics->mutable_wifi_credential(); |
| 124 break; |
122 default: | 125 default: |
123 NOTREACHED() << "No known extension for model type."; | 126 NOTREACHED() << "No known extension for model type."; |
124 } | 127 } |
125 } | 128 } |
126 | 129 |
127 ModelType GetModelTypeFromSpecificsFieldNumber(int field_number) { | 130 ModelType GetModelTypeFromSpecificsFieldNumber(int field_number) { |
128 ModelTypeSet protocol_types = ProtocolTypes(); | 131 ModelTypeSet protocol_types = ProtocolTypes(); |
129 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); | 132 for (ModelTypeSet::Iterator iter = protocol_types.First(); iter.Good(); |
130 iter.Inc()) { | 133 iter.Inc()) { |
131 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) | 134 if (GetSpecificsFieldNumberFromModelType(iter.Get()) == field_number) |
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
189 case FAVICON_TRACKING: | 192 case FAVICON_TRACKING: |
190 return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber; | 193 return sync_pb::EntitySpecifics::kFaviconTrackingFieldNumber; |
191 case SUPERVISED_USER_SETTINGS: | 194 case SUPERVISED_USER_SETTINGS: |
192 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; | 195 return sync_pb::EntitySpecifics::kManagedUserSettingFieldNumber; |
193 case SUPERVISED_USERS: | 196 case SUPERVISED_USERS: |
194 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; | 197 return sync_pb::EntitySpecifics::kManagedUserFieldNumber; |
195 case SUPERVISED_USER_SHARED_SETTINGS: | 198 case SUPERVISED_USER_SHARED_SETTINGS: |
196 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; | 199 return sync_pb::EntitySpecifics::kManagedUserSharedSettingFieldNumber; |
197 case ARTICLES: | 200 case ARTICLES: |
198 return sync_pb::EntitySpecifics::kArticleFieldNumber; | 201 return sync_pb::EntitySpecifics::kArticleFieldNumber; |
| 202 case WIFI_CREDENTIALS: |
| 203 return sync_pb::EntitySpecifics::kWifiCredentialFieldNumber; |
199 default: | 204 default: |
200 NOTREACHED() << "No known extension for model type."; | 205 NOTREACHED() << "No known extension for model type."; |
201 return 0; | 206 return 0; |
202 } | 207 } |
203 } | 208 } |
204 | 209 |
205 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { | 210 FullModelTypeSet ToFullModelTypeSet(ModelTypeSet in) { |
206 FullModelTypeSet out; | 211 FullModelTypeSet out; |
207 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { | 212 for (ModelTypeSet::Iterator i = in.First(); i.Good(); i.Inc()) { |
208 out.Put(i.Get()); | 213 out.Put(i.Get()); |
(...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
317 | 322 |
318 if (specifics.has_managed_user()) | 323 if (specifics.has_managed_user()) |
319 return SUPERVISED_USERS; | 324 return SUPERVISED_USERS; |
320 | 325 |
321 if (specifics.has_managed_user_shared_setting()) | 326 if (specifics.has_managed_user_shared_setting()) |
322 return SUPERVISED_USER_SHARED_SETTINGS; | 327 return SUPERVISED_USER_SHARED_SETTINGS; |
323 | 328 |
324 if (specifics.has_article()) | 329 if (specifics.has_article()) |
325 return ARTICLES; | 330 return ARTICLES; |
326 | 331 |
| 332 if (specifics.has_wifi_credential()) |
| 333 return WIFI_CREDENTIALS; |
| 334 |
327 return UNSPECIFIED; | 335 return UNSPECIFIED; |
328 } | 336 } |
329 | 337 |
330 ModelTypeSet ProtocolTypes() { | 338 ModelTypeSet ProtocolTypes() { |
331 ModelTypeSet set = ModelTypeSet::All(); | 339 ModelTypeSet set = ModelTypeSet::All(); |
332 set.RemoveAll(ProxyTypes()); | 340 set.RemoveAll(ProxyTypes()); |
333 return set; | 341 return set; |
334 } | 342 } |
335 | 343 |
336 ModelTypeSet UserTypes() { | 344 ModelTypeSet UserTypes() { |
(...skipping 12 matching lines...) Expand all Loading... |
349 // Although the order doesn't technically matter here, it's clearer to keep | 357 // Although the order doesn't technically matter here, it's clearer to keep |
350 // these in the same order as their definition in the ModelType enum. | 358 // these in the same order as their definition in the ModelType enum. |
351 set.Put(BOOKMARKS); | 359 set.Put(BOOKMARKS); |
352 set.Put(PREFERENCES); | 360 set.Put(PREFERENCES); |
353 set.Put(PASSWORDS); | 361 set.Put(PASSWORDS); |
354 set.Put(AUTOFILL); | 362 set.Put(AUTOFILL); |
355 set.Put(THEMES); | 363 set.Put(THEMES); |
356 set.Put(TYPED_URLS); | 364 set.Put(TYPED_URLS); |
357 set.Put(EXTENSIONS); | 365 set.Put(EXTENSIONS); |
358 set.Put(APPS); | 366 set.Put(APPS); |
| 367 set.Put(WIFI_CREDENTIALS); |
359 set.Put(PROXY_TABS); | 368 set.Put(PROXY_TABS); |
360 return set; | 369 return set; |
361 } | 370 } |
362 | 371 |
363 bool IsUserSelectableType(ModelType model_type) { | 372 bool IsUserSelectableType(ModelType model_type) { |
364 return UserSelectableTypes().Has(model_type); | 373 return UserSelectableTypes().Has(model_type); |
365 } | 374 } |
366 | 375 |
367 ModelTypeSet EncryptableUserTypes() { | 376 ModelTypeSet EncryptableUserTypes() { |
368 ModelTypeSet encryptable_user_types = UserTypes(); | 377 ModelTypeSet encryptable_user_types = UserTypes(); |
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
517 case FAVICON_TRACKING: | 526 case FAVICON_TRACKING: |
518 return "Favicon Tracking"; | 527 return "Favicon Tracking"; |
519 case SUPERVISED_USER_SETTINGS: | 528 case SUPERVISED_USER_SETTINGS: |
520 return "Managed User Settings"; | 529 return "Managed User Settings"; |
521 case SUPERVISED_USERS: | 530 case SUPERVISED_USERS: |
522 return "Managed Users"; | 531 return "Managed Users"; |
523 case SUPERVISED_USER_SHARED_SETTINGS: | 532 case SUPERVISED_USER_SHARED_SETTINGS: |
524 return "Managed User Shared Settings"; | 533 return "Managed User Shared Settings"; |
525 case ARTICLES: | 534 case ARTICLES: |
526 return "Articles"; | 535 return "Articles"; |
| 536 case WIFI_CREDENTIALS: |
| 537 return "WiFi Credentials"; |
527 case PROXY_TABS: | 538 case PROXY_TABS: |
528 return "Tabs"; | 539 return "Tabs"; |
529 default: | 540 default: |
530 break; | 541 break; |
531 } | 542 } |
532 NOTREACHED() << "No known extension for model type."; | 543 NOTREACHED() << "No known extension for model type."; |
533 return "INVALID"; | 544 return "INVALID"; |
534 } | 545 } |
535 | 546 |
536 // The normal rules about histograms apply here. Always append to the bottom of | 547 // The normal rules about histograms apply here. Always append to the bottom of |
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
596 case SUPERVISED_USERS: | 607 case SUPERVISED_USERS: |
597 return 27; | 608 return 27; |
598 case ARTICLES: | 609 case ARTICLES: |
599 return 28; | 610 return 28; |
600 case APP_LIST: | 611 case APP_LIST: |
601 return 29; | 612 return 29; |
602 case SUPERVISED_USER_SHARED_SETTINGS: | 613 case SUPERVISED_USER_SHARED_SETTINGS: |
603 return 30; | 614 return 30; |
604 case SYNCED_NOTIFICATION_APP_INFO: | 615 case SYNCED_NOTIFICATION_APP_INFO: |
605 return 31; | 616 return 31; |
| 617 case WIFI_CREDENTIALS: |
| 618 return 32; |
606 // Silence a compiler warning. | 619 // Silence a compiler warning. |
607 case MODEL_TYPE_COUNT: | 620 case MODEL_TYPE_COUNT: |
608 return 0; | 621 return 0; |
609 } | 622 } |
610 return 0; | 623 return 0; |
611 } | 624 } |
612 | 625 |
613 base::StringValue* ModelTypeToValue(ModelType model_type) { | 626 base::StringValue* ModelTypeToValue(ModelType model_type) { |
614 if (model_type >= FIRST_REAL_MODEL_TYPE) { | 627 if (model_type >= FIRST_REAL_MODEL_TYPE) { |
615 return new base::StringValue(ModelTypeToString(model_type)); | 628 return new base::StringValue(ModelTypeToString(model_type)); |
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
689 else if (model_type_string == "Favicon Tracking") | 702 else if (model_type_string == "Favicon Tracking") |
690 return FAVICON_TRACKING; | 703 return FAVICON_TRACKING; |
691 else if (model_type_string == "Managed User Settings") | 704 else if (model_type_string == "Managed User Settings") |
692 return SUPERVISED_USER_SETTINGS; | 705 return SUPERVISED_USER_SETTINGS; |
693 else if (model_type_string == "Managed Users") | 706 else if (model_type_string == "Managed Users") |
694 return SUPERVISED_USERS; | 707 return SUPERVISED_USERS; |
695 else if (model_type_string == "Managed User Shared Settings") | 708 else if (model_type_string == "Managed User Shared Settings") |
696 return SUPERVISED_USER_SHARED_SETTINGS; | 709 return SUPERVISED_USER_SHARED_SETTINGS; |
697 else if (model_type_string == "Articles") | 710 else if (model_type_string == "Articles") |
698 return ARTICLES; | 711 return ARTICLES; |
| 712 else if (model_type_string == "WiFi Credentials") |
| 713 return WIFI_CREDENTIALS; |
699 else if (model_type_string == "Tabs") | 714 else if (model_type_string == "Tabs") |
700 return PROXY_TABS; | 715 return PROXY_TABS; |
701 else | 716 else |
702 NOTREACHED() << "No known model type corresponding to " | 717 NOTREACHED() << "No known model type corresponding to " |
703 << model_type_string << "."; | 718 << model_type_string << "."; |
704 return UNSPECIFIED; | 719 return UNSPECIFIED; |
705 } | 720 } |
706 | 721 |
707 std::string ModelTypeSetToString(ModelTypeSet model_types) { | 722 std::string ModelTypeSetToString(ModelTypeSet model_types) { |
708 std::string result; | 723 std::string result; |
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
813 case FAVICON_TRACKING: | 828 case FAVICON_TRACKING: |
814 return "google_chrome_favicon_tracking"; | 829 return "google_chrome_favicon_tracking"; |
815 case SUPERVISED_USER_SETTINGS: | 830 case SUPERVISED_USER_SETTINGS: |
816 return "google_chrome_managed_user_settings"; | 831 return "google_chrome_managed_user_settings"; |
817 case SUPERVISED_USERS: | 832 case SUPERVISED_USERS: |
818 return "google_chrome_managed_users"; | 833 return "google_chrome_managed_users"; |
819 case SUPERVISED_USER_SHARED_SETTINGS: | 834 case SUPERVISED_USER_SHARED_SETTINGS: |
820 return "google_chrome_managed_user_shared_settings"; | 835 return "google_chrome_managed_user_shared_settings"; |
821 case ARTICLES: | 836 case ARTICLES: |
822 return "google_chrome_articles"; | 837 return "google_chrome_articles"; |
| 838 case WIFI_CREDENTIALS: |
| 839 return "google_chrome_wifi_credentials"; |
823 case PROXY_TABS: | 840 case PROXY_TABS: |
824 return std::string(); | 841 return std::string(); |
825 default: | 842 default: |
826 break; | 843 break; |
827 } | 844 } |
828 NOTREACHED() << "No known extension for model type."; | 845 NOTREACHED() << "No known extension for model type."; |
829 return "INVALID"; | 846 return "INVALID"; |
830 } | 847 } |
831 | 848 |
832 // TODO(akalin): Figure out a better way to do these mappings. | 849 // TODO(akalin): Figure out a better way to do these mappings. |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1064 | 1081 |
1065 bool IsProxyType(ModelType model_type) { | 1082 bool IsProxyType(ModelType model_type) { |
1066 return model_type >= FIRST_PROXY_TYPE && model_type <= LAST_PROXY_TYPE; | 1083 return model_type >= FIRST_PROXY_TYPE && model_type <= LAST_PROXY_TYPE; |
1067 } | 1084 } |
1068 | 1085 |
1069 bool IsActOnceDataType(ModelType model_type) { | 1086 bool IsActOnceDataType(ModelType model_type) { |
1070 return model_type == HISTORY_DELETE_DIRECTIVES; | 1087 return model_type == HISTORY_DELETE_DIRECTIVES; |
1071 } | 1088 } |
1072 | 1089 |
1073 } // namespace syncer | 1090 } // namespace syncer |
OLD | NEW |