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

Unified Diff: chrome/browser/sync/syncable/model_type.cc

Issue 8772074: [Sync] Convert syncable/ directory to ModelEnumSet (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Fix typo Created 9 years 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/sync/syncable/model_type.h ('k') | chrome/browser/sync/syncable/model_type_payload_map.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/syncable/model_type.cc
diff --git a/chrome/browser/sync/syncable/model_type.cc b/chrome/browser/sync/syncable/model_type.cc
index f1accf59b7cd32493366bf6b2ea03b2eb64d009d..48b923ed26314870af1ef2e4997b392c981bcd2b 100644
--- a/chrome/browser/sync/syncable/model_type.cc
+++ b/chrome/browser/sync/syncable/model_type.cc
@@ -363,6 +363,17 @@ std::string ModelTypeBitSetToString(const ModelTypeBitSet& model_types) {
return result;
}
+std::string ModelEnumSetToString(ModelEnumSet model_types) {
+ std::string result;
+ for (ModelEnumSet::Iterator it = model_types.First(); it.Good(); it.Inc()) {
+ if (!result.empty()) {
+ result += ", ";
+ }
+ result += ModelTypeToString(it.Get());
+ }
+ return result;
+}
+
ModelTypeBitSet ModelTypeBitSetFromSet(const ModelTypeSet& set) {
ModelTypeBitSet bitset;
for (ModelTypeSet::const_iterator iter = set.begin(); iter != set.end();
@@ -383,6 +394,33 @@ ModelTypeSet ModelTypeBitSetToSet(const ModelTypeBitSet& bit_set) {
return set;
}
+ModelEnumSet ModelTypeBitSetToEnumSet(const ModelTypeBitSet& bitset) {
+ ModelEnumSet enum_set;
+ for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) {
+ if (bitset[i]) {
+ enum_set.Put(syncable::ModelTypeFromInt(i));
+ }
+ }
+ return enum_set;
+}
+
+ModelTypeSet ModelEnumSetToSet(ModelEnumSet enum_set) {
+ ModelTypeSet model_type_set;
+ for (ModelEnumSet::Iterator it = enum_set.First(); it.Good(); it.Inc()) {
+ model_type_set.insert(it.Get());
+ }
+ return model_type_set;
+}
+
+ModelEnumSet ModelTypeSetToEnumSet(const ModelTypeSet& model_type_set) {
+ ModelEnumSet enum_set;
+ for (ModelTypeSet::const_iterator it = model_type_set.begin();
+ it != model_type_set.end(); ++it) {
+ enum_set.Put(*it);
+ }
+ return enum_set;
+}
+
ListValue* ModelTypeBitSetToValue(const ModelTypeBitSet& model_types) {
ListValue* value = new ListValue();
for (int i = FIRST_REAL_MODEL_TYPE; i < MODEL_TYPE_COUNT; ++i) {
@@ -394,6 +432,15 @@ ListValue* ModelTypeBitSetToValue(const ModelTypeBitSet& model_types) {
return value;
}
+base::ListValue* ModelEnumSetToValue(ModelEnumSet model_types) {
+ ListValue* value = new ListValue();
+ for (ModelEnumSet::Iterator it = model_types.First(); it.Good(); it.Inc()) {
+ value->Append(
+ Value::CreateStringValue(ModelTypeToString(it.Get())));
+ }
+ return value;
+}
+
ModelTypeBitSet ModelTypeBitSetFromValue(const base::ListValue& value) {
ModelTypeBitSet result;
for (ListValue::const_iterator i = value.begin(); i != value.end(); ++i) {
@@ -419,6 +466,14 @@ ModelTypeSet ModelTypeSetFromValue(const base::ListValue& value) {
return result;
}
+ModelEnumSet ModelEnumSetFromValue(const base::ListValue& value) {
+ ModelEnumSet result;
+ for (ListValue::const_iterator i = value.begin(); i != value.end(); ++i) {
+ result.Put(ModelTypeFromValue(**i));
+ }
+ return result;
+}
+
// TODO(zea): remove all hardcoded tags in model associators and have them use
// this instead.
std::string ModelTypeToRootTag(ModelType type) {
« no previous file with comments | « chrome/browser/sync/syncable/model_type.h ('k') | chrome/browser/sync/syncable/model_type_payload_map.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698