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

Unified Diff: chrome/browser/sync/engine/sync_scheduler.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/engine/sync_scheduler.h ('k') | chrome/browser/sync/engine/sync_scheduler_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/sync/engine/sync_scheduler.cc
diff --git a/chrome/browser/sync/engine/sync_scheduler.cc b/chrome/browser/sync/engine/sync_scheduler.cc
index c21749b9399c6ad6b7d94fa1216995b1fc5b4f58..138abb8af26310ade8a5a8d1a526664bc503734f 100644
--- a/chrome/browser/sync/engine/sync_scheduler.cc
+++ b/chrome/browser/sync/engine/sync_scheduler.cc
@@ -459,16 +459,16 @@ void SyncScheduler::ScheduleCleanupDisabledTypes() {
void SyncScheduler::ScheduleNudge(
const TimeDelta& delay,
- NudgeSource source, const ModelTypeBitSet& types,
+ NudgeSource source, syncable::ModelEnumSet types,
const tracked_objects::Location& nudge_location) {
DCHECK_EQ(MessageLoop::current(), sync_loop_);
SDVLOG_LOC(nudge_location, 2)
<< "Nudge scheduled with delay " << delay.InMilliseconds() << " ms, "
<< "source " << GetNudgeSourceString(source) << ", "
- << "types " << syncable::ModelTypeBitSetToString(types);
+ << "types " << syncable::ModelEnumSetToString(types);
ModelTypePayloadMap types_with_payloads =
- syncable::ModelTypePayloadMapFromBitSet(types, std::string());
+ syncable::ModelTypePayloadMapFromEnumSet(types, std::string());
PostTask(nudge_location, "ScheduleNudgeImpl",
base::Bind(&SyncScheduler::ScheduleNudgeImpl,
weak_ptr_factory_.GetWeakPtr(),
@@ -562,7 +562,7 @@ void SyncScheduler::ScheduleNudgeImpl(
// Helper to extract the routing info and workers corresponding to types in
// |types| from |registrar|.
-void GetModelSafeParamsForTypes(const ModelTypeBitSet& types,
+void GetModelSafeParamsForTypes(syncable::ModelEnumSet types,
ModelSafeWorkerRegistrar* registrar, ModelSafeRoutingInfo* routes,
std::vector<ModelSafeWorker*>* workers) {
ModelSafeRoutingInfo r_tmp;
@@ -573,19 +573,18 @@ void GetModelSafeParamsForTypes(const ModelTypeBitSet& types,
bool passive_group_added = false;
typedef std::vector<ModelSafeWorker*>::const_iterator iter;
- for (size_t i = syncable::FIRST_REAL_MODEL_TYPE; i < types.size(); ++i) {
- if (!types.test(i))
- continue;
- syncable::ModelType t = syncable::ModelTypeFromInt(i);
+ for (syncable::ModelEnumSet::Iterator it = types.First();
+ it.Good(); it.Inc()) {
+ const syncable::ModelType t = it.Get();
DCHECK_EQ(1U, r_tmp.count(t));
(*routes)[t] = r_tmp[t];
- iter it = std::find_if(w_tmp.begin(), w_tmp.end(),
- ModelSafeWorkerGroupIs(r_tmp[t]));
- if (it != w_tmp.end()) {
- iter it2 = std::find_if(workers->begin(), workers->end(),
- ModelSafeWorkerGroupIs(r_tmp[t]));
- if (it2 == workers->end())
- workers->push_back(*it);
+ iter w_tmp_it = std::find_if(w_tmp.begin(), w_tmp.end(),
+ ModelSafeWorkerGroupIs(r_tmp[t]));
+ if (w_tmp_it != w_tmp.end()) {
+ iter workers_it = std::find_if(workers->begin(), workers->end(),
+ ModelSafeWorkerGroupIs(r_tmp[t]));
+ if (workers_it == workers->end())
+ workers->push_back(*w_tmp_it);
if (r_tmp[t] == GROUP_PASSIVE)
passive_group_added = true;
@@ -606,7 +605,7 @@ void GetModelSafeParamsForTypes(const ModelTypeBitSet& types,
}
void SyncScheduler::ScheduleConfig(
- const ModelTypeBitSet& types,
+ syncable::ModelEnumSet types,
GetUpdatesCallerInfo::GetUpdatesSource source) {
DCHECK_EQ(MessageLoop::current(), sync_loop_);
DCHECK(IsConfigRelatedUpdateSourceValue(source));
« no previous file with comments | « chrome/browser/sync/engine/sync_scheduler.h ('k') | chrome/browser/sync/engine/sync_scheduler_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698