summaryrefslogtreecommitdiffstats
path: root/sync/sessions/sync_session.cc
diff options
context:
space:
mode:
authorakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-03 01:30:56 +0000
committerakalin@chromium.org <akalin@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2012-07-03 01:30:56 +0000
commit002d391999fbbd290c9189056cd6262f827b825a (patch)
treebc400541b7c8e1b5833748f454b35f78e0f7ce9d /sync/sessions/sync_session.cc
parent2f30fff337549f07694b3ed02267f5f747a587aa (diff)
downloadchromium_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.cc20
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,