diff options
author | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-03 01:30:56 +0000 |
---|---|---|
committer | akalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2012-07-03 01:30:56 +0000 |
commit | 002d391999fbbd290c9189056cd6262f827b825a (patch) | |
tree | bc400541b7c8e1b5833748f454b35f78e0f7ce9d /sync/sessions/sync_session.cc | |
parent | 2f30fff337549f07694b3ed02267f5f747a587aa (diff) | |
download | chromium_src-002d391999fbbd290c9189056cd6262f827b825a.zip chromium_src-002d391999fbbd290c9189056cd6262f827b825a.tar.gz chromium_src-002d391999fbbd290c9189056cd6262f827b825a.tar.bz2 |
[Sync] Move model_type* from syncable/ to base/
Also move enum_set* to base/.
This is the first step in moving ModelType et al. to the syncer
namespace (from syncer::syncable).
Move PurgeStalePayload() back to sync_session.cc.
Move ModelTypePayloadMapFromRoutingInfo() to model_safe_worker.* and rename it to ModelSafeRoutingInfoToPayloadMap().
BUG=128060
TEST=
Review URL: https://chromiumcodereview.appspot.com/10690071
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@145236 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'sync/sessions/sync_session.cc')
-rw-r--r-- | sync/sessions/sync_session.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/sync/sessions/sync_session.cc b/sync/sessions/sync_session.cc index da73b1a..19a643d 100644 --- a/sync/sessions/sync_session.cc +++ b/sync/sessions/sync_session.cc @@ -8,7 +8,8 @@ #include <iterator> #include "base/logging.h" -#include "sync/internal_api/public/syncable/model_type.h" +#include "sync/internal_api/public/base/model_type.h" +#include "sync/internal_api/public/engine/model_safe_worker.h" #include "sync/syncable/directory.h" namespace syncer { @@ -47,6 +48,23 @@ std::set<ModelSafeGroup> ComputeEnabledGroups( return enabled_groups; } +void PurgeStalePayload(syncable::ModelTypePayloadMap* original, + const ModelSafeRoutingInfo& routing_info) { + std::vector<syncable::ModelTypePayloadMap::iterator> iterators_to_delete; + for (syncable::ModelTypePayloadMap::iterator i = original->begin(); + i != original->end(); ++i) { + if (routing_info.end() == routing_info.find(i->first)) { + iterators_to_delete.push_back(i); + } + } + + for (std::vector<syncable::ModelTypePayloadMap::iterator>::iterator + it = iterators_to_delete.begin(); it != iterators_to_delete.end(); + ++it) { + original->erase(*it); + } +} + } // namesepace SyncSession::SyncSession(SyncSessionContext* context, Delegate* delegate, |